【AWS】VPCフローログの見方・ログ形式・拒否トラフィックの確認方法
生徒
「AWSのVPCフローログって何ですか?どんな情報が見られるんでしょうか?」
先生
「VPCフローログは、VPC内のネットワークトラフィックを記録する機能で、通信の許可や拒否の状況を詳しく分析できます。ログの形式や確認方法も重要ですよ。」
生徒
「拒否されたトラフィックってどうやって見ればいいですか?ログの具体的な見方も教えてください!」
先生
「では、VPCフローログの概要からログ形式、拒否トラフィックの確認方法まで、初心者にもわかりやすく説明していきますね。」
1. VPCフローログとは?基本の理解
AWSのVPCフローログは、Virtual Private Cloud内のネットワーク通信をキャプチャし、ログとして保存するサービスです。通信が許可されたか拒否されたか、どのIPアドレスがどのポートにアクセスしたかなどの詳細が記録されます。
これにより、ネットワークのトラブルシューティングやセキュリティ監視が効率的に行えます。
2. VPCフローログのログ形式について
VPCフローログは、主にAWS CloudWatch LogsやS3に出力されます。ログのフォーマットは以下のようなフィールドで構成されています。
- version:ログのバージョン
- account-id:AWSアカウントID
- interface-id:ENI(Elastic Network Interface)のID
- srcaddr:送信元IPアドレス
- dstaddr:宛先IPアドレス
- srcport:送信元ポート
- dstport:宛先ポート
- protocol:通信プロトコル番号(例:6はTCP)
- packets:パケット数
- bytes:バイト数
- start:通信開始時刻(UNIXタイムスタンプ)
- end:通信終了時刻(UNIXタイムスタンプ)
- action:通信の許可状況(ACCEPTまたはREJECT)
- log-status:ログの状態(OKやNODATAなど)
この情報をもとに、どの通信が成功し、どの通信が拒否されたかを判断します。
3. 拒否トラフィックの確認方法
拒否された通信は、ログのactionフィールドがREJECTになっています。CloudWatch Logsなどでフィルタをかけることで、拒否トラフィックだけを抽出可能です。
例えば、CloudWatch Logs Insightsで以下のようなクエリを使うと、拒否された通信が一覧表示されます。
fields @timestamp, srcaddr, dstaddr, srcport, dstport, protocol, action
| filter action = "REJECT"
| sort @timestamp desc
| limit 50
これで、直近50件の拒否トラフィックを時間順に確認できます。
4. VPCフローログの設定とログの見方
VPCフローログは、VPC単位やサブネット単位、ENI単位で有効化できます。AWSコンソールのVPC画面から「フローログの作成」を選択し、ロググループやフィルタ(許可されたトラフィックのみ、拒否のみ、すべて)を指定します。
ログの見方としては、IPアドレスやポート番号を確認し、問題のある通信元や通信先を特定することが重要です。異常なアクセスや拒否された通信があれば、セキュリティグループやネットワークACLの設定を見直しましょう。
5. VPCフローログ活用のポイント
- セキュリティグループやネットワークACLの効果を確認できる。
- 不正アクセスや異常通信の検知に役立つ。
- 通信のトラブルシューティングが効率化できる。
- ログはCloudWatch LogsやS3に保存し、長期間の分析も可能。
6. よくある質問(FAQ)
Q1: VPCフローログの料金はかかりますか?
A: フローログ自体の機能は無料ですが、CloudWatch LogsやS3に保存する際のストレージ料金やデータ転送料金が発生します。
Q2: ログにすべての通信が記録されますか?
A: フィルタ設定によって「許可された通信のみ」「拒否された通信のみ」「すべての通信」を選択できます。
Q3: フローログの有効化はすぐ反映されますか?
A: 有効化してからログの収集が始まるまでに数分かかることがあります。
7. これからのVPCフローログ活用に向けて
VPCフローログを活用することで、AWSネットワークの可視化とセキュリティ強化が可能です。ログ形式の理解や拒否トラフィックの確認方法をマスターし、日々の運用やトラブル対応に役立ててください。
初心者の方も、今回の内容を参考にぜひVPCフローログを設定してみましょう。