【AWS】VPC作成(2018年UI版)

# 【AWS】VPC作成(2018年UI版)

社内で開発中の案件にてサーバーもろもろが必要となり、構築を依頼されました。
調べながら進めていく中で、

- 公開されている記事中のスクショ(AWSのUI)が古い
- VPC作成せずにデフォルトVPCを利用している(ダメではない)
- GUIではなく、コマンドラインでEB等を構築してる方が多い

とまぁ、もろもろあって自分のニーズに合わなかったので、AWSマネジメントコンソールで構築する手順をこの機会にまとめてみました。
僕もまだ不慣れな部分あるので、気になる点あればご指摘くださいm(・ω・)m

案件の環境構築時のスクショなのでモザイク多めです。
画像作ってから気づいたのですが、見られても問題ない部分もモザイクかけてますね。
もろもろご了承ください(・ω・)☆

## 構築する環境

- ロードバランサーのタイプ
  - Application Load Balancer (ALB)
- APIサーバー
  - Multi-container Docker running on 64bit Amazon Linux/2.11.4
  - t3.micro
- Aurora
  - MySQL 5.7.12 互換
  - db.t2.small

## 前提として

- AWSアカウントを持っている
- AWSが好きだ
- AWS以外愛せない
- サーバー構築ちょっとできる(興味あるとかそのレベルでも良いかと)

上記の条件のうち、少なくとも３つは満たして欲しいです。
ちなみに僕は今のところAWSが好きですけど、愛しているというほどではないです。

アカウント作成は特に難しい作業ではないので、今回は割愛します。

## VPC作成

<img width="859" alt="001.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/8d508eef-77f7-e0d8-5132-2aae3cd45db3.png">
まずは**VPC**サービスのページへ行き、VPC一覧ページへ。
<img width="446" alt="002.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/306fde2a-b08d-a525-56e1-c97291b94c5b.png">
次に、「**VPCの作成**」ボタンをクリック。
<img width="781" alt="003.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/ab3ecdc9-3986-dc68-ea2a-4efa17b8136f.png">
名前、[IPv4CIDRブロック](https://qiita.com/daikissdd/items/101679f19de246f22df4)を入力し、テナンシーは「デフォルト」を選択し、「**はい、作成する**」のボタンをクリックします。
<img width="801" alt="004.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/9837616b-39a5-b241-0b53-68d0f91fb6f7.png">
するとVPCが作成されます。
VPCを選択して、「**アクション**」ボタンから
- 「**DNSホスト名の編集**」を「はい」に変更
- 「**DNS解決の編集**」も「はい」に変更しておきましょう

DNS解決、DNSホスト名の項目が「いいえ」のままだとパプリックDNSが割り当てられないようなので注意。

## サブネットの作成

VPCの作成が完了しましたら、左サイドメニューから「**サブネット**」を選択します。
<img width="1056" alt="005.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/ff8e9129-8a85-53f4-97dd-ed6dc2d2a03b.png">
「**サブネットの作成**」ボタンをクリックし、以下の画像を参考に項目を埋めます。
サブネット作成後、画像の「サブネット詳細」のような表記になるかと思います。

今回は１つのアベイラビリティソーンに対し、Public用とPrivate用の２つのサブネットを作成しました。アベイラビリティゾーンは３つなので、計6つのサブネットを作成しました。
アベイラビリティゾーンの「d」は不要だったかもしれませんが、勢いで作っちゃいました。
<img width="1433" alt="006.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/2d2d918f-8eab-d0dc-e2fd-0e4316381b7e.png">

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

続きまして、インターネットゲートウェイを作成します。
ここ、僕結構ハマりました。サブネット作り終えた安心感からか、作成漏れが発生してしまいました。
同じミスをする方が稀にいるようですね。忘れずに設定しましょう。
<img width="807" alt="007.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/28e7598b-539b-aca3-964d-795df5e4305d.png">
作成ボタンをクリックし、作成するインターネットゲートウェイの名前を入力。
インターネットゲートウェイを作成します。
<img width="546" alt="008.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/016934c7-606c-69c5-fa94-572fca77c836.png">
作成したインターネットゲートウェイを選択し、アクションメニューから「**VPCにアタッチ**」をクリック。作成したVPCへアタッチできたら完了です。

## ルートテーブルの作成

<img width="823" alt="009.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/a3fc96e7-994a-21ee-e75c-ae39aac30212.png">
「**ルートテーブルの作成**」をクリックして新規でルートテーブルを作成します。
<img width="636" alt="010.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/b7f24ad9-0f43-7071-5bad-d67c29a66295.png">
適当な名前を付け、VPCを選択したら「**はい、作成する**」ボタンをクリックしてルートテーブルを作成します。
<img width="637" alt="011.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/eb7c8408-6b9d-7707-4221-3743705ff102.png">
作成したルートテーブルを選択し、「**ルート**」タブを選択、「編集」ボタンをクリックし、画像の内容でルートを追加・保存します。
<img width="636" alt="012.png" src="https://qiita-image-store.s3.amazonaws.com/0/275273/46850f01-1501-d730-d638-aeca3089f7ac.png">
ルートの編集が済んだら、「**サブネット**」タブを選択、「編集」ボタンをクリックし、画像の内容でサブネットを追加・保存します。
今回は「public」と指定したサブネット３つを紐付けました。

## VPC作成完了！！

いやぁ、長い道のりでしたね。
EBを利用するとデフォルトVPCを利用するのですが、１つのAWSアカウントで複数のプロジェクトを扱う場合や、セキュリティ的な観点からデフォルトVPCではない方が後々管理が楽だったりするかもですね。

次回は、作成したVPCを対象に、Elastic Beanstalkで実際にサーバーを構築して行きたいと思います。

では(・ω・)ﾉｼ

※記事中の画像は全て、2018年11月時点の画像です。AWSのマネジメントコンソール上でUIの変更があった場合は気合いで理解してください。