У меня есть кластер Aurora Serverless db с MySQL. Я пытаюсь написать приложение, которое берет строку из сценария и помещает ее в базу данных.
Мне удалось успешно подключиться к кластеру с помощью моего ec2 в PuTTY, узловой программы на ec2 и MySQL Workbench, но я не смог с моим собственным кодом. Я пытаюсь использовать узлы модулей ssh2 и mysql2.
var mysql = require('mysql2');
var Client = require('ssh2').Client;
var ssh = new Client();
ssh.on('ready', function() {
ssh.forwardOut(
'127.0.0.1',
12345,
'127.0.0.1',
3306,
function (err, stream) {
if (err) throw err;
var sql = mysql.createConnection({
host: 'my db endpoint',
user: 'root',
password: 'pass',
database: 'testdb',
stream: stream
//sql stuff
});
}).connect({
host: 'ec2-publicdns',
port: '22',
username: 'ec2-user',
privateKey: require('fs').readFileSync('pkeyssh') //pem key converted to openssh using PuTTYgen
});
Когда я запускаю это, я получаю: Error: (SSH) Channel open failure: Connection refused
Кроме того, Aurora serverless правильное решение для меня? Кажется, что нет способа по-настоящему поговорить с ним, не пройдя через ec2. Стоит ли искать другой хост базы данных?