node.js - 在 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 实例时,几乎找不到在线内容。我已经坚持了几天了。
解决方案
推荐阅读
- javascript - 无法在第二页访问。评估在第一页中定义的变量。评估(node.js puppeteer)
- python - 如何创建n个参数的方程生成器以与scipy一起使用?
- php - 在 Laravel 中从数据库存储和加载 JSON 的最佳方法
- laravel - Laravel Livewire 保存到集合并在组件视图中显示
- python - Matplotlib log(log(x)) 比例
- reactjs - 使用 React / Redux 发布搜索栏
- android - #Android 对 JSON 文件的 HTTP 请求中的错误
- java - 如何使 GUI 中的文本字段将文本提交到控制台?
- r - 如何在ggplot2上的文本框标签和数据点之间绘制连接线?
- flutter - Flutter - 文本小部件更新一次迭代太晚了