目次
はじめに
こんにちは、missi です。「AWS 環境に WordPress をなるべくお金をかけずに構築していく」のシリーズとして記事を書いています。このシリーズでは、「AWS 上に WordPress を構築するために必要なリソースを最小限に抑え、コストを抑える方法について」お届けしています。前回は「IAM の概要と設計方針」をテーマにお伝えしましたが、今回は「VPC を作成する」をテーマにご紹介したいと思います。
VPC について
VPCとは、仮想プライベートクラウド(Virtual Private Cloud)の略で、AWS 上でプライベートな仮想ネットワークを構築することができるサービスです。
VPC を利用することで、AWS 上に複数の仮想サブネットを作成し、各サブネットを仮想的に分離することができます。また、VPC 内にはネットワークアクセス制御リスト(Network Access Control List、NACL)やセキュリティグループを設定することができ、外部からの不正アクセスを防ぐことができます。
また、AWS 上でのネットワーク設計を自由に行い、自社のネットワーク環境に合わせた構成を作ることができ、オンプレミス環境と AWS 上の環境を疎通させることも可能です。
AWS では、VPC に関する様々な機能を提供しており、AWS Direct Connect やVirtual Private Gateway など、VPC をより強固にするための機能も用意されています。
デフォルト VPC について
AWS では、アカウントを作成すると自動的にデフォルトの VPC が作成されます。このデフォルトの VPC は、新しい EC2 インスタンスを作成する際に、手軽にインターネットに接続できるように設計されています。
デフォルトの VPC には、パブリックサブネットとプライベートサブネットが含まれています。パブリックサブネットには、インターネットに接続されるためのインターネットゲートウェイが割り当てられ、プライベートサブネットには、プライベート IP アドレスが割り当てられます。
また、デフォルトの NACL およびセキュリティグループが設定されています。これらのセキュリティグループおよび NACL は、基本的なルールで構成されており、多くの場合、適切なセキュリティ設定を行うために変更が必要となります。
そこで、AWS 初心者にとっては簡単に始められるように設計されていますが、実際のプロダクション環境では、よりセキュアな環境を構築する必要があります。そのため、通常は、カスタム VPC を作成し、必要なサブネット、ルートテーブル、NACL、セキュリティグループなどを設定することが推奨されます。
アベイラビリティゾーンについて
VPC は 1つ以上のサブネットを含んでいます。これらのサブネットは、AWSリージョン内の 1 つのアベイラビリティゾーンに関連付けられ、異なるアベイラビリティゾーンに配置することができます。これにより、アプリケーションやデータベースを複数のアベイラビリティゾーンに分散させることができ、高可用性を実現することができます。
現在、AWS の東京リージョンは以下の 3 つのアベイラビリティゾーンがあります。
- ap-northeast-1a
- ap-northeast-1b
- ap-northeast-1c
各アベイラビリティゾーンは、物理的に独立したデータセンターであり、異なる電源やネットワーク接続を持っています。これにより、1つのアベイラビリティゾーンで障害が発生しても、他のアベイラビリティゾーンが稼働し続けることができます。ただし、AWS のリージョンによっては、利用可能なアベイラビリティゾーンが異なる場合がありますので、注意が必要です。
VPC の作成
以下はあくまでも参考であり、すべてのシステムに適用できるわけではありません。設定内容は、お客様の要件や環境に合わせて適宜変更が必要となります。
構成イメージ
今回作成する VPC は以下のとおり。
この例では、VPC には 2 つのアベイラビリティーゾーンにパブリックサブネットとプライベートサブネットがあります。
VPC を作成する
- VPC コンソールを表示してナビゲーションペイン [VPC ダッシュボード] を選択します。
- [VPC を作成] をクリックして「VPC の設定」ページを表示します。
- 「VPC の設定」ページで、以下を設定 (適宜変更) します。
- 作成するリソース: VPC のみ
- 名前タグ: yotaro-vpc
- IPv4 CIDR ブロック: IPv4 CIDR の手動入力
- IPv4 CIDR: 10.0.0.0/24
- IPv6 CIDR ブロック: IPv6 CIDR ブロックなし
- テナンシー: デフォルト
- 入力内容を確認して [VPC を作成] を選択して VPC を作成します。
サブネットを作成する
- サブネットを作成するために、ナビゲーションペインで [サブネット] を選択します。
- [サブネットを作成] を選択して「サブネットの設定ページ」を表示します。
- 「サブネットの設定」ページで、以下を設定 (適宜変更) します。
- サブネット 1
- サブネット名: yotaro-subnet-private-1a
- アベイラビリティーゾーン: ap-northeast-1a
- IPv4 CIDR ブロック: 10.0.0.0/24
- サブネット 2
- サブネット名: yotaro-subnet-private-1c
- アベイラビリティーゾーン: ap-northeast-1c
- IPv4 CIDR ブロック: 10.0.0.64/24
- サブネット 3
- サブネット名: yotaro-subnet-public-1a
- アベイラビリティーゾーン: ap-northeast-1a
- IPv4 CIDR ブロック: 10.0.0.128/24
- サブネット 4
- サブネット名: yotaro-subnet-public-1c
- アベイラビリティーゾーン: ap-northeast-1c
- IPv4 CIDR ブロック: 10.0.0.192/24
- サブネット 1
- 入力内容を確認して [サブネットを作成する] を選択し、サブネットを作成します。
インターネットゲートウェイを作成する
- インターネットゲートウェイを作成するため、ナビゲーションペイン [インターネットゲートウェイ] を選択します。
- [インターネットゲートウェイの作成] を選択して「インターネットゲートウェイの設定」ページを表示します。
- 「インターネットゲートウェイの設定」ページで、以下を設定 (適宜変更) します。
- 名前タグ: yotaro-igw
- [インターネットゲートウェイの作成] を選択してインターネットゲートウェイを作成します。
- アクションのプルダウンから [VPC にアタッチ] を選択して「VPC にアタッチ」ページを表示します。
- 「VPC にアタッチ」ページで、前項で作成した VPC を設定 (適宜変更) します。
- 使用可能な VPC: yotaro-vpc
- 入力内容を確認して [インターネットゲートウェイのアタッチ] を選択し、インターネットゲートウェイを VPC にアタッチします。
ルートテーブルを作成する
ルートテーブルの作成
- ルートテーブルを作成するため、ナビゲーションペイン [ルートテーブル] を選択します。
- [ルートテーブルを作成] を選択して「ルートテーブルの作成」ページを表示します。
- 「ルートテーブルを作成」ページで、以下を設定 (適宜変更) します。
サブネットの数だけルートテーブルを作成します。- ルートテーブル 1
- 名前: yotaro-rtb-private-1a
- VPC: yotaro-vpc (前項で作成)
- ルートテーブル 2
- 名前: yotaro-rtb-private-1c
- VPC: yotaro-vpc (前項で作成)
- ルートテーブル 3
- 名前: yotaro-rtb-public-1a
- VPC: yotaro-vpc (前項で作成)
- ルートテーブル 1
- 名前: yotaro-rtb-public-1c
- VPC: yotaro-vpc (前項で作成)
- ルートテーブル 1
- 入力内容を確認して [ルートテーブルの作成] を選択してルートテーブルを作成します。
サブネットの関連付け
ここで、作成したルートテーブルと作成済みのサブネットを関連付けます。
- ルートテーブル詳細ページで、「サブネットの関連付け」タブを選択し [サブネットの関連付けを編集] を選択します。
- 各ルートテーブルの「サブネットを関連付けを編集」ページで、以下を設定 (適宜変更) します。
- yotaro-rtb-private-1a
- 明示的なサブネットの関連付け: yotaro-subnet-private-1a
- yotaro-rtb-private-1c
- 明示的なサブネットの関連付け: yotaro-subnet-private-1c
- yotaro-rtb-public-1a
- 明示的なサブネットの関連付け: yotaro-subnet-public-1a
- yotaro-rtb-public-1c
- 明示的なサブネットの関連付け: yotaro-subnet-public-1c
- yotaro-rtb-private-1a
- 入力内容を確認して [関連付けを保存] を選択し、関連付けを作成します。
ルートの編集
ここで、作成したパブリックサブネットのルートテーブルにインターネットゲートウェイを設定します。
- パブリックサブネットに関連付けしたルートテーブルの詳細ページで、「ルート」タブを選択し [ルートの編集] を選択します。
- 各ルートテーブルの「ルートを編集」ページで、以下を追加 (適宜変更) します。
- yotaro-rtb-public-1a
- 送信先: 0.0.0.0/0
- ターゲット: yotaro-igw (前項で作成)
- yotaro-rtb-public-1c
- 送信先: 0.0.0.0/0
- ターゲット: yotaro-igw (前項で作成)
- yotaro-rtb-public-1a
- 入力内容を確認して [変更を保存] を選択し、ルートを追加します。
おわりに
今回の記事は以上となります。このシリーズでは、「AWS 環境に WordPress をなるべくお金をかけずに構築していく」をお届けしていますので、ぜひ過去の記事もご覧ください。