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