はじめに
色々作っても、現場で見れないとちょっと困る時があるので書いていくことに。
今回は、パブリック-プライベート-VPCエンドポイント-S3 + VPCピアリング構成。
前回の続きになります→前回
目的
VPC-VPCエンドポイント-S3+VPCピアリングの接続を構築してネットワークを理解する。
やること・やらないこと
- やること
VPC-EC2インスタンスのパプリック-プライベート-VPCエンドポイント+VPCピアリング構成の作成とネットワーク周りの設定
構成要件- S3、別のVPCへのインターネットを介さないプライベートな接続が可能であること
- ルートテーブル、セキュリティグループの設定値と通信の流れを図にする
- やらないこと
コンソール操作の手順の記載(UIがコロコロ変わるため)
VPC、ルートテーブル、セキュリティグループ以外の各サービスの解説や設定(ALBとは、EC2とは、VPCとは、S3とは)とか
EC2接続のSGなどの設定
構成図
VPCを2つ作成。マルチAZ構成のVPC(画像の左)については前回をご覧ください。
これをVPC Aと呼びます。
ここから追加分
東京リージョンにS3を作成し、VPCエンドポイント(ゲートウェイ型)を作成。
VPCをもう一つ作成します。
これをVPC Bと呼びます
パブリックサブネットとプライベートサブネットを1つ作成し、パブリックサブネットにNATGateway、プライベートサブネットの中でEC2を起動します。
そしてVPC AとVPC Bのピアリング接続を作成します。
設定値
構成図の下部にセキュリティグループ、ルートテーブルついての解説
VPC A (イメージ左のマルチAZ構成VPC)
-
セキュリティグループ
-
ALBにアタッチ
インバウンドルールは作業端末IPからのHTTP(80)通信を許可
アウトバウンドはデフォルトのため記載を省略タイプ プロトコル ポート範囲 ソース HTTP TCP 80 0.0.0.0/0 -
EC2インスタンスにアタッチ
インバウンドルールはALBのセキュリティグループからのHTTP(80)通信を許可タイプ プロトコル ポート範囲 ソース HTTP TCP 80 ALBのセキュリティグループ アウトバウンドはデフォルトのため記載を省略
-
-
ルートテーブル
-
パブリックサブネットに関連付け
送信先 ターゲット 0.0.0.0/0 IGW ::/0 IGW VPCのCIDR local ルールは上から
- IGWからのIPv4通信のルート
- IGWからのIPv6通信のルート(IPv6のみ)
- デフォルトルート
-
プライベートサブネットに関連付け
送信先 ターゲット S3エンドポイントのマネージドプレフィックス VPCエンドポイント VPC BのCIDR VPCピアリング 0.0.0.0/0 NatGateway ::/0 Egress-Only インターネットゲートウェイ VPCのCIDR local S3ゲートウェイエンドポイントのルートを設定
VPC AのEC2からVPC Bのルートを設定
Egress-Only インターネットゲートウェイはIPv6の場合のみ
-
VPC B (イメージ右のシングルAZ構成VPC)
-
セキュリティグループ
- EC2インスタンスにアタッチ
インバウンドルールはVPC A CIDRからのHTTP(80)通信を許可
アウトバウンドはデフォルトのため記載を省略タイプ プロトコル ポート範囲 ソース HTTP TCP 80 VPC A CIDR
- EC2インスタンスにアタッチ
-
ルートテーブル VPC A もVPC Bも同じ
-
パブリックサブネットに関連付け
送信先 ターゲット 0.0.0.0/0 IGW ::/0 IGW VPCのCIDR local ルールは上から
- IGWからのIPv4通信のルート
- IGWからのIPv6通信のルート(IPv6のみ)
- デフォルトルート
-
プライベートサブネットに関連付け
送信先 ターゲット VPC AのCIDR VPCピアリング 0.0.0.0/0 NatGateway ::/0 Egress-Only インターネットゲートウェイ VPCのCIDR local Egress-Only インターネットゲートウェイはIPv6の場合のみ
-
これでVPC AのEC2からVPC BのEC2に接続が可能となります。
ネットワークルート
VPC Aのネットワークアクセスについては前回をご覧ください
EC2からS3へのアクセス
これはVPCエンドポイント(ゲートウェイ型)での接続となる
インターネット経由ではなく、AWSの内部ネットワークを利用して接続することが可能になるためセキュアな通信と実現できる
EC2-VPCエンドポイント-S3 と言う通信の流れになります
VPC AのEC2からVPC BのEC2のアクセス
VPC Aから別のVPC Bに対してインターネットを経由しない接続が可能となる
VPC AのEC2-VPC BのEC2 と言う通信の流れになります
今回作成した成果物
今回は、EC2内部からS3や別VPCのEC2へとアクセスするため、ネットワークとは別にSSM接続やEC2のロール構成が含まれます
解説外の構成が多いため、詳細はGitリンクのREADMEを参照ください
以下にterraformとCloudFormationスタックとして作成しGitリンクを貼り付け
ALB、EC2インスタンス、Nat、EIPには料金発生してきますのでご注意下さい