我试图使用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成功地连接到数据库,但不能使用节点连接。我一定是漏掉了什么。
发布于 2018-10-16 19:08:05
Aurora Serverless使用的内部AWS网络设置目前只支持来自VPC内部的连接,并且它必须是部署无服务器集群的相同的VPC。
问:如何连接到Aurora Serverless无数据库集群? 您可以从运行在同一(VPC)中的客户端应用程序中访问Aurora集群。您不能给集群一个公共IP地址。 https://aws.amazon.com/rds/aurora/faqs/#serverless
出于架构上类似的原因,Amazon也有同样的限制。您可以在EFS中使用work around限制,Aurora也可以使用相同的解决方法,但是您需要完全禁用健康检查,因为这些健康检查连接将使实例始终处于活动状态。将数据库暴露在Internet上是最好避免的做法。
您还可以使用一些VPN解决方案。它们需要基于实例,并且可能需要使用NAT来伪装VPN实例内部地址后面的客户地址--这实际上就是上面提到的代理解决方案所做的,但在另一个OSI层。
https://stackoverflow.com/questions/52824948
复制相似问题