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

无法连接Amazon Aurora PostgreSQL集群的AWS RDS Proxy求助

问题描述

我为Amazon Aurora PostgreSQL数据库集群创建了AWS RDS Proxy。在同一VPC的堡垒机中,我可以连接数据库,但无法连接代理:

代理连接测试

# proxy
nc -zv test123.proxy-xxx.us-west-2.rds.amazonaws.com 5432
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection to xx.xx.xx.xx failed: Connection timed out.

数据库端点连接测试

# database endpoint
nc -zv xxxrdsdatabasecluster.cluster-xxx.us-west-2.rds.amazonaws.com 3307
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to x.x.x.x:3307.
Ncat: 0 bytes sent, 0 bytes received in 0.01 seconds.

数据库运行正常,我可通过psql连接,也能对接应用。为何无法连接代理?

我已按照官方故障排查步骤操作,所有实例的TargetHealth.State均显示为"AVAILABLE"。我通过Web控制台创建代理,选择默认选项并指定了格式正确的包含登录凭证的密钥,不确定还能尝试哪些操作。

是否需要配置IAM权限?是否需要为代理授予特殊的IAM连接权限?还有哪些排查方向?


排查方案

1. 安全组配置检查

  • 确认RDS Proxy的安全组允许堡垒机所在安全组/IP地址的5432端口入站流量。数据库能连通不代表代理安全组配置相同,很多时候会忽略给代理单独配置入站规则。
  • 同时检查代理安全组的出站规则,确保允许向数据库集群的端口(此处为3307)发起流量。

2. VPC子网与网络ACL验证

  • 检查RDS Proxy使用的子网是否和堡垒机、数据库集群在同一VPC下,且子网路由表允许内部流量互通。
  • 确认代理所在子网的网络ACL没有禁止5432端口的入站/出站流量,网络ACL的规则是无状态的,入站和出站都要放行。

3. IAM与数据库权限检查

  • 如果使用IAM认证连接代理,需确保堡垒机使用的IAM实体(角色/用户)拥有rds-db:connect权限,且资源范围指定了目标代理的ARN。
  • 如果使用数据库凭证连接,需做两项验证:
    • 代理关联的Secrets Manager密钥中的用户名和密码能正常登录数据库;
    • 该数据库用户已被授予rds_proxy_connect角色:GRANT rds_proxy_connect TO your_db_user;(PostgreSQL环境需手动执行此操作)。

4. 代理自身状态与端点验证

  • 确认代理状态为AVAILABLE,可通过AWS CLI执行:aws rds describe-db-proxies --db-proxy-name test123查看。
  • 检查使用的代理端点是读写/只读端点,且端口确实为5432(RDS Proxy默认端口,除非创建时手动修改)。

5. 堡垒机本地网络限制排查

  • 确认堡垒机的安全组没有出站规则限制5432端口流量,虽然数据库3307能通,但可能堡垒机对5432有单独限制。
  • 检查堡垒机本地防火墙(如iptables、firewalld)是否禁止了对代理端点的5432端口访问。

6. 代理日志分析

  • 启用RDS Proxy的CloudWatch日志记录,查看连接失败的具体日志信息,这能直接定位是网络阻断还是认证类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 14:22:45