amazon-web-services - AWS Elastic Beanstalk 未在 LIVE 上连接到 RDS(在 Localhost 上工作)
问题描述
我有一个托管在 Elastic Beanstalk 上的 Node/Express 应用程序,它也与 MySQL RDS 交互。
我能够在 localhost 和使用 SSH 上成功连接到数据库。
在现场,连接到数据库的路由不连接。日志有以下错误:
Jul 9 00:49:34 ip-172-31-0-183 web: (node:16716)
UnhandledPromiseRejectionWarning: Error: Access denied for user 'darcy'@'172.31.0.183' (using password: YES)
我怀疑该错误是由于我对 VPC 的安全设置造成的。我已按照此处的说明进行操作:https ://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html 。但是,似乎无法解决问题!?
作为参考,这是尝试连接到数据库的代码:
const mysql = require('mysql2/promise');
const db = async (sqlQuery) => {
const data = await mysql
.createConnection({
host: process.env.RDS_HOSTNAME,
user: process.env.RDS_USERNAME,
password: process.env.RDS_PASSWORD,
port: process.env.RDS_PORT,
database: process.env.RDS_DB_NAME,
})
.then((conn) => conn.query(sqlQuery))
.then(([rows, fields]) => {
return rows;
});
return data;
};
解决方案
推荐阅读
- ios - TableView 项目应该加载另一个 TableView
- javascript - 影子根 getElementsByClassName
- solidity - TypeError:函数中参数的数据位置必须是“内存”,但没有给出
- python - 用 NumPy 中的列表元素替换数组元素
- sas - SAS 缺失值发现
- reactjs - 动作必须是普通对象。Redux 不工作
- find-occurrences - Linux:递归查找所有没有匹配 .tif 的 .txt 文件
- javascript - 图表始终为空
- opengl - glMultiDrawElementsIndirect 自定义 drawID,每个 DrawElementsIndirectCommand 有多个实例
- c++ - 使用 FFmpeg 库处理 GIF - 在 av_parser_init 中找不到解析器