アプリエンジニアのためのAWS入門 VPC編
前回までのあらすじ
今回の教材
作成するもの
本シリーズでは最終的に以下のネットワーク構成を作成する。図は下記の記事を参考にCloud Craftにて作成した。
見たままではあるがざっくりとした構成は以下の通り。
- AWS内にVPCを構築
- Gatewayにて外部に公開
- VPC内に異なるAZ(Available Zone)の2つのサブネットを構築
- 各サブネット内にEC2インスタンス及びRDSインスタンスを配置
- ロードバランサで各サブネットに通信を振り分ける
これ以降はAWSアカウント登録済みとして話を進める。ちなみにAWSアカウントの登録には通話の出来る電話番号が必要なので、データ通信のみのMVNO回線しかないと登録できないかも?なお日本国外(筆者の場合はドイツ)のプリペイドSIMでも登録できたので通話さえできれば問題ないようだ。
VPCを作成する
まずはVPCを作成する。AWSコンソールにサインイン後、画面左上のServicesタグをクリックしサービス一覧のNetworking & Content Deliveryの項からVPCを選択する。
個別に手順を進めてもいいが、今回はVPC作成ウィザードを使用した。まずは画面中央上部のStart VPC Wizardをクリックする。
ウィザードが開始されたら以下の画面が表示されるので、とりあえずVPC with a Single Public Subnetを選択しSelectをクリックする。
今回はIPの設定はデフォルトのままにしておく。VPC NameはとりあえずtestVPCとした。サブネットもIPはそのままにしておき、AZ1は任意のゾーンに設定する。Tokyoリージョンだとap-northeast-1aとap-northeast-1cが選べる。ここではap-northeast-1aを選択した。
サブネットにも任意の名前がつけられるので設定しておくとよい(画像ではPublic subnetとなっているが後で変更した)。Enable DNS hostnamesはデフォルトでYesとなっているが、これは後でRoute53を使ってDNS設定をするために必要っぽい?のでそのままにしておく。
最後のHardware tenancyをDedicatedにするとVPCを専用ハードでホストすることができるらしい(追加料金が必要)。高度なセキュリティが要求される場合に必要な設定のようだが、今回は不要なのでDefaultのままにしておく。
以上の設定を終えると以下のようになる。
Create VPCでウィザードを実行後、ダッシュボードからYour VPCsを選択すると以下のようにtestVPCが作成されていることがわかる。なおAWSに登録するとデフォルトでVPCが作成されるので、ここでは2つのVPCが表示されている。
サブネットを作成する
前項のウィザードでVPCを作成するとサブネットが作成されている(ここでもデフォルトのサブネットが定義されている)。VPCの項目を見ると先程作成したtestVPCに紐付いていることがわかる(NameはTest subnetに変更した)。
ここではサブネットを手動でもう一つ追加する。サブネットのダッシュボードでCreate Subnetをクリックすると以下のダイアログが表示される。
Name Tagで名前を付けられるのでTest subnet2としておく。VPCでサブネットを紐付けるVPCを選択する。ここでは先程作成したtestVPCを選択する。Available Zoneはウィザードで作成したサブネットとは異なるap-northeast-1cを選択する。これにより、ap-northeast-1aで生涯が発生してもシステムを稼働させ続けることができるようになる。
以上の設定を行いYes, Createでサブネットを作成すると、サブネットのリストは以下のようになる。
ゲートウェイを作成する
ゲートウェイはVPCとインターネットを繋ぐためのコンポーネントである。ゲートウェイと次項のルートテーブルでルールを設定することによって、ネットワーク間のトラフィックをコントロールする。
VPC作成ウィザードでVPCを追加するとゲートウェイも自動的に追加されている。ダッシュボードからInternet Gatewaysを選択するとゲートウェイのリストが表示される。
VPCの欄を確認するとtestVPCに紐付けられていることがわかる。なおいずれかのVPCに紐付けられたゲートウェイはStateがattachedとなり、どのVPCにも紐付いていないものはdettachedになる。
Route tableを設定する
ゲートウェイを追加しただけではインターネットとVPCを接続することはできない。VPCをインターネットに公開するためにはゲートウェイのルートテーブルにデフォルトルート(0.0.0.0/0)を設定する必要がある2。
ゲートウェイ同様、VPCウィザードを使うとルートテーブルも自動的に追加されているのでデフォルトルートを追加する。
以上でVPCを作成しインターネットに公開する準備は完了である。
-
Available Zoneの略。物理的なサーバ本体(データセンター)の設置場所のこと↩