同じVPCのEC2間でIPv4 TCP 443の接続が失敗する。送受信ENI、送信元と宛先のIP・ポート、プロトコル、再現時刻を記録できる。調査中は経路や通信許可を変更しない。
必要なログ送信権限と保存先は準備済み。対象の通常のEC2間通信について、許可・拒否のフローメタデータを採取し、現在のSG/NACLやアプリの記録と突き合わせたい。
ログを採取して解釈する方法として適切なものはどれか。
対象ENIのフローと時間範囲を合わせ、actionとlog-statusを現設定・アプリ観測と照合する。
詳細解説
REJECTはSGやNACL等による拒否の根拠になり得るが、それだけで特定のSGルールIDが示されるわけではない。接続終了後のパケット等もあり、現設定や時刻との照合が必要である。
ALLは許可・拒否の両方を対象にする。対象の通信を特定してACCEPT/REJECTと記録状態を読み、SG/NACL構成やアプリの観測と合わせて原因を絞る。
SKIPDATAは一部の記録が欠けた状態を示す。検索対象、時間範囲、ログ配送の遅れや取得対象外も確認し、記録なしだけで通信や損失の不存在を断定しない。
ACCEPTはそのフローの許可を示す情報で、接続先アプリやTLS、相手側と戻り経路の成功を保証しない。通信の両端とアプリの結果を別に確認する。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
承認済み検証EC2で対象ENI・IP・TCPポート・再現時刻を記録する。ALLのFlow Logsから該当フローのactionとlog-statusを調べ、SG/NACLと実アプリの結果を比較する。配送待ちや検索範囲、SKIPDATAも確認する。
参考にした公式資料
確認できる内容
対象のACCEPT/REJECTと記録状態を区別できる。ACCEPTからアプリ成功、REJECTから特定SGルールID、欠落から通信なしを断定せず、必要な追加調査を示せる。
理解のポイント
- VPC Flow Logs
- 5-tuple
- log-status
確認時の注意
- 確認環境: AWS公式SOA-C03試験ガイドとAWS公式ドキュメントの確認
- AWS公式SOA-C03試験ガイドと各サービスの公式ドキュメントを確認する。
基礎のおさらい
対象フローを同じ条件で照合する
ENI、5-tuple、再現した時間範囲を指定し、ALLで許可・拒否の両方を収集する。異なる通信や古い時刻の記録を混ぜず、対象の両端と戻り方向も調べる。
許可・拒否と原因の確定を分ける
ACCEPTはアプリ成功を保証しない。REJECTは拒否の観測であり、常にSGかNACLの特定ルールを直接示す情報ではない。現設定、接続終了時刻、アプリログを合わせ、必要なら設定解析を使う。
記録の限界を確認する
log-statusのOK、NODATA、SKIPDATAを区別する。配送は即時保証ではなく、一部欠落もある。Flow Logsはペイロードやパケット遅延の直接測定ではなく、Amazon DNSやインスタンスメタデータ等の取得対象外もある。