我在 AWS Transit Gateway 中设置了中转网关路由表和传播。我想监控中转网关路由表以识别缺失的路由,并验证路由表是否正确传播。
解决方法
**注意:**您只能在拥有中转网关的 AWS 账户中执行以下操作。您无法在使用共享中转网关的账户中查看路由表。
验证您的路由表配置和传播
验证您是否已将每个连接与其预期路由表相关联。此外,请验证您是否已在路由表中为该连接启用路由传播。
检查您的中转网关路由表,确认其中包含所有预期路由。
静态路由优先于具有相同目的地的传播路由。要覆盖传播路由,请添加静态路由。如果移除静态路由,则中转网关会优先考虑路由表中重叠的传播路由。
对路由缺失问题进行故障排除
检查路由表关联的连接是否可用。对于 VPN 和 AWS Direct Connect 连接,请验证边界网关协议 (BGP) 连接是否处于活动状态并显示为 UP。此外,请验证 BGP 配置是否正确通告了路由。
检查静态路由是否覆盖传播路由。
使用 AWS CLI 查看路由
注意:
要搜索特定前缀,请运行以下 search-transit-gateway-routes 命令:
aws ec2 search-transit-gateway-routes --transit-gateway-route-table-id rtb-12345678901234567 --filters "Name=type,Values=static" --max-results 1000
要按路由类型筛选,请运行以下 search-transit-gateway-routes 命令:
aws ec2 search-transit-gateway-routes --transit-gateway-route-table-id rtb-12345678901234567 --filters "Name=type,Values=propagated" --max-results 1000
要查看所有路由并将中转网关路由表导出到 Amazon S3 存储桶,请运行以下 export-transit-gateway-routes 命令:
aws ec2 export-transit-gateway-routes --transit-gateway-route-table-id rtb-12345678901234567 --s3-bucket S3-BUCKET-NAME --file-format json
要在导出的文件中搜索特定的 CIDR 数据块,请运行以下 cp 命令:
aws s3 cp s3://S3-BUCKET-NAME/my-file.json - | jq '.Routes[] | select(.DestinationCidrBlock == "10.0.0.0/16")'
为配置更改设置警报
要监控路由表配置的更改,请执行以下操作:
相关信息
AWS Transit Gateway 工作原理
AWS Transit Gateway 中的中转网关