下記の記事では、図のようなネットワーク構成(VPC、サブネット)を作成しました。
>> 参考記事 : 【AWS】ネットワーク(リージョン、AZ、VPC、サブネット)設定確認今回、インターネットへ公開するサブネット(パブリックサブネットと言います)を設定します。この場合、ルートテーブルとインターネットゲートウェイを設定する必要があります。
ルートテーブル
ルートテーブルは、サブネットから外のネットワークに出る場合に、どの出口(ゲートウェイ)へ転送すればよいか決定するために設定します。
このルートテーブルはサブネットに紐づきます。
通常のネットワークの概念では、ルートテーブル(ルーティングテーブル)はルータに紐づくもので、サブネットがルート情報をもつという考え方はありません。
AWSの場合は、サブネットがルート情報を持ちます。サブネットに入ってきた通信の宛先をルートテーブルで見て、次の転送先(ネクストホップ)を決めます。
デフォルトで設定されているルートテーブルは、VPCのサブネットである10.0.0.0/16 のルートのみが設定されています。例えば、このルートテーブルをサブネット(Public subnet)に紐づけると下記のような構成となります。
10.0.0.0/16 はVPC内のCIDRブロックです。即ち、VPC内のサブネット間はルートテーブルにより接続することができます。
実務では、デフォルトのルートテーブルは使用せず、サブネットに応じたルートテーブルを新規で作成するのが一般的です。
VPCの外であるインターネットへ接続する場合、デフォルトルート(0.0.0.0/0)をインターネット向けに設定します。
そのインターネット向けのターゲット(ゲートウェイ)となるのが、次に説明するインターネットゲートウェイです。
インターネットゲートウェイ
サブネットをインターネットへ接続する際は、インターネットゲートウェイを設定し、インターネットゲートウェイをターゲット(ゲートウェイ)にしたルートテーブルを設定します。
インターネットゲートウェイはVPCに紐づけます。
サブネットにおけるルートテーブルにてデフォルトルート(0.0.0.0/0)をインターネットゲートウェイ向けへ設定追加します。
これで、上のサブネット(Public subnet)はインターネットゲートウェイ経由で、インターネットへ接続できるようになります。
インターネットゲートウェイの場合、このサブネットをインターネット上に公開することができます。(インターネットからのインバウンド通信が許可されます)
ただし、プライベートサブネットのようなインターネットへ接続はしたいが、インターネットへ公開はしたくない場合があります。この場合は、インターネットゲートウェイではなく、NATゲートウェイを使用します。
NATゲートウェイ
サブネットからインターネットへ接続(アウトバウンド接続)できますが、インターネットからサブネットへのインバウンド接続はできません。
インターネットゲートウェイはVPCに紐付けしましたが、NATゲートウェイはサブネットに紐づけます。また、NATゲートウェイは、インターネットゲートウェイを必要とし、パブリックサブネットに配置します。
設定確認
インターネットゲートウェイの作成
インターネットゲートウェイを作成し、VPCに紐づけます。
VPCポータルからインターネットゲートウェイへ移動し、インターネットゲートウェイの作成をクリックします。
任意の名前(今回は、internet-gw)を設定し、作成ボタンをクリックします。
インターネットゲートウェイが作成されますが、まだ、VPCへまだ紐付け(アタッチ)できていません。VPCへアタッチをクリックします。
今回、追加したMyVPCを選択し、アタッチのボタンをクリックします。
インターネットゲートウェイの状態がattachedであれば、正常に完了です。
ルートテーブルの作成とサブネットとの関連付け(パブリック)
では、パブリックサブネットのルートテーブルを作成します。ルートテーブルからルートテーブルの作成をクリックします。
任意の名前(今回は、Public-subnet-route)と使用するVPCを設定し、ルートテーブルの作成をクリックします。
このルートテーブルは、10.0.0.0/16のVPC内のローカルルートしか設定されていません。
デフォルトルート(0.0.0.0/0)をインターネットゲートウェイに向けるよう、テーブルを追加します。
該当ルートテーブルのルートタブからルートの編集をクリックします。
ルートを追加をクリックします。
送信先を0.0.0.0/0とし、ターゲットでインターネットゲートウェイを選択します。
すると、先ほど登録したインターネットゲートウェイが表示されるため、選択し、変更を保存をクリックします。
下記のとおり、登録されました。このルートテーブルをパブリックサブネットに紐付け(関連付け)します。サブネットの関連付けをクリックします。
サブネットの関連付けを編集をクリックします。
public-subnetを選択し、関連付けを保存をクリックします。
これで、下記のとおり、ルートテーブルがサブネットに紐づきました。
NATゲートウェイの作成
NATゲートウェイを作成し、パブリックサブネットに紐づけます。NATゲートウェイを作成をクリックします。
下記の画面が表示されます。
- 名前:任意の名前。今回はNAT-gwとします。
- サブネット:パブリック側のサブネットを選択します。
- 接続タイプ:パブリック を選択します。
- Elastic IPの割り当てID:リストより選択できるものを選択。
上記を設定し、NATゲートウェイを作成をクリックします。
ルートテーブルの作成とサブネットとの関連付け(プライベート)
パブリック同様、プライベート側のルートテーブルを作成します。
任意の名前(今回は、Private-subnet-route)と使用するVPCを設定し、ルートテーブルの作成をクリックします。
デフォルトルート(0.0.0.0/0)をNATゲートウェイに向けるよう、テーブルを追加します。
該当ルートテーブルのルートタブからルートの編集をクリックし、送信先に0.0.0.0/0 、ターゲットにNATゲートウェイを選択します。
先ほど設定したNATゲートウェイが表示されるので、選択し、変更を保存をクリックします。
下記のとおり、登録されました。
このルートテーブルをプライベートサブネットに紐付け(関連付け)します。サブネットの関連付けをクリックします。
private-subnetを選択し、関連付けを保存をクリックします。
これで、パブリックサブネットはインターネットゲートウェイを介して、そして、プライベートサブネットはNATゲートウェイを介してインターネットへの接続ができるようになります。
今後、作成したサブネット上に仮想マシン(EC2インスタンス)を作成します。
>> 参考記事 : 【AWS】仮想インスタンス(EC2)追加の設定確認
コメント