1.サブネットとは
<前回までの記事>
・【AWS】仮想ネットワークを作成してみる(VPC編)
前回記事にて、VPCの作成まで行いました。ただ、今の状態は、ただ領域を確保しただけです。
アパートを建てるのに例えると、まだ土地を確保しただけの状態です。ここにこれからアパートを建て、中の部屋割りをしていく必要があります。
よって、これからこのVPC(土地)の中に様々なリソース(アパートと、その中の部屋)を追加していきます。
まずは、VPC内に「サブネット」を作成していきます。
① サブネットのイメージ
サブネットとは、VPC内でのIPアドレスの範囲を分割する単位です。
建物に例えると、VPCが全体の土地であり、サブネットはその中の一つ一つの建物だと思ってください。
(ある土地の中に建てられている、アパートの1号棟、2号棟のようなイメージです)
前回作成したVPCは、IPv4 CIDRを「10.0.0.0/16」としていますので、VPC全体としては65,536通り(2の16乗)のアドレスを割り当てる事ができます。
この65,536通りのIPアドレス範囲をサブネット単位で分割する訳ですが、それには次の理由があります。
・外部に公開/内部使用の2パターンを区別するため
(外部からアクセスされるリソース(例:ロードバランサー)と内部使用のリソース(例:DBサーバー)の区分け)
・AWS内での(物理的な)冗長化を行うため
(障害に備えて、複数のアベイラビリティゾーンに同じ構成で作成)
そこで、今回はVPC内の2つのアベイラビリティゾーンに、外部公開用(Public)と内部用(private)のサブネットをそれぞれ用意してみます。
イメージはこんな感じです。
↓↓↓

先ほどと同様にアパートに例えると、[Availabirity Zone 1]のsubnetがアパートの1号棟、[Availabirity Zone 2]のsubnetがアパートの2号棟です。
そして、[Public subnet]がアパートの共用部分(入口の郵便受けなど)、[Private subnet]がそれぞれの部屋の中だとイメージすると分かりやすいかと思います。
(※アパートの共用部分は一般の人でも足を踏み入れることは一応可能ですが、それぞれの部屋には入ることができませんよね。)
2.IPv4 CIDRの設計
サブネットを作成するにあたり、事前に決めておかなくてはならないのが、IPv4 CIDRの設計です。
一度作ってしまうと変更ができないので、これから作成するシステムの内容と照らし合わせ、無駄のないように設計する必要があります。
特に気を付ける必要があるのは、以下の2点です。
・割り当てられるサブネットの数
・サブネット内に割り当てるリソースの数
このサブネット数とリソース数ですが、あまりギリギリにならないよう、余裕を持たせた設計としてください。
ちなみに、サブネットのCIDR設計ですが、例えば、以下のようなパターンが挙げられます。

今回はお試しでの作成なので、上記設計例の②を採用します。
この場合、サブネット数は最大16、各サブネットに割り当て可能なリソース数は最大4091です。
またまたアパートに例えますが、この場合、以下のようなイメージです。
・VPCという土地の中に、最大で16棟のアパートを建設することが可能。
・今回はPublic(共用部分)/Private(各部屋)をセットにして作り、それぞれにアドレスを割り振る必要があるので、作成可能なのは8棟。
・各棟の共用部分(Public subnet)には、郵便受けや駐輪場など、4091通りの領域を割り当てる事が可能。
・各棟の部屋割り(Private subnet)は、4091部屋まで区分けすることが可能。
(実際は4096部屋あるが、うち5部屋は管理人が既に確保しているので、実際に住めるのは残り4091部屋、というイメージ)
※こういう、現実世界のイメージで考えるのが結構分かりやすいので、参考にしてみてください。
因みにサブネットについては、今回はPublic×2、Private×2で計4つ作成するので、数としては問題ないですね。
4つのサブネットについては、下記のように割り当てます。

サブネットマスクが20ビット分ありますので、ここまでをネットワーク部、残りの12ビットをホスト部とすることで、各サブネットにて最大4091台分のIPアドレスを割り当てる事ができます。普通に使用するには十分すぎる数ですね。
3.サブネットの作成手順
今回は、以下のような形でサブネットを作成していきます。
下記の画面に従って、画面に情報を入力していきましょう。


① サブネット作成画面への移動

マネジメントコンソール画面で「VPC」を選択すると、上記の通り、VPCダッシュボード画面に移動するので、そこから「サブネット」をクリックしてください。

このようにサブネットの一覧画面に移動します。
因みに、Nameが「-」となっているのは、デフォルトのVPCに属しているサブネットです。
今回は使用せずに、新しいサブネットを作成していきます。「サブネットを作成」をクリックしてください。
② 各項目値の入力

まずは、サブネットを作成する対象のVPCを選択します。
今回は、前回記事で作成した「test-vpc」を入力してください。

対象のVPCを入力すると、サブネットを作成するための必要事項を入力するフォームが表示されます。
まずはPublic01のサブネットから作成していきましょう。以下の値を入力していってください。
↓
・サブネット名(test-subnet-public01)
・アベイラビリティゾーン(ap-northeast-1a)
・IPv4 CIDRブロック(10.0.0.0/16)
・IPv4 Subnet CIDR block(10.0.0.0/20)

タグは今回は特に編集しません。
各項目に値を入力したら、「サブネットを作成」をクリックしましょう。

特に内容に問題がなければ、上記画面のように「1件のサブネットが正常に作成されました。」のメッセージが表示されます。
これで「Public01」のサブネットが無事に作成されたので、残り3つも同様に作成していきます。
まとめ

全て作成すると、上記画面のようになります。これでサブネットの作成を一通り終えた形になります。
あとは、外部公開用のPublic01、02と内部用のPrivate01、02を上手く使い分けながら、リソースを適切に割り当てていくことになります。
しかし、このままでは、肝心のVPC~インターネット間の通信はまだできません。
(しつこいようですが)アパートに例えると、土地(VPC)にアパート(subnet)を建てたのはいいが、出入り口を作成していないようなものです。
これでは、外から入ってくることもできなければ、中から外に出ることも不可能です。
そこで、次回は外部(インターネット)との通信を可能にするため、「インターネットゲートウェイ」の追加をしていきます。
(今回はここまで)
お読みいただき、有難うございました!


コメント