首页 文章

无法使用terraform创建的基础架构从EC2连接到RDS

提问于
浏览
0

我按照链接中提供的步骤手动创建了基础结构:connecting-to-a-database-within-an-amazon-vpc .

我可以完全从公共子网中的ec2连接私有子网中的RDS . 这正是我想要的 .

但是当我尝试使用terraform创建相同的复制品时,它只是没有连接 .

命令:

nslookup <my-hostname>

给了我私人IP .

命令:

telnet x.x.x.x 5432

导致“telnet:无法连接到远程主机:连接超时”

命令:

netstat -an | grep x.x.x.x

显示“SYN_SENT” .

我尝试通过添加0.0.0.0/0来允许RDS安全组中的所有IP . 那没用 .

我尝试手动创建RDS实例,但将其添加到terraform创建的VPC并尝试使用terraform创建的ec2实例进行连接 . 那没用 .

我错过了什么吗?任何帮助深表感谢 .

2 回答

  • 0

    故障排除步骤

    • 检查公共ec2实例上的安全组出口(出站规则),

    确保它允许带端口 5432 的出站规则访问rds(在私有子网中)

    • 检查rds实例上安全组的入口(入站规则) . 也许确定它允许来自公共ec2实例CIDR ips或安全组的端口 5432 .

    如果没有,请更新您的terraform代码 .

  • 0

    ec2实例位于公有子网中 . 这意味着理想情况下,流量将来自NAT网关 . 所以我建议编辑RDS的安全组规则添加规则以允许在端口5432上访问NAT网关的公共IP .

相关问题