2、VPCでネットワークを作成する【AWSでWordPressを公開しよう】

こんにちは。まさかずです。

AWSでWordPressサイトを公開する方法の第2回目になります。

1回目は初期準備編を書きました。

IAMを用いたユーザ作成について記載してます。

確認してない方はそちらもチェックしてみてください。

それでは本編へ進みます。

2、VPCでネットワークを作成する【AWSでWordPressを公開しよう】

AWSでWordPressサイトを公開する方法の第2回目は「ネットワーク構築編」となります。

VPC(Virtual Private Cloud)という仮想ネットワーク空間でネットワークを構築していきます。

具体的な内容は以下のとおりです。

  • VPCを作成
  • インターネットゲートウェイの作成
  • サブネットの作成
  • ルートテーブルの作成

次に前提として理解しておいてほしい知識について説明します。

前提知識として

ネットワーク構築には様々な知識が必要です。

すべて勉強すると何年もかかるくらい奥が深いんです。

その中でも、今回の記事の中で最低限理解しておいてほしい事をまとめました。

リージョン、アベイラビリティーゾーン

AWSは世界各国にデータセンターを持っています。

データセンターがある各地域のことを「リージョン」と呼びます。(東京リージョン、オハイオリージョンなど)

さらに、1つのリージョンはリスク分散のためデータセンターを複数に分けています。

それぞれのデータセンターを「アベイラビリティーゾーン」と呼びます。

「リージョン」と「アベイラビリティーゾーン」については下記の記事に詳しく書かれていますので、ぜひ読んでみてください。

IPアドレス、サブネット

IPアドレスはネットワークごとに割り振られた住所のようなものです。

IPv4の場合、「0.0.0.0」~「255.255.255.255」まで割り振られ、約43億個存在しています。

IPアドレスはすべて一意(重なっていはいけない)でなければいけませんが、それでは端末の数が多くIPアドレスが枯渇してしまいます。

IPアドレスが枯渇しないために、ネットワークの技術が進化してきました。

このあたりで理解してほしいことは下記になります。

  • 「ネットワーク部」と「ホスト部」
  • 「グローバルIPアドレス」と「ローカルIPアドレス」
  • IPアドレスの「クラス」、「サブネットマスク」
  • CIDR表記の意味

ネットワークを知る上でこのIPアドレスの知識が必須となります。

下記の記事にIPアドレスの説明がわかりやすく書かれていますので、ぜひ読んでみてください。

VPCを作成する

ここからVPCの作成に入りますが、先に行うことがあります。

VPCの作成するリージョン(地域)を東京にすることです。

ヘッダー右上に地域名が書いてると思いますが、これを「アジアパシフィック(東京)」に変更してください。

今後、EC2やRDSなどを使いますが今回はすべて「東京リージョン」で制作します。

基本的に日本でリリースする場合、東京にすることが無難かと思います。

では、ここからVPCの作成に入ります。

ヘッダーの「サービス」から検索バーに「vpc」と入力しVPCを選択します。

VPCダッシュボードで「VPC」をクリックします。

次に「VPCの作成」をクリックします。

VPCの作成では下記の内容を入力します。

VPCの作成

名前タグ:任意の名前(今回は「wordpress-vpc」としました)
IPv4 CIDR ブロック:CIDR表記で指定(今回は「192.168.0.0/16」としました)
IPv6 CIDR ブロックIPv6 CIDR ブロックなし
テナンシー:デフォルト

この内容で作成をクリックします。

さて、以上でVPCが完成しました。

下記で一部用語について補足します。

名前タグについて

今後、VPC以外のEC2やRDSなどのサービスでも一意の名前をつけていきます。

僕の場合は、「プロジェクト名 – サービス名 – 詳細」という感じに分けています。

今回の場合

  • プロジェクト名:wordpress
  • サービス名:vpc

となり、全体で「wordpress-vpc」としました。

CIDR表記について

IPアドレスのネットワーク部とホスト部を識別するとき、サブネットマスクを使用します。

CIDR表記はサブネットをわかりやすく表記したものです。

IPアドレス:192.168.0.0 を2 進数表示して、サブネットマスクが下記の場合

2進数表示 :11000000 10101000 00000000 00000000
サブネットマスク:11111111 11111111 00000000 00000000

