我试图使用mysql模块连接到我的aurora无服务器mysql db集群,但是我的连接总是超时。
const mysql = require('mysql');
//create connection
const db = mysql.createConnection({
host : 'database endpoint',
user : 'root',
password : 'pass',
database : 'testdb'
});
//connect
db.connect((err) => {
if(err){
throw err;
console.log('connection failed');
}
console.log('mysql connected...');
})
db.end();
我的群集没有公共ip地址,因此我正在尝试使用终结点。我已使用cloud9成功连接到db,但无法使用node连接。我一定错过了什么。
1条答案
按热度按时间7jmck4yq1#
aurora serverless使用内部aws网络设置,当前仅支持vpc内部的连接,并且必须是部署serverless群集的同一vpc。
问:如何连接到aurora无服务器db集群?
您可以从运行在同一amazon虚拟私有云(vpc)中的客户机应用程序中访问aurora无服务器db集群。你不能给aurora无服务器db集群一个公共ip地址。
https://aws.amazon.com/rds/aurora/faqs/#serverless
同样的限制也适用于amazonfs,因为架构上类似的原因。您可以绕过efs中的限制,同样的解决方法也可以用于aurora serverless,但是您需要完全禁用健康检查,因为那些健康检查连接将使示例始终保持活动状态。最好避免将数据库暴露在互联网上。
您也可以使用一些vpn解决方案。它们需要基于示例,并且可能需要使用nat将客户机地址伪装在vpn示例的内部地址后面——这实际上是上面提到的代理解决方案所做的,但是在不同的osi层。