Amazon VPC 内の NAT ゲートウェイを経由するトラフィックを最も増加させている要因を調べるにはどうすればよいですか?

所要時間2分
0

Amazon Virtual Private Cloud (Amazon VPC) 内 の NAT ゲートウェイを経由するトラフィックを最も増加させている要因が何なのかを調べたいと考えています。

簡単な説明

以下の手順を実行すれば、 Amazon VPC 内の NAT ゲートウェイを経由するトラフィックを最も増加させた要因が何なのかを調べることができます。

  1. Amazon CloudWatch メトリクスを使用し、トラフィックが急増した時間を特定します。
  2. CloudWatch Logs を使用して、トラフィック急増の原因となっているインスタンスを特定します。
  3. Amazon Simple Storage Service (Amazon S3) または Amazon Athena を使用して、トラフィック急増の原因となっているインスタンスを特定します。

解決策

CloudWatch メトリクスを使用して、トラフィックが急増した時間を特定する

次の CloudWatch メトリクスを使用して、NAT ゲートウェイと急増した時間を特定して監視します。

  • BytesInFromSource — アップロード
  • BytesInFromDestination — ダウンロード

Amazon VPC または NAT ゲートウェイのエラスティックネットワークインターフェイスで Amazon VPC フローログが有効になっているかどうかを確認します。Amazon VPC フローログを有効にしていない場合は、フローログを作成して有効にします。Amazon VPC フローログを有効にすると、フローログデータは CloudWatch Logs または Amazon S3 に発行することができます。

CloudWatch Logs Insights を使用して、トラフィック急増の原因となっているインスタンスを特定します。

**注:**手順 5・6・7 のコマンドでは、example-NAT-private-IP を NAT ゲートウェイのプライベート IP アドレスに、example-VPC-CIDR を Amazon VPC CIDR に置き換えてください。

1.    CloudWatch コンソールを開きます。

2.    ナビゲーションペインで、[Logs Insights] を選択します。

3.    ドロップダウンリストから、NAT ゲートウェイのロググループを選択します。

4.    定義済みの時間範囲を選択するか、[カスタマイズ] を選択して独自の時間範囲を設定します。

5.    次のコマンドを実行して、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

6.    次のコマンドを実行して、インスタンスとの間で行き来するトラフィックを特定します。

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

7.    次のコマンドを実行して、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 の最初の 2 オクテットに置き換え、example-NAT-private-IPを NAT ゲートウェイのプライベート IP アドレスに置き換えます。

1.    Amazon S3 コンソールまたは Athena コンソールを開きます。

2.    テーブルを作成します。データベースとテーブルの名前に注釈を付け、次のフィルターを追加して、特定の時間範囲でトラフィックを最も増加させているインスタンスは何かを確認します。

  • start>= (example-timestamp-start)
  • end>= (example-timestamp-end)

3.    次のコマンドを実行して、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;

4.    次のコマンドを実行して、インスタンスとの間で行き来するトラフィックを特定します。

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;

5.    次のコマンドを実行して、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;

関連情報

サンプルクエリ

Amazon VPC フローログのクエリ

Amazon Athena を使用して Amazon VPC フローログを分析する方法を教えてください。

AWS Cost Explorer を使用してデータ転送コストを分析する

AWS公式
AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