VPC对等环境下AWS Batch作业无法连接RDS排查求助
问题翻译
我有两个已建立对等连接的VPC(A和B)。VPC B中部署了不可公开访问的PostgreSQL类型RDS实例,其安全组已允许对等VPC的CIDR段访问5432端口。VPC A中的Lambda可正常连接该数据库,但同一VPC中运行在EC2上的Batch作业无法连接,报错:connection to server at "mydatabase.eu-west-2.rds.amazonaws.com" (10.50.0.32), port 5432 failed: timeout expired。已知安全组配置无误(Lambda可连接),且启用DNS解析后问题仍未解决,请问Batch配置中可能遗漏了什么?
排查方向(Batch配置遗漏项)
- 计算环境子网的路由表缺失对等连接路由:检查Batch计算环境使用的VPC A子网路由表,是否添加了将VPC B的CIDR段指向VPC对等连接(pcx-xxxxxx)的路由条目。Lambda会自动继承VPC的默认路由配置,但如果Batch所在子网的路由表未配置这条路由,EC2实例无法将流量发往VPC B的RDS。
- 计算环境安全组出站规则未放行5432端口:确认Batch计算环境关联的安全组是否允许出站流量访问VPC B的CIDR段的5432端口。RDS的入站规则已放行,但Batch EC2实例的安全组如果限制了出站到该端口的流量,会直接导致连接超时。
- 计算环境子网的可用区路由可达性问题:检查RDS实例所在的可用区,是否与Batch计算环境使用的VPC A子网的可用区存在对等连接的路由通路。部分VPC对等连接可能仅在特定可用区间配置了路由,跨可用区的EC2实例会出现访问不通的情况。
- VPC端点配置遗漏(若依赖私有DNS):如果通过RDS私有域名访问,确认Batch计算环境所在VPC是否配置了RDS VPC端点,且端点安全组允许Batch EC2实例的访问(虽然你已启用DNS解析,但这是补充排查点)。
内容的提问来源于stack exchange,提问作者James N
相关产品推荐
相关产品推荐

