You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 02:45:19