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

仅本地开发可连接AWS数据库,部署后连接超时求助

排查AWS Amplify应用数据库连接超时问题

针对你遇到的ER_GET_CONNECTION_TIMEOUT错误,结合本地正常、云端报错的现象,按以下方向排查:

安全组入站规则遗漏Amplify访问权限

你本地能连接是因为安全组放行了你的本地IP,但Amplify部署的应用服务器IP不在当前规则里,导致数据库拒绝连接超时:

  • 如果用的是AWS RDS,先确认Amplify的部署网络环境:
    • 若Amplify是无VPC部署:需要将对应AWS区域的Amplify服务IP段添加到RDS安全组的入站规则(可通过AWS官方文档查询区域IP,也可临时开放0.0.0.0/0测试,生产环境务必收紧)。
    • 若Amplify配置了VPC访问:直接将Amplify使用的安全组或子网IP段添加到RDS安全组的入站规则,类型选对应数据库的端口(比如MySQL的3306)。

数据库连接数耗尽

该错误也可能是数据库可用连接数被占满:

  • 登录RDS控制台,查看监控面板的Database Connections指标,确认是否达到实例的最大连接数上限。
  • 若连接数已满,可通过修改RDS参数组的max_connections值调高上限,同时优化应用的数据库连接池配置(比如设置连接超时回收、减少闲置连接)。

IAM认证权限配置问题(若使用IAM方式连接数据库)

如果你的应用通过IAM角色认证连接RDS,需检查Amplify的执行角色权限:

  • 给Amplify服务角色添加如下IAM策略,替换占位符为你的实际信息:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "rds-db:connect",
                "Resource": "arn:aws:rds-db:<区域ID>:<账户ID>:dbuser:<RDS资源ID>/<数据库用户名>"
            }
        ]
    }
    
  • 同时在RDS数据库中创建关联该IAM角色的用户:
    CREATE USER 'iam_auth_user' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';
    GRANT ALL PRIVILEGES ON your_db.* TO 'iam_auth_user';
    FLUSH PRIVILEGES;
    

VPC网络连通性问题(Amplify部署在VPC内时)

若Amplify配置了VPC访问,需确认:

  • Amplify的子网与RDS实例的子网属于同一VPC,或已配置VPC peering。
  • RDS安全组允许Amplify子网的IP访问。
  • 检查路由表是否存在指向RDS子网的有效路由。

内容的提问来源于stack exchange,提问作者Gh05d

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:02:11