無限ノック › ANS 練習問題一覧 › 問題
ANSネットワーク管理と運用

ある企業のネットワークエンジニアは、VPC内のEC2インスタンス間の通信において断続的なパケットドロップが発生している問題をトラブルシューティングしています。標準のVPCフローログをCloudWatch Logsに出力して確認しましたが、送信元・宛先IPと許可/拒否ステータスしか分からず、パケットがTCP再送(Retransmission)によるものなのか、あるいは接続の確立(SYN)自体が失敗しているのかを特定できません。より詳細なネットワークレベルの診断を行うための最適な対応はどれですか。

A
VPCフローログのカスタム形式(Custom format)を作成し、「tcp_flags」フィールドを含めて出力するように設定を変更する
✓ 正解
VPCフローログのカスタムフォーマットで「tcp_flags」を有効にすることは、パケットのTCPフラグ(SYN, ACK, RSTなど)をキャプチャし、コネクション確立の失敗や再送といったトランスポート層の振る舞いを詳細に分析するための最も適切かつネイティブなアプローチです。
B
EC2インスタンスのOSレベルでVPCフローエージェントをインストールし、より高いサンプリングレートでログを再取得する
AWS環境において「VPCフローエージェント」というOSレベルのコンポーネントは存在しません。VPCフローログはハイパーバイザー(Nitroシステム等)のネットワークインフラストラクチャレベルでエージェントレスに透過的にトラフィック情報を収集するサービスです。
C
VPC内のルートテーブルで詳細モニタリング(Detailed Monitoring)を有効化し、CloudWatchメトリクスでTCP状態を確認する
VPCルートテーブルは単なるトラフィックのルーティングルールを定義する論理的なコンポーネントであり、これ自体にCloudWatch詳細モニタリングを有効にする機能や、個々のTCPパケットのステータスを監視・保持する機能は提供されていません。
D
Network Load Balancer (NLB) をインスタンス間に配置し、NLBのアクセスログでTCP接続の内部ステータスコードを分析する
NLBはトラフィックの負荷分散には適していますが、インスタンス間のすべての通信を強制的にNLB経由にする変更はアーキテクチャの過剰な複雑化を招きます。また、VPCネットワーク自体の純粋なトラブルシューティングの目的としては不適切です。

解説

標準のVPCフローログ(デフォルトフォーマット)には、送信元/宛先IPアドレス、ポート、プロトコル、パケット数、アクション(ACCEPT/REJECT)などの基本情報が含まれますが、TCPフラグは含まれません。カスタムフォーマットでtcp_flags属性を追加することで、SYN・ACK・FIN・RSTなどのTCPフラグが設定されたパケットを識別でき、ハンドシェイク失敗やパケット再送の区別が可能になります。アプリケーション層に到達する前のネットワークトランスポート層での詳細なトラブルシューティングが実現できます。 選択肢Bが提示するOSレベルの「VPCフローエージェント」はAWSのサービスとして存在しません。EC2インスタンス内でのパケットキャプチャはtcpdumpなどのOSツールで実施できますが、VPCレベルの全通信を一元管理するフローログの代替にはなりません。 選択肢Cのルートテーブルには「詳細モニタリング」機能はありません。EC2の詳細モニタリングはCPUやネットワーク転送量などのCloudWatchメトリクスを収集するものであり、TCPフラグやセッション状態の分析はできません。 選択肢DのNLBをインスタンス間に追加する手法はアーキテクチャを大幅に変更するため診断コストが高く、根本的な分析アプローチとして不適切です。NLBのアクセスログにはTCPフラグの詳細は記録されず、必要な診断情報の取得には不十分です。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでANSを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← ANS の問題一覧に戻る