VPC を作成する

はじめに

こんにちは、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 つのアベイラビリティゾーンがあります。

  1. ap-northeast-1a
  2. ap-northeast-1b
  3. ap-northeast-1c

各アベイラビリティゾーンは、物理的に独立したデータセンターであり、異なる電源やネットワーク接続を持っています。これにより、1つのアベイラビリティゾーンで障害が発生しても、他のアベイラビリティゾーンが稼働し続けることができます。ただし、AWS のリージョンによっては、利用可能なアベイラビリティゾーンが異なる場合がありますので、注意が必要です。

VPC の作成

以下はあくまでも参考であり、すべてのシステムに適用できるわけではありません。設定内容は、お客様の要件や環境に合わせて適宜変更が必要となります。

構成イメージ

今回作成する VPC は以下のとおり。

VPC 構成イメージ

この例では、VPC には 2 つのアベイラビリティーゾーンにパブリックサブネットとプライベートサブネットがあります。

VPC を作成する

  1. VPC コンソールを表示してナビゲーションペイン [VPC ダッシュボード] を選択します。
  2. [VPC を作成] をクリックして「VPC の設定」ページを表示します。
  1. 「VPC の設定」ページで、以下を設定 (適宜変更) します。
    • 作成するリソース: VPC のみ
    • 名前タグ: yotaro-vpc
    • IPv4 CIDR ブロック: IPv4 CIDR の手動入力
    • IPv4 CIDR: 10.0.0.0/24
    • IPv6 CIDR ブロック: IPv6 CIDR ブロックなし
    • テナンシー: デフォルト
  2. 入力内容を確認して [VPC を作成] を選択して VPC を作成します。

サブネットを作成する

  1. サブネットを作成するために、ナビゲーションペインで [サブネット] を選択します。
  2. [サブネットを作成] を選択して「サブネットの設定ページ」を表示します。
  1. 「サブネットの設定」ページで、以下を設定 (適宜変更) します。
    • サブネット 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
  2. 入力内容を確認して [サブネットを作成する] を選択し、サブネットを作成します。

インターネットゲートウェイを作成する

  1. インターネットゲートウェイを作成するため、ナビゲーションペイン [インターネットゲートウェイ] を選択します。
  2. [インターネットゲートウェイの作成] を選択して「インターネットゲートウェイの設定」ページを表示します。
  1. 「インターネットゲートウェイの設定」ページで、以下を設定 (適宜変更) します。
    • 名前タグ: yotaro-igw
  2. [インターネットゲートウェイの作成] を選択してインターネットゲートウェイを作成します。
  3. アクションのプルダウンから [VPC にアタッチ] を選択して「VPC にアタッチ」ページを表示します。
  1. 「VPC にアタッチ」ページで、前項で作成した VPC を設定 (適宜変更) します。
    • 使用可能な VPC: yotaro-vpc
  2. 入力内容を確認して [インターネットゲートウェイのアタッチ] を選択し、インターネットゲートウェイを VPC にアタッチします。

ルートテーブルを作成する

ルートテーブルの作成

  1. ルートテーブルを作成するため、ナビゲーションペイン [ルートテーブル] を選択します。
  2. [ルートテーブルを作成] を選択して「ルートテーブルの作成」ページを表示します。
  1. 「ルートテーブルを作成」ページで、以下を設定 (適宜変更) します。
    サブネットの数だけルートテーブルを作成します。
    • ルートテーブル 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 (前項で作成)
  2. 入力内容を確認して [ルートテーブルの作成] を選択してルートテーブルを作成します。

サブネットの関連付け

ここで、作成したルートテーブルと作成済みのサブネットを関連付けます。

  1. ルートテーブル詳細ページで、「サブネットの関連付け」タブを選択し [サブネットの関連付けを編集] を選択します。
  2. 各ルートテーブルの「サブネットを関連付けを編集」ページで、以下を設定 (適宜変更) します。
    • 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
  3. 入力内容を確認して [関連付けを保存] を選択し、関連付けを作成します。

ルートの編集

ここで、作成したパブリックサブネットのルートテーブルにインターネットゲートウェイを設定します。

  1. パブリックサブネットに関連付けしたルートテーブルの詳細ページで、「ルート」タブを選択し [ルートの編集] を選択します。
  2. 各ルートテーブルの「ルートを編集」ページで、以下を追加 (適宜変更) します。
    • yotaro-rtb-public-1a
      • 送信先: 0.0.0.0/0
      • ターゲット: yotaro-igw (前項で作成)
    • yotaro-rtb-public-1c
      • 送信先: 0.0.0.0/0
      • ターゲット: yotaro-igw (前項で作成)
  3. 入力内容を確認して [変更を保存] を選択し、ルートを追加します。

おわりに

今回の記事は以上となります。このシリーズでは、「AWS 環境に WordPress をなるべくお金をかけずに構築していく」をお届けしていますので、ぜひ過去の記事もご覧ください。


投稿日

カテゴリー:

,

投稿者: