【AWS塾 – NW編 第1回】VPCを構築してみよう。

AWS塾
スポンサーリンク

AWS塾 NW編の第1回目は、VPCを構築していきたいと思います。

VPCは仮想NWサービスのため、AWSを使う上で避けては通れないサービスです。

ハンズオン形式で解説していきますので、この機会にぜひ抑えておきましょう。

本記事で解説するコンポーネント
  • VPC
本記事のターゲット
  • AWSを始めて触る人
  • AWSを学習して今後のスキルにしていきたい人
  • AWSを基本から学び直したい人

公式ドキュメント:https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html

では、はりきっていきましょう!

スポンサーリンク

ハンズオンで作る環境がこちら。

ハンズオンでは、以下の環境を作成していきます。

まずは、設計からしていく。

「どんな設定で構築していくのか?」を決めるために、まずは簡単な設計をしていきましょう。

設定の解説もしていくので気軽に読んでもらえると。

本記事で採用する設定値

設定項目設定値
IPv4 CIDR10.0.0.0/8
テナンシーデフォルト
DHCP設定デフォルトのDHCPオプションセット
enableDnsHostnames有効化
enableDnsSupport有効化
Network Address Usage(NAU) メトリクス有効化

それぞれの設定項目について、解説していきます。

IPv4 CIDR

VPCに割り当てるIPアドレスをCIDRで設定します。

AWSが推奨しているCIDRブロックがあるため、この中から設定していくことが無難です。

10.0.0.0 – 10.255.255.255(10/8 プレフィックス)
172.16.0.0 – 172.31.255.255(172.16/12 プレフィックス)
192.168.0.0 – 192.168.255.255(192.168/16 プレフィックス)

「じゃあ、適当に決めればいいか。」

となりそうですが、残念ながらそうとはならず。

いくつか考える必要があります。

No考慮事項理由
1VPCピアリングを利用する予定があるか?ピアリング先と重複するCIDRは許可されない。
2Direct Connectを利用する予定があるか?Direct Connectゲートウェイ経由で複数のVPCと接続する場合、重複するCIDRが許可されてない。
3ELBを利用する予定があるか?ELB自身がスケールアウトするときに、サブネットからIPを利用する仕様になっている。AWS推奨としては、「/27ビットマスク」以上に設定し、空きのIPを8つ用意しておく。

今回の要件はこちらです。

  • Direct Connectは利用しない。
  • VPCピアリングを使う可能性あり。
  • 1つのVPCに複数の環境(本番や開発)やシステムを乗せることはしない。
  • 作成するであろうサーバ郡は基本的な構成(WEB/AP/DB/ELBぐらいの構成)を想定。

そのため、大幅に広く値を取ることはせずに「10.0.0.0/24」としたいと思います。

※今後登場するサブネットCIDRでは、5個のIPがAWS側で予約されており使うことができません。そのため、今回使えるIPアドレスの数は「251個(=2の8乗-5)」となります。

テナンシー

テナンシーとは「EC2インスタンスを他のAWSアカウントと共有しているハードウェアで実行するか、自分専用のハードウェアで実行するか。」という設定になります。

テナンシーの解説図

EC2を構築する際にも同じ設定があるのですが、VPCで設定するテナンシーは以下の通りです。

設定値解説
デフォルトEC2インスタンスのテナンシー属性を利用するかどうか。
専有EC2インスタンスのテナンシー属性に限らず「専有」で実行する。

「なんで専用のハードウェアで実行したいの?」

と思うかもしれませんが、実際の業務では「他のAWSアカウントと同居したくない」というコンプライアンス要件があったりします。

今回はコンプライアンス要件などもないため、「デフォルト」を選択します。

DHCP設定(DHCPオプションセット)

DHCPオプションセットでは、EC2インスタンスが参照するNTPサーバやDNSサーバをカスタマイズすることができます。

デフォルトのDHCPオプションセットでは、

  • DNSサーバは「AmazonProvidedDNS」を向いている。
  • デフォルトではNTPサーバの設定がされていない。ただ、最新のAmazon Linux2ではTimeSync Serviceが使われている。

要は「AWSが用意しているNTPサーバ/DNSサーバを参照するよ」ということです。

今回はカスタマイズ要件はないため、デフォルトのDHCPオプションセットを選択します。

DNS設定

VPC内のDNSサポートに関する設定です。

以下の2種類の設定があります。

設定値解説
enableDnsHostnames(DNSホスト名を有効化)VPCがパブリックIPを持つインスタンスへパブリックDNSホスト名の割り当てをサポートするかどうかの設定。
enableDnsSupport(DNS解決を有効化)VPCがAmazon提供のDNSサーバ(AmazonProvidedDNS)を介したDNS解決策をサポートするかどうかの設定。

今回、VPCが割り当てるパブリックIPやDNSホスト名を利用する予定はありません。

しかし、公式ドキュメントの「ルールと考慮事項」に以下の記載があります。

Amazon Route 53 のプライベートホストゾーンで定義されたカスタム DNS ドメイン名を使用する場合や、インターフェイス VPC エンドポイント (AWS PrivateLink) でプライベート DNS を使用する場合は、enableDnsHostnames 属性と enableDnsSupport 属性の両方を true に設定する必要があります。

この中の「Route53のプライベートホストゾーン」は利用する可能性があります。

そのため、両方の属性を「true」に設定します。

Network Address Usage(NAU) メトリクスの設定

NAUと呼ばれるこのメトリクスでは「ネットワークアドレス使用状況」を確認することができます。

NAUのクォータに引っかかると、IPアドレスを利用するサービス(例:EC2インスタンスなど)を新しく起動できなくなる可能性がでてきます。

(新しいIPアドレスを付与できないため、EC2インスタンスなどを起動することができません。)

無料で利用することができるため、有効化しておきます。

なお、このメトリクスは24時間毎のレポートになるためリアルタイムではないことに注意が必要です。

実際に構築していきましょう!

それでは、上で設計した設定を元に構築していきましょう。

5.[アクション]→[VPCの設定を編集]をクリックする。

以上で、構築完了です。

プロフィール
この記事を書いた人
katsuya

SESからキャリアをスタートし、現在はフリーランスとして活動しています。フリーランスになってから6年で年収1,000万円を達成しました。「Study Infra」では、今までの経験やITインフラに関する情報を発信中です。

katsuyaをフォローする
AWS塾NW
スポンサーリンク
シェアする
katsuyaをフォローする

コメント

タイトルとURLをコピーしました