0. 完成形
このようなネットワーク構成を作成していく
AWS の各サービスについての説明は今回は省略
1. VPC / Subnet の作成
1.1 VPC の作成
my-vpc
という名前の VPC を作成
[AWS] > [VPC] > [VPC の作成] から以下のように作成
1.2 Subnet の作成
Public subnet と、Private subnet を以下のように作成
Name | AZ |
---|---|
my-public-subnet | ap-northeast-1a |
my-private-subnet | ap-northeast-1c |
[AWS] > [VPC] > [サブネット] > [サブネットの作成] から以下のように作成
それぞれの "VPC*" は、上で作成した
my-vpc
を選択
2. Internet Gateway / Route Tableの作成
2.1 Internet Gateway の作成
作成した VPC から、インターネットにアクセスするためには、ここで作成する Internet Gateway が必要となる。また、サブネットの作成手順からわかるように、Public subnet と Private subnet で、サブネット自体の作成に特に違いはない。ルートテーブルにこの Internet Gateway を設定したものが Public subnet になる。
[AWS] > [VPC] > [インターネットゲートウェイ] > [インターネットゲートウェイの作成] から以下のように作成
作成した Internet Gateway は、作成しただけでは VPC から使用することができないため、アタッチ
[my-igw] > [アクション] > [VPC にアタッチ] から、my-vpc
を選択してアタッチする。
2.2 Route Table の作成
[AWS] > [VPC] > [ルートテーブル] > [ルートテーブルの作成] から以下のように作成
作成した Route Table で Internet Gateway が使えるように設定を行う
[my-route] > [ルート] > [ルートの編集] から以下のように設定
0.0.0.0/0 のターゲットで、作成した
my-igw
を選択
2.3 Public subnet と Route Table の関連付け
Route Table を作成したら、これをサブネットに関連付ければ、それが Public subnet になる
[my-route] > [サブネットの関連付け] > [サブネットの関連付けの編集] から my-public-subnet
を選択し、保存
これで Public subnet で Internet Gateway が使えるようになったが、デフォルトだと Public IP Address がない状態
そのため、[my-public-subnet] > [アクション] > [自動割り当て IP 設定の変更] から、IPv4 の自動割り当て
を有効化し保存
3. EC2 インスタンスの作成
ここは本題ではないため詳細は省略
Public subnet と Private subnet に 1 つずつ、EC2 インスタンスを起動する
所属する VPC の設定を、それぞれ作成した、my-public-subnet
と my-private-subnet
にする
Public subnet EC2
my-public-instance
を作成
Private subnet EC2
my-private-instance
を作成
4. Security Group の作成
EC2 インスタンスを起動すると、Security Group が設定される
Private subnet の EC2 インスタンスは、Public subnet からだけアクセスできるようにしたいため、新しく Security Group を作成
[AWS] > [EC2] > [セキュリティグループ] > [セキュリティグループの作成] で以下のように設定
作成した my-private-sg
を、my-private-instance
に設定する
[my-private-instance] > [アクション] > [ネットワーキング] > [セキュリティグループの変更] から、
作成した my-private-sg
を選択し、保存
5. NAT Gateway の作成
Private subnet はインターネットに接続されていない
インターネットに接続するためには、Public subnet に NAT Gateway を作成し、Private subnet の Route table に追加する必要がある
[AWS] > [VPC] > [NAT ゲートウェイ] > [NAT ゲートウェイの作成] で以下のように設定
サブネットは、
my-public-subnet
を指定
Route table への追加は、
[my-private-subnet] > [ルート] > [ルートの編集] から以下のように設定
0.0.0.0/0 のターゲットに、作成した NAT Gateway を指定
これで、my-private-instance
からインターネット接続ができるようになる