上記のように2進数でサブネットマスクを表現すると、ひと目見ただけでは理解がしにくいですよね。

CIDR表記では「192.168.0.0/16」と表記して、2進数表記で上から16桁がネットワーク部になるとわかりやすく表現しています。

なので「192.168.0.0/16」のIPアドレスは「192.168」がネットワーク部、「0.0」がホスト部となります。

インターネットゲートウェイの作成

つぎにインターネットゲートウェイの作成です。

VPCを作った状態ではインターネットとの通信のやり取りは行なえません。

インターネットゲートウェイを設置することでVPとインターネット相互の通信が可能になります。

インターネットゲートウェイの詳しい説明は、下記の記事を読んでみてください。

インターネットゲートウェイの作成

VPCに戻り、インターネットゲートウェイから「インターネットゲートウェイの作成」をクリックします。

インターネットゲートウェイの作成にすすみ、名前タグに任意の名前を記入します。

今回は「wordpress-igw」としました。

次に作成したインターネットゲートウェイとVPCを関連付けをします。

インターネットゲートウェイから作成した「worpdress-igw」を選択し、「アクション」「VPCにアタッチ」をクリックします。

つぎにさきほど作成した「wordpress-vpc」を選択してアタッチをクリックしたら完了です。

サブネットの作成

次にVPCの中にサブネットを作成していきます。

VPCの中に更に小さなネットワークを複数作るイメージです。

今回はサブネットを2つ作ります。

1つはインターネットと通信するサブネット(public)、もう1つはインターネットとは通信をしないサブネット(private)です。

まず。VPCから「サブネット」を選択して、「サブネットの作成」をクリックします。

まずはパブリックのサブネットを作成します。

サブネットの作成

名前タグ:任意の名前(今回は「wordpress-subnet-public-1a」としました)
VPC:作成したVPCを選択します。
アベイラビリティーゾーン:任意のゾーン(今回は「ap-northeast-1a」にしました)
IPv4 CIDR ブロック:CIDR表記で指定(今回は「192.168.10.0/24」としました)

次にプライベートのサブネットを作成します。

サブネットの作成

名前タグ:任意の名前(今回は「wordpress-subnet-private-1a」としました)
VPC:作成したVPCを選択します。
アベイラビリティーゾーン:パブリックと同じゾーン(今回は「ap-northeast-1a」にしました)
IPv4 CIDR ブロック:CIDR表記で指定(今回は「192.168.20.0/24」としました)

これでサブネットの作成は完了です。

ルートテーブルの作成

次はルートテーブルの作成です。

ルートテーブルとはネットワークの通信経路をルール化したものです。

今回はパブリックのサブネットに対して、インターネットの通信が行えるように設定します。

まずはVPCから「ルートテーブル」「ルートテーブルの作成」をクリックします。

ルートテーブルの作成で以下の内容を入力します。

ルートテーブルの作成

名前タグ:任意の名前(今回は「wordpress-public-route」としました)
VPC:作成したVPCを選択します。

つぎにルートテーブルの一覧に戻り、サブネットの関連付けをします。

制作したルートテーブルを選択し、下のタブから「サブネットの関連付け」「サブネットの関連付けの編集」をクリックします。

サブネットの関連付けの編集でパブリックのサブネットを選択します。(今回の場合は「wordpress-subnet-public-1a」となります。)

保存を押してサブネット関連付けができました。

最後にルートの編集をします。

ルートテーブル一覧から対象のルートテーブルを選択し、下の「ルート」から「ルートの編集」をクリックします。

ルートの設定では下記のように設定します。

ルートの編集

送信先:0.0.0.0/0
ターゲット:「Ingernet Gateway」から制作したインターネットゲートウェイを選択します(今回の場合「wordpress-igw」となります)

最後に「ルートの保存」を押して完成です。

まとめ

AWSでWordPressサイトを公開する方法の「2、ネットワーク構築編」をお送りしました。

  • VPCを作成
  • インターネットゲートウェイの作成
  • サブネットの作成
  • ルートテーブルの作成

なかなか理解しにくい部分もあったと思います。

このあたりが理解できるとネットワークにも強くなります。

次は「3、Webサーバ構築編」となります。

頑張っていきましょう!

それでは❗