首页 >数据库 >mysql教程 >为什么我无法从我的 EC2 实例连接到我的 RDS 实例:排查防火墙和 DNS 问题?

为什么我无法从我的 EC2 实例连接到我的 RDS 实例:排查防火墙和 DNS 问题?

Barbara Streisand
Barbara Streisand原创
2024-10-26 20:21:30341浏览

Why Can't I Connect to My RDS Instance from My EC2 Instance: Troubleshooting Firewall and DNS Issues?

排查 EC2 和 RDS 实例之间的 RDS 连接问题

尝试在 EC2 实例和 RDS 实例之间建立连接时,出现各种问题可能会出现,包括超时和连接失败。本文将深入探讨与防火墙和 DNS 设置相关的特定问题,如错误消息“ERROR 2003 (HY000): Can't connect to MySQL server on 'mysql..us-east-1.rds.amazonaws.com' (110)"。

理解问题

出现的问题源于无法从 EC2 实例连接到 RDS 实例,即使两者都位于美国东部地区。已实现安全组配置允许访问,但连接仍然失败,出现超时错误。

解决防火墙问题

要解决此问题,需要配置 RDS 安全组以允许来自 EC2 实例的传入连接。虽然 RDS 仪表板提供了“安全组”选项,但这不是相关设置。对于入站访问 RDS 实例的 3306 端口,编辑 RDS 实例的安全组规则至关重要。

编辑 RDS 入站规则

    导航到 RDS 实例列表。
  1. 选择受影响的实例。
  2. 单击“安全组规则”部分。
  3. 切换到“入站规则”选项卡,然后按“编辑”。
  4. 修改“源”字段以包含 EC2 实例的 IP 地址或 IPv4 CIDR 块。

获取 EC2 实例的私有 IP

要确定“源”字段的 EC2 实例的私有 IP 地址:

    通过 SSH 登录实例并运行命令“ip addr”。
  • 在浏览器中使用 EC2 Manager 并参阅实例详细信息中的“私有 IP”部分。

其他注意事项

    确保 EC2 实例自己的安全组允许到 RDS 实例的端口 3306 的出站连接。
  • 验证 RDS 实例有一个安全组允许来自 EC2 实例的安全组的入站流量。
  • 检查 RDS 实例是否正在运行且可用。

以上是为什么我无法从我的 EC2 实例连接到我的 RDS 实例:排查防火墙和 DNS 问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn