Mac M1(Sonoma 14.2.1)无法连接Amazon RDS实例求助
问题描述
我正通过Macbook(M1,Sonoma 14.2.1)连接Amazon RDS实例,但持续遇到错误。起初我以为是实例未开启公网访问,现已修改该设置。
错误信息
Unable to connect to the database: HostNotFoundError [SequelizeHostNotFoundError]: getaddrinfo ENOTFOUND your_amazon_rds_host at Client._connectionCallback (/Users/as/Desktop/sample_app/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:134:24) at Client._handleErrorWhileConnecting (/Users/as/Desktop/sample_app/node_modules/pg/lib/client.js:327:19) at Client._handleErrorEvent (/Users/as/Desktop/sample_app/node_modules/pg/lib/client.js:337:19) at Connection.emit (node:events:519:28) at Socket.reportStreamError (/Users/as/Desktop/sample_app/node_modules/pg/lib/connection.js:58:12) at Socket.emit (node:events:519:28) at emitErrorNT (node:internal/streams/destroy:169:8) at emitErrorCloseNT (node:internal/streams/destroy:128:3) at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { parent: Error: getaddrinfo ENOTFOUND your_amazon_rds_host at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) { errno: -3008, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'your_amazon_rds_host' }, original: Error: getaddrinfo ENOTFOUND your_amazon_rds_host at GetAddrInfoReqWrap.onlookupall [as oncomplete] (node:dns:118:26) { errno: -3008, code: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'your_amazon_rds_host' } }
.env配置信息
AWS RDS Instance: Endpoint: database-1.servername.us-east-1.rds.amazonaws.com Username: postgres Password: RandomPassword DB Instance Identifier: database-1 Database Port: 5432
安全组入站规则
Type: All traffic Protocol: All Port Range: All
请问我遗漏了什么配置?
解决方案
从错误信息看,核心问题是DNS解析失败,系统找不到your_amazon_rds_host这个主机名。结合你的.env配置,大概率是Sequelize连接配置里的主机地址写错了,没替换成实际的RDS端点。按以下步骤排查:
核对Sequelize连接配置
检查你的数据库连接代码(比如config/database.js或直接引用.env的文件),确保host字段的值是.env里的database-1.servername.us-east-1.rds.amazonaws.com,而非占位符your_amazon_rds_host。验证RDS端点的可访问性
在Mac终端执行ping命令测试DNS解析:ping database-1.servername.us-east-1.rds.amazonaws.com如果返回"unknown host",说明网络无法解析该域名,可能是:
- Mac的DNS设置异常,可尝试切换到公共DNS(如8.8.8.8)
- RDS实例的公网访问未正确开启:回到AWS控制台,检查RDS实例的「Connectivity & security」标签,确认「Publicly accessible」为"Yes",且VPC路由表存在指向Internet Gateway的路由。
安全组补充检查
虽然你设置了全流量入站规则,但要确保规则的源地址不是仅内网IP或错误范围。测试阶段可暂时将源地址设为0.0.0.0/0(所有IP),确认能连接后再缩小到你的公网IP。确认RDS实例状态
检查RDS实例状态是否为"available",若处于"creating"或"modifying"状态,需等待状态稳定后再尝试连接。
内容的提问来源于stack exchange,提问作者user2762934
相关产品推荐
相关产品推荐

