连接sequelize到aws rds时连接被拒绝

时间:2018-05-08 13:59:21

标签: mysql node.js amazon-web-services sequelize.js

我试图以各种可能的方式连接到aws rds并且在使用sequelize时我得到连接拒绝错误,所以我想知道在建立连接时是否需要设置或包含设置。代码在我的本地机器上工作,如果我推送到heroku,但是我需要为这个项目使用aws实例。

我使用sequelize CLI生成一个index.js文件,其代码为:

var path      = require('path');
var Sequelize = require('sequelize');
var basename  = path.basename(__filename);
const config    = require(path.join(__dirname,'../config/config.js'));
const db        = {};

console.log('config: ',config);

if (config.env === 'production') {
    console.log('i ran');
  var sequelize = new Sequelize(config.use_env_variable);
} else {
    console.log('else ran');
      var sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, {
      dialect:config.db.dialect});
}

抛出的错误是: enter image description here

正如你所看到的,config变量就是这样做的,我确保设置了env变量。我已经三次检查以确保用户名和密码是正确的。我也尝试使用aws提供的端点而不是localhost但是也失败了。我已经确保更改aws上的安全设置以允许任何IP地址访问它并且我已成功使用mysql工作台进行连接,因此必须有一些特定于sequelize或我使用的代码正确的其他东西?

更新 我的config.js文件是这样的: enter image description here

2 个答案:

答案 0 :(得分:0)

万一有人遇到与亚马逊的连接问题...

您的主机设置为“本地主机”,但是必须将其设置为您要连接的主机(而不是来自)。在aws rds情况下,它将看起来像这样:

some-rds-name-inserted-here.74389nctj.eu-west-2.rds.amazonaws.com

答案 1 :(得分:0)

检查您的 RDS 网络连接是否在您或您的托管服务提供商区域可用。