AWSでWEBアプリケーションを構築したいときのよくある構成として
- AWS上にVPCを作成
- データベースはプライベートサブネットに配置して外からアクセスできないように
- アプリケーションはパブリックサブネットに配置して外からアクセス可能なように
というようにそれぞれサブネットを切っていくような場面がよくあると思います。
今回はAWSでのパブリックサブネットとプライベートサブネットの作成手順とパブリックサブネットとプライベートサブネットの違いについても説明してみたいと思います。
↓VPCの作成方法はこちら↓
今回作成するのは下記の「Public subnet」と 「Private subnet」 の部分です

サブネットの作り方
AWSのコンソールから、「ネットワーキングとコンテンツ配信」→「VPC」 を選びます。

サイドメニューから「サブネット」→「サブネットを作成」

まずはパブリックサブネットを作成します。
VPCであらかじめ作成しておいたVPCを指定します。
好きなサブネット名を設定し、アベイラビリティーゾーンを任意の場所に選択します、
IPv4 CIDRブロックでVPCの範囲内で「10.1.1.0/24」とします。
あとは「サブネットを作成」をクリックします。

次にプライベートサブネットを作成しますが、パブリックサブネットとの違いは、
この時点では名前と IPv4 CIDRブロックを「10.1.2.0/24」の違いだけで、
作り方は同じです。

パブリックとプライベートの違いは?
では、パブリックサブネットとプライベートサブネットの違いは何かというと、
そのサブネットに外(インターネット)とつながる出入口へルーティングされているかどうかです。
なのでサブネット作成してすぐの状態だとVPCから外 (インターネット) に出る出口が無いので、
名前は パブリックサブネット でも外に出れないので実際はプライベートです。
インターネットゲートウェイの作成
外に出るためにはインターネットゲートウェイ(Internet Gateway)を使います
インターネットゲートウェイ がVPCから外に出る出入口の役割になります。
サイドメニューから「 インターネットゲートウェイ 」→「 インターネットゲートウェイ を作成」

好きな名前を設定します。

作成されたインターネットゲートウェイのアクションで「VPCにアタッチ」を選択

アタッチするVPCを選択して「インターネットゲートウェイのアタッチ」

ルートテーブルの作成
VPCにインターネットゲートウェイがアタッチされたので、
そのインターネットゲートウェイを通るようにルートテーブルを作成します
サイドメニューから「 ルートテーブル 」→「 ルートテーブル を作成」

名前とVPCを設定したら「 ルートテーブル を作成 」

作成したルートテーブルで「ルートを編集」をクリック

0.0.0.0/0でターゲットにインターネットゲートウェイを指定したルートを追加します。
インターネットゲートウェイ を選択すると、先ほど作成したインターネットゲートウェイが選べるようになるので、
選んで「変更を保存」をクリック

これでデフォルトゲートウェイがインタネットゲートウェイとなるルーティングが作成できたので、
このルーティングを使用したサブネットでは、出入口として インタネットゲートウェイ を利用できるようになります。
このルーティングをパブリックサブネットで使用しましょう。
作成したルートテーブルの「サブネットの関連付け」タブから「サブネットの関連付け」

パブリックサブネットを選択して「関連付けを保存」をクリック

これでパブリックサブネットにはデフォルトゲートウェイがインターネットゲートウェイとなっているルートテーブルが、プライベートサブネットにはデフォルトのルーティングとしてプライベートのみのルートテーブルが紐づき、パブリックサブネットとプライベートサブネット が完成しました。
コメント