はじめる前に
- 必須AWS アカウントを持っていること
- 必須マネジメントコンソールにサインインできること
- 必須サブネットの土台となる VPC を用意できること(基本的な VPC を 1 つ作れれば十分です。細かい手順はここでは深く扱わず、ざっくり用意します)
- あると良い「IP アドレスの範囲(CIDR ブロック)」という言葉をなんとなく聞いたことがある
※ コマンドラインや SSH などの操作は一切ありません。すべてブラウザのコンソール上で完結します。
参照する公式ドキュメント
手順に迷ったときや、用語の意味を確かめたいときに開きましょう。
※ リンク切れの場合は、ページタイトルで検索してください。
背景・シナリオ
VPC は、AWS の中に確保したあなた専用の大きなネットワーク空間です。たとえば 10.0.0.0/16 の VPC なら、約 65,536 個の IP アドレスを持つ広いスペースになります。
ただ、この広い空間をそのまま 1 つのかたまりとして使うことはあまりありません。実際には 「サブネット」という小さな区画にいくつか分けて、用途ごとに使い分けます。今回はその第一歩として、VPC の中にサブネットを 2 つ作り、ネットワークを区画に分ける感覚をつかみます。
どうして VPC をそのまま使わず、わざわざサブネットに分けるの?
「インターネットに見せる区画/見せない区画」「障害に備えて場所を分けた区画」のように、役割やルールごとにネットワークを分けて管理したいからです。まずは“分けられる”こと自体を体験しましょう。
VPC(例:10.0.0.0/16)の中に、アドレス範囲が重ならないサブネットを 2 つ作成し、どちらも一覧で「Available(利用可能)」になっている状態にする。
つくる構成
VPC のアドレス範囲(例:10.0.0.0/16)を、2 つのサブネット(例:10.0.1.0/24 と 10.0.2.0/24)に切り分けます。CIDR は VPC の範囲内で重ならなければ自由に決めて構いません。サブネットの中にサーバーなどはまだ置きません。
10.0.0.0/16(約 65,536 個)の中から、10.0.1.0/24・10.0.2.0/24(各約 256 個)を切り出して 2 つの区画にします。※ 数値は一例です。VPC の範囲内で重ならなければ、CIDR は自由に決められます。
要件
以下の要件を満たすサブネットを作成してください。
| No | 要件 |
|---|---|
| 1 | リージョンは「東京(ap-northeast-1)」を使用する。 |
| 2 | 土台となる VPC を 1 つ用意する。すでにあればそれを利用し、なければ「VPC のみ」でざっくり作成する。VPC の CIDR は任意でよい(例:10.0.0.0/16)。 |
| 3 | その VPC の中にサブネットを 2 つ作成する。 |
| 4 | 各サブネットの IPv4 CIDR は、VPC の範囲内で、かつ 2 つが互いに重ならないように自由に決める(例:10.0.1.0/24 と 10.0.2.0/24)。 |
| 5 | 各サブネットに名前タグ(例:my-subnet-1 / my-subnet-2)を付け、アベイラビリティーゾーンは ap-northeast-1a を選ぶ。 |
| 6 | 2 つのサブネットが「サブネット」一覧に表示され、状態が「Available(利用可能)」になっていることを確認する。 |
構築の進め方
下のステップは「どの順で進めると迷いにくいか」の道しるべです。各ステップで「なぜそうするのか」を意識しながら進めると、理解が定着しやすくなります。
-
マネジメントコンソールにサインインする
ブラウザで AWS マネジメントコンソールにサインインします。画面右上のリージョン名をクリックして、「アジアパシフィック(東京)ap-northeast-1」になっていることを確認してください。
リージョンを最初に決める理由サブネットも VPC もリージョンごとに作られます。「あとから見つからない」を防ぐため、最初に必ずリージョンをそろえておきましょう。
-
土台となる VPC を用意する
VPC コンソールの左メニュー「お使いの VPC」を開き、使えそうな VPC があるか確認します(例:IPv4 CIDR が
10.0.0.0/16の VPC)。あればそれをそのまま使います。無い場合は「VPC を作成」→「VPC のみ」を選び、VPC を 1 つざっくり作成します。CIDR は任意で構いません(例:
10.0.0.0/16)。細かい設定は気にせず、サブネットを入れる「器」を 1 つ用意できれば十分です。なぜ先に VPC が必要なの?サブネットは「VPC のアドレス範囲を切り分けたもの」です。土台となる VPC が無いとサブネットは作れません。まず器(VPC)を用意してから、その中を区切ります。
-
VPC コンソールの「サブネット」を開く
画面上部の検索バーに
VPCと入力して VPC コンソールを開き、左メニューの「サブネット」をクリックします。現在のリージョンにあるサブネットの一覧が表示されます。最初からいくつか見えても大丈夫デフォルト VPC のサブネットが最初から並んでいることがあります。これから作る 2 つはその一覧に追加されていきます。
-
「サブネットを作成」を押し、VPC を選ぶ
右上の「サブネットを作成」ボタンを押します。最初に 「VPC ID」を選ぶ欄が出てくるので、ステップ 2 で用意した
10.0.0.0/16の VPC を選択します。ここで選んだ VPC の中に作られるサブネットは必ずどれか 1 つの VPC に属します。ここで選んだ VPC のアドレス範囲(例:
10.0.0.0/16)の中から区画を切り出すことになります。 -
1 つ目のサブネットの設定を入力する
「サブネット設定」に次の値を入力します(サブネット 1)。
サブネット名 my-subnet-1アベイラビリティーゾーン ap-northeast-1aIPv4 サブネット CIDR ブロック VPC の範囲内で自由に決める(例: 10.0.1.0/24)アベイラビリティーゾーンって何?1 つのリージョンの中にある、物理的に離れたデータセンターのまとまりです。サブネットは必ずどれか 1 つのゾーンに置かれます。今回は 2 つとも
ap-northeast-1aにそろえます。 -
「新しいサブネットを追加」で 2 つ目も入力する
同じ画面の下にある「新しいサブネットを追加」を押すと、2 つ目の入力欄が増えます。次の値を入力します(サブネット 2)。
サブネット名 my-subnet-2アベイラビリティーゾーン ap-northeast-1aIPv4 サブネット CIDR ブロック 1 つ目と重ならない範囲で自由に決める(例: 10.0.2.0/24)CIDR が重ならないようにする10.0.1.0/24と10.0.2.0/24は使うアドレスの範囲が重なりません。同じ VPC の中のサブネット同士は、アドレス範囲が重複しないように分ける必要があります。 -
作成して、一覧で 2 つを確認する
画面下部の「サブネットを作成」ボタンを押します。「サブネット」一覧に
my-subnet-1とmy-subnet-2が並び、どちらも状態が 「Available(利用可能)」になっていれば完了です。サブネットをクリックすると、属している VPC・アベイラビリティーゾーン・割り当てられた CIDR などの詳細を確認できます。
つまずきポイント
初学者がよく引っかかる箇所を先回りでまとめました。答えそのものは載せていませんが、「どこを見直せばよいか」の手がかりとして使ってください。
「サブネットの CIDR を入れるとエラーが出る」
サブネットの CIDR は、土台となる VPC の範囲(10.0.0.0/16)の内側に収まっている必要があります。また、同じ VPC のサブネット同士で範囲が重なっていてもエラーになります。VPC の CIDR をはみ出していないか、もう一方のサブネットと重複していないかを見直してみてください。半角・スペースなしで入力することも確認しましょう。
「VPC を選ぶ欄に目的の VPC が出てこない」
多くは リージョンの違いが原因です。VPC もサブネットも、作成したリージョンにしか表示されません。画面右上のリージョンが東京(ap-northeast-1)になっているかを確認してください。土台の VPC をまだ作っていない場合は、先に 10.0.0.0/16 の VPC を用意する必要があります。
完了チェック
要件の再確認ではなく、画面のどこを見れば達成を確認できるかをまとめました。VPC コンソールの「サブネット」を開いて、次を順に確かめましょう。
- 画面右上のリージョン表示が 「東京 / ap-northeast-1」になっている。
- 「サブネット」の一覧に
my-subnet-1とmy-subnet-2の 2 行が見えている。 - 2 行とも「状態」列が 「Available(利用可能)」と表示されている。
- 各行をクリックして開いた詳細で、所属する VPC が用意した VPC(例:
10.0.0.0/16)になっている。 - 2 つのサブネットの IPv4 CIDR(例:
10.0.1.0/24と10.0.2.0/24)が互いに重なっていない。
考えてみよう
手を動かすことに加えて、次の問いに自分の言葉で答えられるようにしておくと、理解がより深まります。
- VPC をそのまま 1 つの空間として使わず、わざわざサブネットに分けるのはなぜでしょうか。分けることで何がうれしいのか考えてみましょう。
ヒント
「インターネットに直接見せたいサーバー」と「外から隠しておきたいデータベース」を、同じ 1 つの空間にまとめて置くと、ルールを分けて管理しにくくなります。役割ごとに区画を分けると、それぞれに別のルールを当てやすくなる——という観点から考えてみましょう。 /24のサブネット(例:10.0.1.0/24)には、計算上は約 256 個の IP アドレスが含まれます。しかし実際に使える数はもう少し少なくなります。なぜでしょうか。何個が予約され、使えるのは何個になるか調べてみましょう。ヒント
AWS は各サブネットの先頭や末尾のいくつかのアドレスを、ネットワーク自身やルーター、将来の用途などのために予約しています。予約される個数は決まっています。「256 − 予約数」で使える数が求められます。公式ドキュメント「サブネットの CIDR ブロック」に答えが載っています。- 今回は 2 つのサブネットを同じ
ap-northeast-1aに置きました。もしこれを別々のアベイラビリティーゾーンに分けて作ると、どんな利点があると思いますか。ヒント
アベイラビリティーゾーンは物理的に離れたデータセンターのまとまりです。もし片方のゾーンで障害が起きたとき、両方のサブネットが同じゾーンにあった場合と、別々のゾーンにあった場合とで、サービスの止まり方はどう変わるでしょうか。「可用性(止まりにくさ)」という言葉を手がかりに考えてみましょう。
後片づけ
作ったものを片づけるところまでが一連の流れです。AWS では「使い終わったら消す」習慣をつけておくと、不要な課金やリソースの散らかりを防げます。
今回作成したサブネットは無料なので、学習を続けるならそのまま残しておいて構いません。整理したい場合は、次の手順で削除できます。
- VPC コンソールの左メニュー「サブネット」を開く。
- 一覧から
my-subnet-1とmy-subnet-2を選択する(2 つまとめて選んで構いません)。 - 右上の「アクション」→「サブネットを削除」を選び、確認ダイアログで削除を確定する。
- このハンズオン用に新しく VPC を作った場合は、サブネットを削除したあと、同じ要領で「お使いの VPC」からその VPC も削除できます。
削除するのは自分で作ったものだけ
一覧には、最初から用意されている「デフォルト VPC」とそのサブネットも並んでいます。間違えて削除しないよう、名前タグが my-subnet-1 / my-subnet-2 のものだけを選んで削除してください。VPC を消す場合も、このハンズオンで自分が作った VPC だけにしましょう。もし消してしまっても、同じ手順でいつでも作り直せます。
コストに関する注意: VPC・サブネット・ルートテーブルそのものには料金はかかりません。このハンズオンの範囲では課金されることはありません。ただし、サブネットの中に EC2 を起動したり、NAT ゲートウェイ・Elastic IP・VPC エンドポイントなどを追加したりすると料金が発生します。使い終えて不要になったリソースは、上の「後片づけ」を参考に削除しておきましょう。