跳至内容

如何通过中转网关对 VPC 到 VPC 的连接进行故障排除?

3 分钟阅读
0

我想对连接到同一 AWS Transit Gateway 的两个 Amazon Virtual Private Cloud (Amazon VPC) 实例之间的连接问题进行故障排除。

简短描述

要对连接到同一中转网关的两个 Amazon VPC 实例之间的连接问题进行故障排除,请检查您的网络配置。如果配置设置无误,则对连接问题进行故障排除。

解决方法

检查网络配置

检查 AWS Transit Gateway、VPC 和 Amazon Elastic Compute Cloud (Amazon EC2) 实例的配置。

验证安全组配置

检查与源弹性网络接口或子网关联的安全组和网络访问控制列表(网络 ACL)是否允许必要的流量。

**注意:**安全组仅在出口规则中允许流量。但是,网络 ACL 需要同时允许传出和传入流量。

确认 Amazon EC2 实例的安全组和网络 ACL 允许流量

完成以下步骤:

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

检查源子网 VPC 路由表中是否存在通过中转网关指向目标 CIDR 数据块的路由

完成以下步骤:

  1. 打开 Amazon VPC 控制台。
  2. 从导航窗格中,选择 Route Tables(路由表)。
  3. 选择源实例使用的路由表。
  4. 选择 Routes(路由)选项卡。
  5. 验证 Destination(目的地)下是否存在远程 VPC CIDR 数据块的路由。然后,验证 Target(目标)是否设置为 Transit Gateway ID(中转网关 ID)。

确认已将 VPC 连接到同一中转网关

如果连接使用单个中转网关,请完成以下步骤:

  1. 打开 Amazon VPC 控制台。
  2. 从导航窗格中,选择 Transit Gateway Attachments(中转网关连接)。
  3. 验证 VPC 连接是否与同一中转网关 ID 相关联。

**注意:**如果使用多个中转网关或中转网关对等连接,请确认源 VPC 和目标 VPC 已连接到各自对应的中转网关。

确认中转网关路由表与 VPC 连接相关联

完成以下步骤:

  1. 打开 Amazon VPC 控制台。
  2. 从导航窗格中,选择 Transit gateway route tables(中转网关路由表)。
  3. 选择与源 VPC 的中转网关 VPC 连接相关联的路由表。
  4. 选择 Routes(路由)选项卡。
  5. 验证是否存在以中转网关 VPC 连接作为目标远程 VPC IP 范围的路由,且与远程 VPC 的值相对应。
  6. 选择与远程 VPC 的中转网关 VPC 连接相关联的路由表。
  7. 选择 Routes(路由)选项卡。
  8. 验证是否存在以 VPC 连接作为目标源 VPC IP 范围的路由。验证该路由是否与源 VPC 的值相对应。

确认与中转网关 VPC 子网关联的网络 ACL 允许您的流量

完成以下步骤:

  1. 打开 AmazonEC2 控制台。
  2. 从导航窗格中,选择 Network interfaces(网络接口)。
  3. 在搜索栏中,输入 Transit Gateway(中转网关)。此时将显示中转网关的所有网络接口。记下与创建中转网关接口的位置关联的 Subnet ID(子网 ID)。
  4. 打开 Amazon VPC 控制台。
  5. 从导航窗格中,选择 Network ACLs(网络 ACL)。
  6. 在搜索栏中,输入您在步骤 3 中记下的子网 ID,查找与子网关联的网络 ACL。
  7. 确认网络 ACL 的入站****规则出站****规则允许流量。有关配置网络 ACL 规则的详细信息,请参阅 AWS Transit Gateway 中的中转网关的网络 ACL

检查中转网关 VPC 连接、源 VPC 和远程 VPC 的可用区

将 VPC 连接到中转网关时,必须从每个可用区指定一个子网。您指定的子网是中转网关流量的入口点和出口点。例如,如果您的源位于 us-east-1a,则必须为源 VPC 和目标 VPC 连接配置至少一个位于 us-east-1a 的子网。

要检查您的可用区,请完成以下步骤:

  1. 打开 Amazon VPC 控制台。
  2. 从导航窗格中,选择 Transit Gateway Attachments(中转网关连接)。
  3. 选择源 VPC 连接。
  4. Details(详细信息)下,查找 Subnet IDs(子网 ID)。验证您是否从源实例的可用区中选择了一个子网。
  5. 返回到 Transit Gateway Attachments(中转网关连接)。然后,选择远程 VPC 连接。
  6. Details(详细信息)下,查找 Subnet IDs(子网 ID)。验证您是否从远程实例的可用区中选择了一个子网。
  7. 要为 VPC 连接添加可用区,请选择 **Actions(操作)。**然后,修改中转网关连接,并从所需的可用区中选择任意子网。
    **注意:**当连接处于 Modifying(正在修改)状态时,添加或修改 VPC 连接子网可能会影响数据流量。

对连接问题进行故障排除

如果配置设置无误,请使用 AWS Network Manager 中的 Reachability Analyzer路由分析器对连接问题进行故障排除。您还可以监控 Amazon VPC 流日志和 Amazon CloudWatch 指标以检查数据包丢失情况。

使用 Amazon VPC Reachability Analyzer 对连接问题进行故障排除

使用 Reachability Analyzer 分析资源和目标之间的路径。有关详细信息,请参阅 Reachability Analyzer 的工作原理

**注意:**要分析跨多个 AWS 账户的路径,请通过 AWS Organizations 为组织激活 Reachability Analyzer 的可信访问。Reachability Analyzer 仅支持组织内账户的跨账户分析。

您还可以使用 Amazon Q 通过自然语言查询来对 Reachability Analyzer 的问题进行故障排除。有关详细信息,请参阅 Amazon Q 网络故障排除支持简介(预览版)

使用路由分析器对连接问题进行故障排除

**先决条件:**创建全局网络并注册中转网关。有关说明,请参阅适用于中转网关的 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(运行路由分析)。然后,等待路径分析器完成分析。

检查路径分析。如果网络状态为 Not Connected(未连接),则路由分析器会显示路由建议。完成建议操作,然后重新运行测试以确认网络连接。有关详细信息,请参阅使用 AWS Transit Gateway Network Manager 路由分析器诊断流量中断

使用 Amazon VPC 流日志和 CloudWatch 指标对问题进行故障排除

**先决条件:**为中转网关连接或网络接口创建 AWS Transit Gateway 流日志。对于网络接口,Log record format(日志记录格式)选择 Custom format(自定义格式),然后在 flow log record fields(流日志记录)字段中包含 pkt-src-addrpkt-dstaddr

要使用中转网关指标检查是否存在数据包丢失情况,请完成以下步骤:

  1. 登录 AWS 管理控制台并打开 Amazon CloudWatch 控制台
  2. 选择 All metrics(全部指标)。
  3. 选择 VPC- Transit Gateway(VPC- 中转网关)。
  4. 选择 Per-attachment metric(Per-attachment 指标)。

然后,查看中转网关连接的以下指标的 Sum(总和)值。

  • PacketDropCountBlackhole 指标显示因匹配中转网关连接上的黑洞路而丢弃的字节数。
  • PacketDropCountNoRoute 指标显示因未匹配到中转网关连接上的路由而丢弃的字节数。
  • PacketDropCountTTLExpired 指标显示因 TTL 过期而丢弃的数据包数。

相关信息

AWS Transit Gateway 中的指标和事件

AWS 官方已更新 1 个月前