Amazon CloudWatch Logs Insights のクエリを使用して、ロググループ内の Amazon Virtual Private Cloud (Amazon VPC) フローログを処理したいです。
解決策
使用する構文の概要については、「CloudWatch Logs インサイトの言語クエリ構文」を参照してください。
クエリの例を使用する
CloudWatch コンソールを使用して CloudWatch ログインサイトのサンプルクエリを実行します。以前に実行したクエリを実行するには、[履歴] を選択します。結果をエクスポートするには、[結果をエクスポート] を選択し、形式を選択します。
シナリオ 1
ウェブサーバー、アプリケーションサーバー、データベースサーバーを使用しています。タイムアウトまたは HTTP 503 エラーが発生したため、そのエラーの原因を特定しようとしています。
次の変数例を使用してクエリを実行します。
- **Action を ** REJECT ** に設定して、**クエリが拒否された接続のみを返すようにします。
- クエリには内部ネットワークのみを含めてください。
- サーバーの IP アドレスのリストには、インバウンド接続およびアウトバウンド接続 (srcAddr と dstAddr) が表示されます。
- **Limit を ** 5 ** に設定して、クエリに最初の 5 ** つのエントリのみが表示されるようにします。
- ウェブサーバーの IP アドレスは 10.0.0.4 です。
- アプリサーバーの IP アドレスは 10.0.0.5 です。
- データベースサーバーの IP アドレスは 10.0.0.6 です。
クエリの例:
filter( action="REJECT" and
dstAddr like /^(10\.|192\.168\.)/ and
srcAddr like /^(10\.|192\.168\.)/ and
(srcAddr = "10.0.0.4" or dstAddr = "10.0.0.4" or srcAddr = "10.0.0.5" or dstAddr = "10.0.0.5" or srcAddr = "10.0.0.6" or dstAddr = "10.0.0.6")
)
| stats count(*) as records by srcAddr,dstAddr,dstPort,protocol
| sort records desc
| limit 5
シナリオ 2
ネットワークインターフェイスで断続的にタイムアウトが発生しています。一定期間におけるネットワークインターフェースでの拒否を確認するには、次のクエリを実行します。
fields @timestamp, interfaceId, srcAddr, dstAddr, action| filter (interfaceId = 'eni-05012345abcd' and action = 'REJECT')
| sort @timestamp desc
| limit 5
シナリオ 3
特定のネットワークインターフェースに関するレポートを作成するには、次のクエリを実行します。
fields @timestamp, @message | stats count(*) as records by dstPort, srcAddr, dstAddr as Destination
| filter interfaceId="eni-05012345abcd"
| filter dstPort="80" or dstPort="443" or dstPort="22" or dstPort="25"
| sort HitCount desc
| limit 10
上記のクエリは、複数のポートに送信されたトラフィックの量をチェックします。
シナリオ 4
特定の IP アドレスに接続しようとする IP アドレスを一覧表示するには、次のクエリを実行します。
fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
| limit 5
| filter srcAddr like "172.31."
特定の CIDR に接続しようとする IP アドレスを一覧表示するには、次のクエリを実行します。
fields @timestamp, srcAddr, dstAddr | sort @timestamp desc
| limit 5
| filter isIpv4InSubnet(srcAddr,"172.31.0.0/16")
その他のクエリ例については、「Amazon VPC フローログのクエリ」を参照してください。
関連情報
CloudWatch Logs Insights でログデータを分析する
Supported logs and discovered fields