如何排查 Amazon VPC 中的实例连接超时错误?

上次更新时间:2020 年 10 月 29 日

我无法连接到我 Amazon Virtual Private Cloud (Amazon VPC) 中的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。当我尝试连接时,连接会挂起,并且我会收到类似于“Network error: Connection timed out”的错误。如何修复此问题?

简短描述

AWS 为 Amazon EC2 资源提供多层安全防护,其中包括安全组和网络访问控制列表 (ACL)。请务必验证您 VPC 中的 Amazon EC2 实例的安全设置是否允许相关的访问。

注意:对于“Permission Denied”或“Connection Refused”错误,请参阅 如何排查使用 SSH 连接我的 Amazon EC2 Linux 实例时遇到的问题?

解决方法

查看配置中的以下设置。

公有和弹性 IP 地址

验证您的实例是否具有关联的公有 IP 地址弹性 IP 地址。有关详细信息,请参阅确定公有、私有和弹性 IP 地址。请务必使用此 IP 地址连接到该实例。

系统和实例状态检查

验证您的实例是否通过了系统和实例状态检查

安全组

向您的安全组添加规则,以允许使用 SSH 从您的 IP 地址访问您的实例。

网络 ACL

验证网络 ACL 是否允许从您的 IP 地址通过 SSH 访问您的实例,如下所示。有关示例配置,请参阅示例:控制对子网中实例的访问

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中的 Instances(实例)下,选择 Instances(实例)。
  3. 选择您的实例。
  4. 选择 Description(描述)视图。
  5. 记下 Subnet ID(子网 ID)。
  6. 打开 Amazon VPC 控制台
  7. 在导航窗格中的 Virtual Private Cloud 下,选择 Subnets(子网)。
  8. 在内容窗格中,选择您在第 5 步中记下的 Subnet ID(子网 ID)。
  9. 选择 Description(描述)视图。
  10. 选择 Network ACL(网络 ACL)值。
    重要提示:如果有多个子网与您的实例关联,请为每个子网完成步骤 10-15。
  11. 再次选择该网络 ACL。
  12. 选择 Inbound Rules(入站规则)视图。
  13. 检查入站规则是否与默认网络 ACL 配置不同。如果规则不同,则添加规则以允许前往/来自您的 IP 地址的 SSH 入站流量。
  14. 选择 Outbound Rules(出站规则)视图。
  15. 检查出站规则是否与默认网络 ACL 配置不同。如果规则不同,则添加规则以允许前往/来自您的 IP 地址的 SSH 出站流量。

VPC 路由表

验证您的 VPC 路由表是否允许往来于互联网流量。

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中的 Instances(实例)下,选择 Instances(实例)。
  3. 选择您的实例。
  4. 选择 Description(描述)视图。
  5. 记下 VPC ID
  6. 打开 Amazon VPC 控制台
  7. 在导航窗格中的 Virtual Private Cloud 下,选择 Route Tables(路由表)。
  8. 选择您在第 5 步中记下的 VPC ID 的路由表。
  9. 选择 Routes(路由)视图。
  10. 验证您是否有指向您的互联网网关的默认路由(目的地为 0.0.0.0/0 的路由)。如果没有指向您的互联网网关的默认路由,则在导航窗格中的 Virtual Private Cloud 下选择 Internet Gateways(互联网网关)。
  11. 选择您的 VPC 的互联网网关。
  12. Description(描述)视图中,记下此互联网网关的 ID 值。
  13. 添加新的路由,其 Destination(目的地)为 0.0.0.0/0Target(目标)为您的互联网网关 ID。请务必保存您的新路由表配置。

本地防火墙和路由表

如果仍遇到连接问题,请检查是否与本地防火墙规则或本地路由表发生冲突。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?