通过 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 3306
和 I 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'
});
我的 Elasticbeantalk 环境出现问题,不允许 EC2 实例连接到我的 RDS 实例。我似乎无法确定这可能是因为我将 RDS 安全组配置为允许 MYSQL 连接任何 IP,并且在我的 EC2 实例安全组中具有相同的入站规则。我使用 nc -zv test-db.cffvlzfsdafasf6x7kir.us-east-2.rds.amazonaws.com 3306
和 I 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'
});