如何找出我的 Amazon VPC 中通过 NAT 网关的最大流量源?
我想找出我的 Amazon Virtual Private Cloud (Amazon VPC) 中通过 NAT 网关的最大流量源。
简短描述
要找出 Amazon VPC 中通过 NAT 网关的最大流量源,请完成以下步骤:
- 使用 Amazon CloudWatch 指标找出出现流量峰值的时间。
- 使用 CloudWatch 日志找出导致流量峰值的实例。
- 使用 Amazon Simple Storage Service (Amazon S3) 或 Amazon Athena 找出导致流量峰值的实例。
解决方法
使用 CloudWatch 指标找出出现流量峰值的时间
使用以下 CloudWatch 指标来确定和监控 NAT 网关和具体的峰值时间:
- BytesInFromSource - 上传
- BytesInFromDestination - 下载
检查您是否为 Amazon VPC 或 NAT 网关弹性网络接口启用 Amazon VPC 流日志。如果您没有启用 Amazon VPC 流日志,请创建一个流日志,以便启用流日志。启用 Amazon VPC 流日志后,流日志数据将发布到 CloudWatch 日志或 Amazon S3。
使用 CloudWatch Logs Insights 来识别导致流量峰值的实例
**注意:**对于步骤 5、6 和 7 中的命令,将 example-NAT-private-IP 替换为您的 NAT 网关私有 IP 地址,将 example-VPC-CIDR 替换为您的 Amazon VPC CIDR。
-
打开 CloudWatch 控制台。
-
在导航窗格中,选择 Logs Insights。
-
从下拉列表中,选择您的 NAT 网关的日志组。
-
选择预定义的时间范围,或者选择自定义来设置自己的时间范围。
-
运行以下命令,找出通过 NAT 网关发送流量最多的实例:
filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr | sort bytesTransferred desc | limit 10
- 运行以下命令,找出进出实例的流量:
filter (dstAddr like example-NAT-private-IP and isIpv4InSubnet(srcAddr, example-VPC-CIDR)) or (srcAddr like example-NAT-private-IP and isIpv4InSubnet(dstAddr, example-VPC-CIDR))| stats sum(bytes) as bytesTransferred by srcAddr, dstAddr | sort bytesTransferred desc | limit 10
- 运行以下命令,找出您的 Amazon VPC 中的实例与之通信最多的互联网目的地:
对于上传:
filter (srcAddr like example-NAT-private-IP and not isIpv4InSubnet(dstAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr | sort bytesTransferred desc | limit 10
对于下载:
filter (dstAddr like example-NAT-private-IP and not isIpv4InSubnet(srcAddr, example-VPC-CIDR)) | stats sum(bytes) as bytesTransferred by srcAddr, dstAddr | sort bytesTransferred desc | limit 10
使用 Amazon S3 或 Athena 找出导致流量峰值的实例。
**注意:**对于步骤 3、4 和 5 中的命令,请将 example-database-name.example-table-name 替换为您的数据库和表名。将 example-y.y 替换为您的 Amazon VPC CIDR 的前两个八位字节,将 example-NAT-private-IP 替换为您的 NAT 网关私有 IP 地址。
-
打开 Amazon S3 控制台或 Athena 控制台。
-
创建表。为数据库和表名添加注释,然后添加以下筛选条件以检查特定时间范围内的主要流量源:
- start>= (example-timestamp-start)
- end>= (example-timestamp-end)
- 运行以下命令,找出通过 NAT 网关发送流量最多的实例:
SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE srcaddr like example-y.y AND dstaddr like example-NAT-private-IP group by 1,2 order by 3 desc limit 10;
- 运行以下命令,找出进出实例的流量:
SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-y.y AND dstaddr like example-NAT-private-IP) or (srcaddr like example-NAT-private-IP AND dstaddr like example-y.y) group by 1,2 order by 3 desc limit 10;
- 运行以下命令,找出您的 Amazon VPC 中的实例与之通信最多的互联网目的地:
对于上传:
SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr like example-NAT-private-IP AND dstaddr not like example-y.y) group by 1,2 order by 3 desc limit 10;
对于下载:
SELECT srcaddr,dstaddr,sum(bytes) FROM example-database-name.example-table-name WHERE (srcaddr not like example-y.y AND dstaddr like example-NAT-private-IP) group by 1,2 order by 3 desc limit 10;
相关信息

相关内容
- AWS 官方已更新 9 个月前
- AWS 官方已更新 2 个月前
- AWS 官方已更新 2 个月前
- AWS 官方已更新 2 个月前