如何通过 Transit Gateway 对从本地到 VPC 的连接进行问题排查?

上次更新时间:2022 年 7 月 27 日

我的 AWS Direct Connect 或 AWS Site-to-Site VPN 连接在 AWS Transit Gateway 上结束,同时 Amazon Virtual Private Cloud(Amazon VPC)都连接到同一个中转网关。但是,我遇到了本地连接与 Amazon VPC 之间的连接问题。如何解决此问题?

简短描述

如果 Amazon Virtual Private Cloud(Amazon VPC)都连接到同一个中转网关,但 AWS Direct Connect 或 AWS Site-to-Site VPN 之间的连接在 AWS Transit Gateway 上结束,您可以按照以下操作对此进行问题排查:

  • 检查中转网关、VPC 和 Amazon EC2 实例的路由配置。
  • 在 AWS Network Manager 中使用 Route Analyzer

解决方法

确认路由配置

验证 Amazon VPC 子网路由表配置

  1. 打开 Amazon VPC 控制台
  2. 在导航窗格中,选择 Route Tables(路由表)。
  3. 选择源 Amazon Elastic Compute Cloud(Amazon EC2)实例使用的路由表。
  4. 选择 Routes(路由)选项卡。
  5. 验证是否存在将 Destination(目标)设置为 on-premises network(本地网络)的路由。
  6. 验证是否存在具有 Transit Gateway ID(中转网关 ID)值的 Target(目标)。

检查 Transit Gateway VPC 连接的可用区

  1. 打开 Amazon VPC 控制台
  2. 选择 Transit Gateway Attachments(中转网关连接)。
  3. 选择 VPC attachment(VPC 连接)。
  4. Details(详细信息)下,验证 Subnet ID(子网 ID)。 确认已选择 EC2 实例可用区中的子网。
  5. 如果未选择源 EC2 实例中的子网,请选择 Actions(操作)。 然后点击 modify your VPC attachment(修改您的 VPC 连接),并从 EC2 实例可用区中选择一个子网。
    注意:当连接处于 Modifying(修改)状态时,添加或修改 VPC 连接子网可能会影响数据流量。

检查与 VPC 连接关联的 Transit Gateway 路由表

  1. 打开 Amazon VPC 控制台
  2. 选择 Transit Gateway Route Tables(中转网关路由表)。
  3. 选择与 VPC 连接关联的路由表。
  4. Routes(路由)选项卡中,确认存在 Target(目标)值为 DXGW/VPN attachment(DXGW/VPN 连接)的 on-premises network(本地网络)路由。
  5. 如果您使用的是具有静态路由的 Site-to-Site VPN:请为目标为 VPN attachment(VPN 连接)的本地网络 add a static route(添加静态路由)。

检查与 AWS Direct Connect 网关连接或 VPN 连接关联的 Transit Gateway 路由表

  1. 打开 Amazon VPC 控制台
  2. 选择 Transit Gateway Route Tables(中转网关路由表)。
  3. 选择与 AWS Direct Connect 网关连接关联的路由表
    -或者-
    选择与 VPN 连接关联的路由表。
  4. Routes(路由)选项卡中,确认 Source VPC IP range(源 VPC IP 范围)的路由具有与源 VPC 对应的 TGW VPC attachment(TGW VPC 连接)的 Target(目标)。

检查在 Direct Connect 网关与 Transit Gateway 关联上配置的允许前缀

  1. 打开 AWS Direct Connect 控制台
  2. 在导航窗格中,选择 Direct Connect Gateways(Direct Connect 网关)。
  3. 选择与 Transit Gateway 关联的 AWS Direct Connect 网关。
  4. Gateway Association(网关关联)下,验证 Allowed Prefixes(允许前缀)是否具有 Source VPC IP Range(源 VPC IP 范围)。

确认 Amazon EC2 实例的安全组和网络访问控制列表(ACL)允许适当的流量通过

  1. 打开 Amazon EC2 控制台
  2. 从导航窗格中,选择 Instances(实例)。
  3. 选择要执行连通性测试的实例。
  4. 选择 Security(安全性)选项卡。
  5. 验证 Inbound rules(入站规则)和 Outbound rules(出站规则)是否允许流量进出本地网络。
  6. 打开 Amazon VPC 控制台
  7. 在导航窗格中,选择 Network ACLs(网络 ACL)。
  8. 选择与实例(源/目标)所在的子网关联的网络 ACL。
  9. 选择 Inbound(入站)规则和 Outbound(出站)规则。验证是否允许流量进出本地网络。

确认与中转网关网络接口关联的网络 ACL 允许适当的流量通过

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Network Interfaces(网络接口)。
  3. 在搜索栏中,输入 Transit Gateway(中转网关)。此时系统将显示中转网关的所有网络接口。记下与创建中转网关接口的位置相关联的 subnet ID(子网 ID)。
  4. 打开 Amazon VPC 控制台
  5. 在导航窗格中,选择 Network ACLs(网络 ACL)。
  6. 在搜索栏中,输入您在步骤 3 中记下的子网 ID。结果将显示与该子网关联的网络 ACL。
  7. 检查网络 ACL 的 Inbound rules(入站规则)和 Outbound rules(出站规则),以验证其是否允许源 VPC IP 范围和本地网络。

确认本地防火墙设备允许来自 Amazon VPC 的流量

验证本地防火墙设备是否具有适用于源 VPC IP 范围的入站和出站允许规则。有关具体说明,请参阅供应商文档。

使用 Route Analyzer

先决条件:在继续操作之前,请先完成适用于中转网关网络的 AWS Network Manager 入门中的步骤。

创建全球网络并注册中转网关后:

  1. 访问 Amazon VPC 控制台
  2. 在导航窗格中,选择 Network Manager
  3. 选择中转网关注册时所在的全球网络。
  4. 在导航窗格中选择 Transit Gateway Network(中转网关网络)。然后,选择 Route Analyzer
  5. 根据需要填写 Source(源)和 Destination(目标)信息。确保 Source(源)和 Destination(目标)具有相同的中转网关。
  6. 选择 Run route analysis(运行路由分析)。

Route Analyzer 执行路由分析并指示 Connected(已连接)或 Not Connected(未连接)的状态。如果状态为 Not Connected(未连接),Route Analyzer 会为您提供路由建议。按照建议修复路由问题,然后重新运行测试以确认连接。如果仍存在连接问题,请参阅确认路由配置部分以了解更多问题排查步骤。