AWS Certified CloudOps Engineer - Associate (SOA-C03) #10 Domain 4-1 ネットワーキング — VPC 運用と接続トラブルシューティング

読了 6分

#9 までデプロイ・自動化ドメインを終えました。4 番目のドメインは ネットワーキングとコンテンツ配信 (18%) です。運用ではネットワーキングの設問はほとんど「接続できない」から始まります。そのため、この記事の目標は VPC の構成要素を暗記することではなく、接続失敗をどこからどの順序で追うのか という運用手順を押さえることです。

VPC 構成要素の早見表 #

要素役割
SubnetVPC を AZ 別に分けた IP 区間。パブリック・プライベート
Route Tableトラフィックがどこへ行くかを決定
Internet Gateway (IGW)VPC ↔ インターネットの双方向
NAT Gatewayプライベートサブネットのアウトバウンドインターネット (インバウンド遮断)
Security Groupインスタンス (ENI) 単位のファイアウォール
NACLサブネット単位のファイアウォール

パブリックサブネットとプライベートサブネットの違いはたった 1 つです。ルートテーブルに IGW へのルート (0.0.0.0/0 → igw) があるか です。インスタンスにパブリック IP があっても、ルーティングがなければインターネットには出られません。

セキュリティグループ vs NACL #

接続トラブルシューティングの半分はこの 2 つです。違いを正確に知る必要があります。

項目Security GroupNACL
適用単位インスタンス (ENI)サブネット
状態Stateful (出た応答を自動許可)Stateless (応答にもルールが必要)
ルール許可 (allow) のみ許可・拒否 (deny) の両方
評価すべてのルールを総合番号順

最も重要な違いは 状態性 です。セキュリティグループは stateful なので、インバウンドを許可すればその応答のアウトバウンドは自動的に許可されます。NACL は stateless なので、インバウンドとアウトバウンド (特にエフェメラルポート 1024〜65535) を両方とも 開く必要があります。「セキュリティグループは正しく開けたのに NACL のせいで応答が遮断される」という定番シナリオの核心が、この stateless なエフェメラルポートです。

プライベートサブネットの外部接続 #

プライベートインスタンスが外部と通信する経路は 2 つです。

目的手段
インターネットへのアウトバウンド (パッチ・外部 API)NAT Gateway
AWS サービスへのプライベート接続 (S3・DynamoDB・SSM など)VPC エンドポイント

VPC エンドポイント #

種類対象動作
Gateway エンドポイントS3, DynamoDBルートテーブルにルートを追加 (無料)
Interface エンドポイント (PrivateLink)ほとんどのサービス (SSM・ECR など)ENI でプライベート IP を提供 (有料)

エンドポイントの効用は トラフィックがインターネットを経由しないこと です。コスト (NAT データ処理料の削減) とセキュリティの両方で答えになります。「プライベートインスタンスが S3 にアクセスするが NAT コストを減らせ」の答えが S3 Gateway エンドポイント、「#8 の SSM がプライベートで動かない」の答えが Interface エンドポイント です。

VPC 間の接続 #

手段いつ
VPC Peering2 つの VPC を 1:1 で接続。推移 (transitive) しない
Transit Gateway複数の VPC・オンプレミスをハブで接続。大規模
Site-to-Site VPNオンプレミス ↔ VPC (インターネット経由、暗号化)
Direct Connectオンプレミス ↔ AWS 専用回線 (低遅延・安定)

核心の落とし穴は ピアリングは推移しない という点です。A-B、B-C がピアリングされていても A は C と通信できません。「VPC が増えてメッシュ接続が複雑だ」の答えが Transit Gateway です。

接続トラブルシューティングの順序 #

「インスタンスに接続できない」に遭遇したとき、運用で点検する順序はおおむね次のとおりです。

  1. ルートテーブル: 目的地へのルートがあるか (IGW・NAT・エンドポイント)
  2. セキュリティグループ: インバウンドに該当するポート・ソースが許可されているか
  3. NACL: インバウンド・アウトバウンド (エフェメラルポートを含む) が遮断されていないか
  4. パブリック IP / DNS: パブリックアクセスならパブリック IP・DNS を確認
  5. OS ファイアウォール: インスタンス内の iptables など

診断ツールも併せて覚えておく価値があります。

  • VPC Flow Logs: ENI・サブネット・VPC のトラフィックを記録。ACCEPT・REJECT を表示し、どこで遮断されたかの手がかりになります
  • Reachability Analyzer: 送信元と宛先を指定すると 経路上の何が遮断しているか を静的に分析します
  • Network Access Analyzer: 意図しないネットワーク経路 (露出) を点検します

「トラフィックが拒否されるが、セキュリティグループと NACL のどちらが原因か分からない」の答えが VPC Flow Logs (REJECT を確認)、「2 つのリソース間の接続可否を事前に検証せよ」が Reachability Analyzer です。

試験での出題パターン #

  • パブリックなのにインターネットが使えない → ルートテーブルの IGW ルート を確認
  • セキュリティグループは開けたが応答が遮断される → NACL のエフェメラルポート (stateless)
  • プライベートから S3 アクセス、NAT コスト削減 → S3 Gateway エンドポイント
  • プライベートから SSM・ECR のプライベート接続 → Interface エンドポイント
  • VPC が多くて接続が複雑 → Transit Gateway (ピアリングは非推移)
  • どこでトラフィックが遮断されているか分からない → VPC Flow Logs (REJECT)
  • 接続可否の事前検証 → Reachability Analyzer

よくある落とし穴 #

1) セキュリティグループと NACL を同じものと見る #

SG はインスタンス単位・stateful・allow のみ、NACL はサブネット単位・stateless・allow/deny です。NACL は応答ポートまで開く必要があります。

2) ピアリングが推移すると考える #

A-B-C のピアリングがあっても A-C は直接ピアリングするか Transit Gateway を使う必要があります。

3) NAT Gateway でインバウンドができると誤解 #

NAT は アウトバウンド専用 です。外部からプライベートへ入ってくるインバウンドは NAT ではできません。

4) エンドポイントなしで SSM がプライベートで動くと仮定 #

インターネット・NAT がなければ、プライベートインスタンスの SSM・ECR は Interface エンドポイント が必要です。

まとめ #

この記事で押さえたこと:

  • パブリック・プライベートの違いは ルートテーブルの IGW ルート の有無
  • セキュリティグループ (インスタンス・stateful・allow) vs NACL (サブネット・stateless・allow/deny)。NACL はエフェメラルポートまで
  • プライベートの外部接続は NAT (インターネットアウトバウンド) と VPC エンドポイント (AWS プライベート接続)。Gateway (S3・DynamoDB・無料) vs Interface (PrivateLink)
  • VPC 間は ピアリング (非推移)・Transit Gateway (ハブ)、オンプレミスは VPN・Direct Connect
  • トラブルシューティングは ルーティング → SG → NACL → パブリック IP → OS の順。Flow LogsReachability Analyzer で診断

次: Domain 4-2 Route 53 と CloudFront #

VPC 内部の接続を押さえたので、次は DNS とコンテンツ配信 です。

#11 Domain 4-2 ネットワーキング: Route 53・CloudFront・配信運用 では、Route 53 のレコードとルーティングポリシー、ヘルスチェック、CloudFront のキャッシュとオリジン構成、TLS 証明書 (ACM)、そしてコンテンツ配信トラブルシューティングまで整理します。

X