Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
如何在我的 Amazon VPC 中尋找 NAT 閘道流量的主要貢獻因子?
我想透過 Amazon Virtual Private Cloud (Amazon VPC) 中的 NAT 閘道找到流量的主要貢獻因子。
簡短說明
若要尋找 Amazon VPC 中 NAT 閘道流量的主要貢獻因子,請完成下列任務:
- 使用 Amazon CloudWatch 指標識別流量尖峰的時間。
- 使用 CloudWatch 日誌識別造成流量尖峰的執行個體。
- 使用 Amazon Simple Storage Service (Amazon S3) 或 Amazon Athena 識別造成流量尖峰的執行個體。
解決方法
**注意:**在下列步驟中,使用您的資訊取代下列值:
- 具有 NAT 閘道私人 IP 位址的 example-NAT-private-IP
- 具有 Amazon VPC CIDR 的 example-VPC-CIDR
- 具有資料庫和資料表名稱的 example-database-name.example-table-name
- 具有 Amazon VPC CIDR 前兩個八位元組的 example-y.y
使用 CloudWatch 指標識別流量尖峰的時間
若要識別和監控 NAT 閘道以及尖峰的特定時間,請使用下列 CloudWatch 指標:
- BytesInFromSource – 上傳
- BytesInFromDestination – 下載
檢查您已開啟 Amazon VPC 或 NAT 閘道彈性網路介面的 Amazon VPC 流程日誌。如果您尚未開啟 Amazon VPC 流程日誌,請建立流程日誌以開啟此選項。當您開啟 Amazon VPC 流程日誌時,流程日誌資料會發佈至 CloudWatch 日誌或 Amazon S3。
使用 CloudWatch Logs Insights 識別造成流量尖峰的執行個體
**注意:**或者,使用 CloudFormation 範本建立包含下列查詢的 CloudWatch 儀表板。
請完成下列步驟:
-
開啟 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 識別造成流量尖峰的執行個體
請完成下列步驟:
-
開啟 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 desclimit 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 desclimit 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 desclimit 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 desclimit 10;
使用 CloudWatch Logs Insights 識別與網際網路目的地通訊的執行個體
若要尋找執行個體通訊的網際網路目的地,必須使用自訂 VPC 流程日誌。這些 VPC 流程日誌必須包含其他欄位 pkt-srcaddr 和 pkt-dstaddr。如需詳細資訊,請參閱 NAT 閘道的流量。
範例 VPC 流程日誌:
${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status} ${pkt-srcaddr} ${pkt-dstaddr}
請完成下列步驟:
- 開啟 CloudWatch 主控台。
- 在導覽窗格中,選擇 Logs Insights。
- 從下拉式清單中,選取 VPC 流程日誌的日誌群組。
- 選取預先定義的時間範圍,或選擇自訂以設定您自己的時間範圍。
- 若要識別透過 NAT 閘道傳送最多流量的執行個體,請執行下列命令。
對於上傳流量:
對於下載流量:parse @message "* * * * * * * * * * * * * * * " as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr | filter (dstaddr like 'example-NAT-private-IP' and isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR')) | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr | sort bytesTransferred desc | limit 10
parse @message " * * * * * * * * * * * * * * *" as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status, pkt_srcaddr, pkt_dstaddr | filter (srcaddr like 'example-NAT-private-IP' and !isIpv4InSubnet(pkt_srcaddr, 'example-VPC-CIDR')) | stats sum(bytes) as bytesTransferred by pkt_srcaddr, pkt_dstaddr | sort bytesTransferred desc | limit 10
相關資訊
相關內容
- 已提問 1 年前lg...
- 已提問 7 個月前lg...
- 已提問 6 個月前lg...
- 已提問 2 年前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前