跳至内容

如何排查通过集中式出站 VPC 的中转网关和 VPC 互联网连接问题?

2 分钟阅读
0

我无法通过中转网关和集中式出站 VPC 路由的虚拟私有云 (VPC) 资源访问互联网。

简短描述

通过集中式出站 VPC 进行互联网连接需要特定的路由和安全配置。有关架构详细信息,请参阅使用 NAT 网关与 AWS Network Firewall 实现集中式 IPv4 出站

解决方法

**注意:**本文假定 Amazon Elastic Compute Cloud (Amazon EC2) 实例为源资源。在检查资源配置之前,请确定连接到互联网的资源。如果您使用其他资源,请打开 AWS 服务的 AWS 管理控制台,验证子网和安全组配置。

验证源 VPC 资源和配置

完成以下步骤:

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Instances(实例)。
  3. 识别并选择无法访问互联网的 EC2 实例。
  4. 选择 Security(安全)选项卡。
  5. 验证源 EC2 实例的 Outbound rules(出站规则)是否允许互联网流量。
  6. 在详细信息窗格上,选择 Networking(联网)选项卡。
  7. 记下托管该实例的 VPC、子网和可用区。
  8. 选择与该实例关联的子网的超链接,然后在新标签页中打开该链接。
  9. 打开 Amazon Virtual Private Cloud (Amazon VPC) 控制台
  10. 选择子网,然后从 Details(详细信息)窗格中确认以下配置:
    Network ACL(网络 ACL)下,确认 Inbound rules(入站规则)和 Outbound rules(出站规则)允许互联网流量。
    Route table(路由表)下,验证默认路由 0.0.0.0/0 是否存在,并指向中转网关作为下一跳。如果此路由不存在,则将默认路由 0.0.0.0/0 添加到路由表,并将中转网关作为下一跳。

检查 VPC 中转网关连接

完成以下步骤:

  1. 打开 Amazon VPC 控制台
  2. 在导航窗格的 Transit gateways(中转网关)下,选择 Transit gateway attachments(中转网关连接)。
  3. 输入之前确定的 VPC ID,筛选并查看正确的 VPC 连接。
  4. Details(详细信息)窗格中,查看 Subnet IDs(子网 ID)字段。然后,验证列出的子网中至少有一个与您的实例位于同一可用区。

确认网络 ACL 关联和配置

完成以下步骤:

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中的 Network & Security(网络与安全)下,选择 Network Interfaces(网络接口)。
  3. 在搜索字段中,使用 Interface Type = transit_gateway(接口类型 = transit_gateway)筛选条件。
  4. 从结果中,选择与源 VPC 中转网关连接关联的子网 ID,然后在新选项卡中打开详细信息。
  5. 从新选项卡中,再次选择该子网。
  6. 在详细信息窗格中,选择 Network ACL(网络 ACL)。
  7. 检查您的网络 ACL 规则是否满足以下要求:
    Outbound rules(出站规则)选项卡上,验证出站规则是否包含目标公有 IP 地址。
    Inbound rules(入站规则)选项卡上,验证入站规则是否包含 NAT 网关的私有 IP 地址。

**注意:**对于中转网关子网,最佳做法是将网络 ACL 的入站和出站规则配置为开放状态。

检查中转网关关联和路由表传播

完成以下步骤:

  1. 打开 Amazon VPC 控制台
  2. 在导航窗格的 Transit gateways(中转网关)下,选择 Transit gateway attachments(中转网关连接)。
  3. 在搜索字段中,输入源 EC2 实例的 VPC ID。然后,选择关联路由表的 ID。
  4. Details(详细信息)窗格中,选择 Routes(路由)。
  5. 验证路由表是否包含指向出站 VPC 连接的目标公有 IP 地址或默认路由。

验证出站互联网流量和返回路由的出站 VPC 路由配置

识别中转网关接口和子网配置

完成以下步骤:

  1. 从托管出站 VPC 的 AWS 账户打开 Amazon EC2 控制台
  2. 在导航窗格中的 Network and Security(网络与安全)下,选择 Network Interfaces(网络接口)。
  3. 在搜索字段中,输入 Interface Type = transit_gateway(接口类型 = transit_gateway)筛选条件。
  4. 从搜索结果中,记下托管出站 VPC 中转网关连接的每个子网。

验证出站互联网流量路由

完成以下步骤:

  1. 打开 Amazon VPC 控制台
  2. 在导航窗格中的 Virtual private cloud(虚拟私有云)下,选择 Route tables(路由表)。
  3. 在搜索字段中,输入之前记下的子网 ID,搜索与该子网关联的路由表。
  4. 选择路由表,然后在 Details(详细信息)窗格中,选择 Routes(路由)。
  5. 验证路由表是否包含默认路由或目标公共前缀并指向 NAT 网关。
  6. 对每个子网 ID 重复步骤 3 到 5。

验证网络 ACL 和 NAT 网关配置

完成以下步骤:

  1. Amazon VPC 控制台的导航窗格中,在 Security(安全)下选择 Network ACLs(网络 ACL)。
  2. 在搜索字段中,输入子网 ID,搜索与每个子网关联的网络 ACL。
  3. 验证网络 ACL 的出站规则是否允许流向目标公有 IP 地址的流量,以及入站规则是否允许来自 NAT 网关私有 IP 地址的流量。
  4. 在导航窗格中的 Virtual private cloud(虚拟私有云)下,选择 NAT gateway(NAT 网关)。
  5. 记下每个 NAT 网关用于互联网绑定流量的路由表和可用区。

验证返回流量路由

完成以下步骤:

  1. Amazon VPC 控制台的导航窗格中,在 Virtual private cloud(虚拟私有云)下选择 Route tables(路由表)。
  2. 对于每个已识别的 NAT 网关路由表,验证其是否包含默认路由 0.0.0.0/0 或目标公共前缀,并将互联网网关作为下一跳。
  3. 对于每个已识别的路由表,验证其是否包含将来自互联网的返回流量定向回源实例的路由。

验证来自中转网关的返回路由

完成以下步骤:

  1. Amazon VPC 控制台的导航窗格中,在 Transit gateways(中转网关)下选择 Transit gateway attachments(中转网关连接)。
  2. 在搜索字段中,输入出站 VPC ID。
  3. 选择出站 VPC 的路由表 ID。
  4. 验证路由表是否包含原始源的 CIDR 数据块。

相关信息

使用 NAT 网关实现集中式 IPv4 出站

AWS Transit Gateway 的 VPC 流日志简介

AWS 官方已更新 7 个月前