「AWS VPCネットワーク-パブリック-プライベート構成 」
はじめに
色々作っても、現場で見れないとちょっと困る時があるので書いていくことに
今回は、パブリック-プライベート構成
目的
VPC-EC2インスタンスのパプリック-プライベート構成をマルチAZで構築してネットワークを理解する
やること・やらないこと
-
やること
VPC-EC2インスタンスのパプリック-プライベート構成の作成とネットワーク周りの設定構成要件
- インターネットからEC2への直接アクセスができないこと
- ルートテーブル、セキュリティグループの設定値と通信の流れを図にする
-
やらないこと
コンソール操作の手順の記載(UIがコロコロ変わるため)
VPC、ルートテーブル、セキュリティグループ以外の各サービスの解説や設定(ALBとは、EC2とは、VPCとは)とか
EC2接続のSGなどの設定
構成図

VPCを作成し、そのVPCにサブネットを4つ作成
その後、インターネットゲートウェイ(以後IGW)を作成してアタッチ
インターネットゲートウェイにつながるサブネットをパブリックサブネット、それ以外をプライベートサブネットとする
パブリックサブネットにはALBを配置し、プライベートサブネットにはEC2を配置する
セキュリティグループはALB、EC2それぞれに作成してアタッチする
パブリックサブネットとプライベートサブネットは、リソースとしては同じサブネットになります
パブリックサブネットは、インターネットゲートウェイへのルート設定がされているものをパブリックサブネット
されていないものをプライベートサブネットと呼びます
設定値
構成図の下部にセキュリティグループ、ルートテーブルついての解説
-
セキュリティグループ
-
ALBにアタッチ
インバウンドルールは作業端末IPからのHTTP(80)通信を許可
アウトバウンドはデフォルトのため記載を省略タイプ プロトコル ポート範囲 ソース HTTP TCP 80 作業PCのIP -
EC2インスタンスにアタッチ
インバウンドルールはALBのセキュリティグループからのHTTP(80)通信を許可
アウトバウンドはデフォルトのため記載を省略タイプ プロトコル ポート範囲 ソース HTTP TCP 80 ALBのセキュリティグループ
-
-
ルートテーブル
-
パブリックサブネットに関連付け
送信先 ターゲット 0.0.0.0/0 IGW ::/0 IGW VPCのCIDR local ルールは上から
- IGWからのIPv4通信のルート
- IGWからのIPv6通信のルート
- デフォルトルート
-
プライベートサブネットに関連付け
送信先 ターゲット VPCのCIDR local
-
インターネットから、EC2に対して直接アクセスすることはできません
インターネット → ALB → EC2 のように間接的なアクセスとなります
また、セキュリティグループのチェーンによって、パブリックサブネットのALBからでないとプライベートサブネットのEC2にはアクセスできません
ネットワークルート
- 作業用PCからALBのAレコードに向けてHttp通信を行う
作業用PC-インターネット-VPC.IGW-ALB-EC2 - 戻りのルートは
EC2-ALB-VPC.IGW-インターネット-作業用PC
このままでは、EC2構築時初期のインストール作業などができません
なぜならば、EC2からインターネットへのアウトバウンド通信ができないからです
インターネットのアウトバウンドができないのでもう少し追加してみます
それではどうすればいいでしょう?
パブリックサブネットにNATゲートウェイを追加してみます
追加の構成図
パブリックサブネットの片方にNATゲートウェイを作成します
NATゲートウェイは冗長化しませんただ、実際の現場では。必要に応じて冗長化はやります
設定値
プライベートサブネットのルートテーブルにNATゲートウェイへのルートを追加します
- ルートテーブル
-
プライベートサブネットに関連付け
送信先 ターゲット 0.0.0.0/0 NATゲートウェイ ::/0 NATゲートウェイ VPCのCIDR local ルールは上から
- IGWからのIPv4通信のルート
- IGWからのIPv6通信のルート
- デフォルトルート
-
ネットワークルート
今回作成した成果物
以下にterraformとCloudFormationスタックとして作成しGitリンクを貼り付け
IPv4、IPv6それぞれで作っています
お金が発生するALB、EC2インスタンス、EIPが含まれていますので利用の際はご注意を



