gpt4 book ai didi

mysql - 远程连接到 Aurora Serverless

转载 作者:行者123 更新时间:2023-11-29 07:27:32 26 4
gpt4 key购买 nike

我有一个运行 MySQL 的 Aurora Serverless 数据库集群。我正在尝试编写一个从脚本中获取字符串并将其放入数据库的应用程序。

我已经能够使用 PuTTY 中的 ec2、ec2 上的 Node 程序和 MySQL Workbench 成功连接到集群,但我无法使用自己的代码。我正在尝试使用 Node 模块 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 的情况下与它真正对话。我应该寻找不同的数据库主机吗?

最佳答案

当您创建 Aurora Serverless 数据库时,您可以配置一个 VPC 安全组,该安全组规定了有关可以从何处打开连接的规则(CIDR block 和端口)。然后,您可以通过名称将此安全组的访问权限授予其他人,或者只是从同一安全组内启动您的应用程序服务器,这将为其提供访问权限。即使在测试环境中,您也不应该要求 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 .

关于mysql - 远程连接到 Aurora Serverless,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53090051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com