首页 > 解决方案 > 在 AWS Beanstalk 中建立与 AWS RDS SQL Express 数据库的连接

问题描述

我有一个弹性 beanstalk 网站和一个单独的 RDS 数据库 (SQL Express)。当我 ssh 进入 beanstalk 实例时,我可以连接到服务器上的数据库,以便正确设置安全组。但是,当我在我的应用程序中使用 sequelize 时,我无法连接到数据库。

我在 sequelize 中收到以下错误:

[SequelizeConnectionError]: Failed to lookup instance on web.cluster-qwertyuiop.us-west-2.rds.amazonaws.com - getaddrinfo ENOTFOUND web.cluster-qwertyuiop.us-west-2.rds.amazonaws.com
    at ConnectionManager.connect (/var/app/current/node_modules/sequelize/lib/dialects/mssql/connection-manager.js:145:17) {
  parent: ConnectionError: Failed to lookup instance on web.cluster-qwertyuiop.us-west-2.rds.amazonaws.com - getaddrinfo ENOTFOUND web.cluster-qwertyuiop.us-west-2.rds.amazonaws.com
      at ConnectionError (/var/app/current/node_modules/tedious/lib/errors.js:13:12)
      at /var/app/current/node_modules/tedious/lib/connection.js:1077:60
      at /var/app/current/node_modules/tedious/lib/instance-lookup.js:116:20
      at GetAddrInfoReqWrap.callback (/var/app/current/node_modules/tedious/lib/sender.js:140:16)
      at GetAddrInfoReqWrap.onlookupall [as oncomplete] (dns.js:74:17) {
    code: 'EINSTLOOKUP'
  },

这是我的连接字符串:

new Sequelize('DATABASE', username, password, {
    dialect: 'mssql',
    dialectOptions: {
        requestTimeout: 300000,
        options: {
            driver: 'SQL Server Native Client 11.0',
            instanceName: 'SQLEXPRESS',
            trustedConnection: true,
        },
    },
    logging: false,
    port: 1433,
    host: 'web.cluster-qwertyuiop.us-west-2.rds.amazonaws.com',
    pool: {
        max: 20,
        min: 3,
        idle: 20000,
        evict: 0,
        acquire: 20000,
        handleDisconnects: true,
    },

尝试连接到 MS SQL 实例时,几乎找不到在线内容。我已经坚持了几天了。

标签: node.jssequelize.jsamazon-elastic-beanstalkamazon-rdssql-server-express

解决方案


推荐阅读