AWS経験5年以上の僕が、VPCと関連サービス(サブネット、インターネットゲートウェイ、ルートテーブル)の概要と構築手順について、詳しくご説明します。
本記事の内容
- VPC、サブネット、インターネットゲートウェイ、ルートテーブルの簡単な説明
- 上記サービスの構築手順
もくじ
VPCとは
VPCと以下の関連サービスについて紹介しますね。
- サブネット
- ルートテーブル
- インターネットゲートウェイ
VPC
VPCを簡単に説明すると以下になります。
- VPCはVirtual Private Cloudの略
- AWSアカウント内に自分だけのネットワーク領域を作成できるサービス
- VPCを作成することでEC2など自分だけのサーバーを構築することができる
- VPCはアベイラビリティゾーン(AZ)をまたいで作成できる
- 本記事で作成するVPCサービスは全て無料
VPCには、以下などの関連サービスが存在します。他にもいくつかありますが、今回は使用しません。
- サブネット
- ルートテーブル
- インターネットゲートウェイ
サブネット
サブネットはVPCの関連サービスで、機能としては以下のとおりです。
- VPC内のネットワークを分割したもの
- EC2やRDSなどのAZサービスは1つのサブネット内に配置される
- サブネットは必ず一つのアベイラビリティゾーン(AZ)の中に作られる
- サブネットはAZをまたいで作成できない
- 対象のサブネットに関連付けられたルートテーブルの送信先にインターネットゲートウェイを設定した場合、そのサブネットはパブリックサブネットと呼ばれる
- 上記以外のサブネットは全てプライベートサブネットと呼ばれる
- 無料
ルートテーブル
ルートテーブルもVPCの関連サービスになります。機能としては以下のとおり。
- どこに接続するかのネットワーク経路を設定する
- ルートテーブルはサブネットごとに割り当てる
- 無料
インターネットゲートウェイ
インターネットゲートウェイもVPCの関連サービスです。機能としては以下のとおりになります。
- VPCとインターネットとの境界線
- インターネットゲートウェイをVPCにアタッチしルートテーブルの送信先に設定することで、インターネット接続できるようになる
- 基本的にインターネットゲートウェイはパブリックサブネットのルートテーブルに割り当てる
- 無料
VPCの構築イメージ
今回のVPC構築イメージは以下のとおり。
- 東京リージョンのアベイラビリティゾーン 1aと1cを使用し、マルチAZ環境を構築可能にする
- インターネットから直接アクセスできるパブリックサブネットと、インターネットからは直接アクセスできないプライベートサブネットを作成
- ルートテーブルはパブリックサブネット用とプライベートサブネット用の二つを作成
- パブリックサブネットからインターネットゲートウェイを経由してインターネット接続できるようにする
構築ステップ
以下のステップでVPCを構築します。
- ステップ1:VPCを作成する
- ステップ2:サブネットを作成する
- ステップ3:ルートテーブルを作成する
- ステップ4:インターネットゲートウェイを作成する
- ステップ5:パブリックサブネット用のルートテーブル送信先にインターネットゲートウェイを設定する
ステップ1:VPCを作成する
上記の「VPC」を作成します。
最初に「AdministratorAccess」の権限があるIAMユーザーでAWSマネジメントコンソールにログインします。
サインイン後に右上のリージョンを確認して「東京」となっていることを確認。もし別のリージョンが表示されている場合は、矢印をクリックして「東京」を選択します。
画面上部中央に検索ボックスがあるので、そこに「vpc」と入力。表示された「VPC」サービスをクリックします。
「VPCウィザードの起動」を使用するとステップ2のサブネットも同時に作成できますが、今回は一つ一つ作成します。
「VPC」画面の左メニューから「VPC」→右上の「VPCを作成」をクリックします。
VPCはAWSアカウント作成後にデフォルトで1つ用意されています。これは「デフォルトVPC」と呼ばれ、AWSアカウント作成後すぐにVPCを使用できるようにするため存在します。
今回は「デフォルトVPC」は使用せず、自分でVPCを作成します。
以下を参考に入力し、「VPCを作成」をクリックします。
- 名前タグ:VPCの名前を入力(例:test-vpc-01)
- IPv4 CIDRブロック:VPC用のIPアドレス範囲をCIDR形式で入力(例:10.0.0.0/16)
ステップ2:サブネットを作成する
上記の「サブネット」4つを作成します。
「VPC」画面の左メニューから「サブネット」→右上の「サブネットを作成」をクリックします。
サブネットもデフォルトで3つ用意されています。これは「デフォルトVPC」の中に作成されています。
今回はデフォルトで用意されたサブネットは使用せず、自分でサブネットを作成します。
以下を参考に入力します。サブネットの「IPv4 CIDR ブロック」は、VPCで設定したIPアドレスの範囲内で指定する必要があります。
- VPC ID:上記の手順で作成したVPCを選択(例:test-vpc-01)
- サブネット名:AZ 1a パブリックサブネット用の名前を入力(例:test-subnet-pub1a-01)
- アベイラビリティーゾーン:「アジアパシフィック(東京) / ap-northeast-1a」を選択
- IPv4 CIDR ブロック:AZ 1a パブリックサブネット用のIPアドレス範囲をCIDR形式で入力(例:10.0.1.0/24)
残りのサブネット3つを作成していきます。左下の「新しいサブネットを追加」をクリックします。
2つ目のサブネットを作成します。以下を参考に入力します。
- サブネット名:AZ 1c パブリックサブネット用の名前を入力(例:test-subnet-pub1c-01)
- アベイラビリティーゾーン:「アジアパシフィック(東京) / ap-northeast-1c」を選択
- IPv4 CIDR ブロック:AZ 1c パブリックサブネット用のIPアドレス範囲をCIDR形式で入力(例:10.0.51.0/24)
3つ目のサブネットを作成します。左下の「新しいサブネットを追加」をクリック、以下を参考に入力します。
- サブネット名:AZ 1a プライベートサブネット用の名前を入力(例:test-subnet-pri1a-01)
- アベイラビリティーゾーン:「アジアパシフィック(東京) / ap-northeast-1a」を選択
- IPv4 CIDR ブロック:AZ 1a プライベートサブネット用のIPアドレス範囲をCIDR形式で入力(例:10.0.101.0/24)
4つ目のサブネットを作成します。左下の「新しいサブネットを追加」をクリック、以下を参考に入力します。その後「サブネットを作成」をクリックします。
- サブネット名:AZ 1c プライベートサブネット用の名前を入力(例:test-subnet-pri1c-01)
- アベイラビリティーゾーン:「アジアパシフィック(東京) / ap-northeast-1c」を選択
- IPv4 CIDR ブロック:AZ 1c プライベートサブネット用のIPアドレス範囲をCIDR形式で入力(例:10.0.151.0/24)
ステップ3:ルートテーブルを作成する
上記の「ルートテーブル」を作成します。正確には「ルートテーブル(パブリック用)」だけをこの手順で作成します。理由は後述します。
「VPC」画面の左メニューから「ルートテーブル」をクリックします。
ルートテーブルも「デフォルトVPC」用に1つ用意されていますが、それは使用しません。
そして、実は上記手順でVPCを作成した時に、ルートテーブルが自動で1つ作成されていました。VPC IDに自分が作成したVPC名が表示されているほうです。このルートテーブルをプライベートサブネットに関連付けていきます。
VPC IDに自分が作成したVPC名が表示されているほうにチェックを入れ、「サブネットの関連付け」、「サブネットの関連付けの編集」の順にクリックします。
2つのプライベート用のサブネットにそれぞれチェックを入れ、「保存」をクリックします。
次にパブリックサブネット用のルートテーブルを作成します。「ルートテーブルの作成」をクリックします。
以下を参考に入力し、「作成」をクリックします。
- 名前タグ:パブリック用のルートテーブル名を入力(例:test-rt-pub-01)
- VPC:これまでの手順で作成したVPCを選択
「閉じる」をクリックします。
たった今作成したルートテーブルにチェックを入れ、「サブネットの関連付け」、「サブネットの関連付けの編集」の順にクリックします。
2つのパブリック用のサブネットにそれぞれチェックを入れ、「保存」をクリックします。
最後にプライベート用のルートテーブルに名前タグを設定します。ペンのアイコンをクリックします。
ルートテーブル名(例:test-rt-pri-01)を入力し、チェックマークのアイコンをクリックします。
ステップ4:インターネットゲートウェイを作成する
上記の「インターネットゲートウェイ」を作成します。
「VPC」画面の左メニューから「インターネットゲートウェイ」→右上の「インターネットゲートウェイの作成」をクリックします。
インターネットゲートウェイもデフォルトで用意されています。これは「デフォルトVPC」の中に作成されています。今回はデフォルトで用意されたインターネットゲートウェイは使用せず、自分でインターネットゲートウェイを作成します。
名前タグにインターネットゲートウェイの名前(例:test-igw)を入力し、「インターネットゲートウェイの作成」をクリックします。
右上の「VPCへアタッチ」をクリックします。
検索ボックスをクリック→表示されるVPCを選択→「インターネットゲートウェイのアタッチ」をクリックします。
ステップ5:パブリックサブネット用のルートテーブル送信先にインターネットゲートウェイを設定する
上記のルートテーブル(パブリック用)送信先にインターネットゲートウェイを設定します。分かりやすくするために図では矢印が二つありますが、実際は一つのルートテーブル(パブリック用)に対して設定します。
「VPC」画面の左メニューから「ルートテーブル」→パブリック用のルートテーブルにチェックを入れる→「ルート」→「ルートの編集」をクリックします。
「ルートの追加」をクリック→「送信先」のボックスをクリックすると表示される「0.0.0.0/0」を選択→「ターゲット」のボックスをクリック→「Internet Gateway」をクリック→上記手順で作成したインターネットゲートウェイが表示されるのでそれをクリックします。
「閉じる」をクリックします。
VPCは簡単に自分だけのネットワークが作成できる:まとめ
VCPとその関連サービスを作成しました。VPCはAWSを使用する上で最初に理解する必要があるサービスです。
まだよく理解できていないという人も、AWSをさわっている内に少しずつ分かってきますので焦る必要はありません。だんだんと点が線になっていきます。
さて、これでEC2を作成する準備が整いました。次はEC2を構築してみましょう。
こちらの記事をご覧ください。↓
-
【AWS】EC2でAmazon Linux 2を構築しSSH接続してみよう
続きを見る