使用节点连接到aurora mysql serverless

dfddblmv  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(373)

我试图使用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连接。我一定错过了什么。

7jmck4yq

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层。

相关问题