VPC Reachability Analyzer

VPC 内の 2 つのリソース間のネットワーク到達性を静的に分析し、接続障害の原因を特定するトラブルシューティングツール

概要

VPC Reachability Analyzer は、VPC 内の 2 つのネットワークエンドポイント間の到達性を、実際のトラフィックを送信せずに静的解析で検証するサービスです。送信元と宛先を指定すると、経路上のすべてのネットワークコンポーネント (セキュリティグループ、ネットワーク ACL、ルートテーブル、NAT Gateway、VPC ピアリング、Transit Gateway など) を自動的に分析し、到達可能かどうかを判定します。到達不可の場合は、どのコンポーネントでブロックされているかを具体的に示すため、ネットワーク接続問題のトラブルシューティング時間を大幅に短縮できます。パケットキャプチャや ping テストが不要で、本番環境に影響を与えずに分析できる点が大きな利点です。

分析パスの設定と対応リソースタイプ

Reachability Analyzer の分析は、送信元と宛先のリソースを指定して「パス」を作成することで開始します。対応する送信元・宛先リソースとして、EC2 インスタンス、ENI (Elastic Network Interface)、Internet Gateway、NAT Gateway、VPN Gateway、VPC ピアリング接続、Transit Gateway、Network Load Balancer、VPC エンドポイントなどがあります。プロトコル (TCP/UDP) とポート番号を指定することで、特定のサービスへの到達性を検証できます。例えば、プライベートサブネットの EC2 インスタンスから Internet Gateway への TCP 443 ポートの到達性を分析すれば、HTTPS 通信が可能かどうかを確認できます。分析結果は「到達可能 (Reachable)」または「到達不可 (Not Reachable)」で表示され、到達可能な場合は経路上の全ホップが表示されます。到達不可の場合は、ブロックしているコンポーネントとその設定内容が具体的に示されるため、修正すべき箇所が一目で分かります。分析は静的解析のため、実行時点のルートテーブルやセキュリティグループの設定に基づいて判定されます。

トラブルシューティングでの活用パターン

Reachability Analyzer が最も威力を発揮するのは、ネットワーク接続障害のトラブルシューティングです。典型的なシナリオとして、EC2 インスタンスからインターネットに接続できない場合、分析を実行すると「ルートテーブルにデフォルトルートがない」「NAT Gateway のセキュリティグループでアウトバウンドが制限されている」「ネットワーク ACL のアウトバウンドルールで拒否されている」など、具体的な原因が特定されます。マルチ VPC 環境では、VPC ピアリングや Transit Gateway を経由する通信の到達性検証に特に有効です。ピアリング接続は確立されているのにルートテーブルに対向 VPC の CIDR が追加されていない、Transit Gateway のルートテーブルにアタッチメントが関連付けられていないなど、設定漏れを即座に発見できます。セキュリティグループのルールが複雑に入り組んでいる環境では、どのルールが通信を許可・拒否しているかを人手で追跡するのは困難ですが、Reachability Analyzer は全ルールを自動的に評価して結果を提示します。

継続的なネットワーク検証と運用への組み込み

Reachability Analyzer はトラブルシューティングだけでなく、ネットワーク設定変更後の検証や継続的なコンプライアンスチェックにも活用できます。パスを保存しておけば、定期的に再分析を実行して到達性が維持されていることを確認できます。例えば、本番環境のアプリケーションサーバーからデータベースサーバーへの到達性パスを保存し、週次で再分析を実行する運用を組み込めば、意図しないネットワーク変更による接続断を早期に検出できます。API 経由での分析実行も可能なため、CI/CD パイプラインに組み込んで、インフラ変更のデプロイ後に自動的に到達性テストを実行する設計が効果的です。CloudFormation でネットワークリソースを変更した後、Lambda で Reachability Analyzer の分析を実行し、到達不可が検出されたらロールバックをトリガーする自動化も実現できます。コスト面では、分析実行ごとに課金が発生するため、頻繁に実行する場合はコストを考慮した実行間隔の設計が必要です。Network Access Analyzer との使い分けとして、Reachability Analyzer は特定の 2 点間の到達性検証、Network Access Analyzer は VPC 全体のアクセスパターン分析という役割分担になります。

共有するXB!