通过 EB 使用 EC2 实例连接到 RDS 端点的问题

Issue Connecting to RDS Endpoint with EC2 Instance through EB

我的 Elasticbeantalk 环境出现问题,不允许 EC2 实例连接到我的 RDS 实例。我似乎无法确定这可能是因为我将 RDS 安全组配置为允许 MYSQL 连接任何 IP,并且在我的 EC2 实例安全组中具有相同的入站规则。我使用 nc -zv test-db.cffvlzfsdafasf6x7kir.us-east-2.rds.amazonaws.com 3306I Connection to ... succeeded! 作为响应从我的命令行测试了我的端点连接,这表明我的安全组在 RDS 实例上没有问题,但在我的 EC2 实例日志中我有Unhandled rejection SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306.

这是我通过 Sequelize 的连接,我检查了我的环境变量的用户名和密码,我确认它们是正确的:

var Sequelize = require('sequelize');
var path = require('path');
var sequelize = new Sequelize(process.env.LOCAL_DATABASE, process.env.RDS_DATABASE || process.env.LOCAL_USERNAME, process.env.RDS_USERNAME || process.env.LOCAL_PASSWORD, process.env.RDS_PASSWORD, {
    host: process.env.RDS_HOSTNAME || 'localhost',
    port: process.env.RDS_PORT || '3306',
    dialect: 'mysql'
});

关于我应该执行的清单或我可能哪里出错的任何建议?

这部分全错了:

var sequelize = new Sequelize(process.env.LOCAL_DATABASE, process.env.RDS_DATABASE || process.env.LOCAL_USERNAME, process.env.RDS_USERNAME || process.env.LOCAL_PASSWORD, process.env.RDS_PASSWORD, {
    host: process.env.RDS_HOSTNAME || 'localhost',
    port: process.env.RDS_PORT || '3306',
    dialect: 'mysql'
});

您设法在需要放置 , 的地方放置了 ||,在本应放置 || 的位置放置了 ,。试试这个:

var sequelize = new Sequelize(process.env.LOCAL_DATABASE || process.env.RDS_DATABASE, 
        process.env.LOCAL_USERNAME || process.env.RDS_USERNAME, 
        process.env.LOCAL_PASSWORD || process.env.RDS_PASSWORD, {
    host: process.env.RDS_HOSTNAME || 'localhost',
    port: process.env.RDS_PORT || '3306',
    dialect: 'mysql'
});