🔗

VPC ピアリングで 2 つの VPC をプライベート接続する

難易度:中級
所要時間:45 分

ラボ概要

CIDR が重複しない 2 つの VPC を作成し、VPC ピアリング接続とルート設定で EC2 同士のプライベート通信(ping)を確立します。

このラボでは、CIDR が重複しない 2 つの VPC(10.10.0.0/1610.20.0.0/16)を一から手作業で構築し、それぞれにサブネットと EC2 を 1 台ずつ配置します。各 VPC にはインターネットゲートウェイ(IGW)を作成・アタッチし、メインルートテーブルに 0.0.0.0/0 → IGW のデフォルトルートを追加します。さらにサブネットの「パブリック IPv4 アドレスの自動割り当て」を有効化し、EC2 起動時にもパブリック IP を有効化することで、SSM エージェントがインターネット経由で Systems Manager に到達できる(=セッションマネージャーで接続できる)状態を作ります。そのうえで VPC ピアリング接続を作成・承認し、両 VPC のルートテーブルに「相手側の CIDR をピアリング接続へ向ける」ルートを追加します。最後にセッションマネージャーで EC2 にログインし、ping でインターネットを経由しない VPC 間プライベート通信が成立することを実機で確認します。

VPC ピアリングは「ルート(経路)」と「セキュリティグループ(許可)」が両方そろって初めて通信できる点が肝です。本ラボはその両方を自分の手で設定し、片方が欠けると通らないことを体感できる構成になっています。

セッションマネージャーで接続できる状態は「パブリック IP が実際に付与されている+IGW+0.0.0.0/0 → IGW ルート+DNS 解決(enableDnsSupport)」の 4 つがすべて揃って初めて成立します。本ラボはパブリック DNS 名(enableDnsHostnames)は使わずプライベート IP で疎通確認まで完結するため、enableDnsHostnames は無効のままで問題ありません。

なお東京リージョンには既存の VPC(デフォルト VPC など)が複数存在し、それぞれにメインルートテーブルがあります。ルートテーブルを操作する手順では、必ず検索バーの属性「VPC」で対象 VPC を選んでから編集することで、別の VPC のルートテーブルを誤って書き換える事故を防ぎます。

学習目標

  • CIDR が重複しない 2 つの VPC を設計し、ピアリング可能な前提を理解できる
  • 各 VPC に IGW を作成・アタッチし、デフォルトルートとパブリック IP 設定で EC2 を SSM に到達させる経路を構成できる
  • VPC ピアリング接続をリクエスト・承認して Active にできる
  • 両 VPC のルートテーブルに相手 CIDR → ピアリングのルートを追加し、双方向の経路を構成できる
  • セキュリティグループで相手 VPC からの ICMP を許可し、ルートと許可の両方が必要なことを理解できる
  • セッションマネージャー(SSH キー不要)で EC2 に接続し、プライベート IP 越しの ping で疎通を検証できる

前提

  • フェデレーテッドコンソールに cloud_user ロールでサインイン済みであること
  • すべての操作を東京リージョン(ap-northeast-1)で行うこと(IAM などグローバルサービスを除く)
  • 本ラボでは IAM ロール(lab-peer-ssm-role)を新規作成し、それを EC2 にインスタンスプロファイルとして割り当てます。サンドボックスの cloud_user には iam:CreateRole / iam:AttachRolePolicy / iam:PassRolelab-peer-* ロールおよび SSM 用ロールを EC2 に渡すために必須)が許可されている前提です。もし手順 5 や手順 6 でロール作成・割り当てが権限エラーになる場合は、サンドボックスに用意済みの既存 SSM ロールがあればそれを選択してください(その場合は手順 5 をスキップできます)
  • VPC / サブネット / ルートテーブル / セキュリティグループの基本概念に触れたことがあると理解がスムーズです(未経験でも手順どおり進めれば完了できます)
  • EC2 への接続は AWS Systems Manager セッションマネージャーを使うため、SSH キーペアの準備は不要です。ただしセッションマネージャーが動作するには、SSM エージェントが SSM サービスエンドポイントへ到達できる経路と、エンドポイント名を解決できる DNS が必要です。本ラボでは各 VPC に IGW を作成し、パブリック IP 経由でインターネットを通って SSM に到達させます(この経路づくりも手順に含まれます)。DNS 解決(enableDnsSupport)は「VPC のみ」で作成した VPC では既定で有効なため、通常そのままで問題ありません
🔗

ハンズオンラボとは?

本物の Azure リソースを使い、リスクなく試行錯誤しながら実践的なスキルを身につけられます。

他のラボを見る