Подключение к Aurora Serverless удаленно - PullRequest
0 голосов
/ 31 октября 2018

У меня есть кластер 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. Стоит ли искать другой хост базы данных?

1 Ответ

0 голосов
/ 06 ноября 2018

Когда вы создаете базу данных Aurora Serverless, вы настраиваете группу безопасности VPC, которая определяет правила, из которых можно открывать соединения (блок CIDR и порт). Затем вы можете предоставить доступ из этой группы безопасности другим по имени или просто запустить свой сервер приложений из той же группы безопасности, которая предоставит ему доступ. Вы не должны требовать переадресации порта SSH для подключения к БД, даже в контексте тестирования.

Здесь есть хорошее руководство: https://aws.amazon.com/getting-started/tutorials/configure-connect-serverless-mysql-database-aurora, и для получения дополнительной информации о группах безопасности баз данных, пожалуйста, обратитесь к https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html.

...