AWS VPC作成の記録

# はじめに
AWSのVPCを構成する要素とその作成方法。特にPublicサブネットの登録方法。そして、簡単にいくつかの設定値について記述します。


# VPCを作成するぞ!
## 今回扱わないもの
私は、開発・検証環境を作ることが多いので毎日の料金負担が発生しそうなものは省略しています。
* Natゲートウェイ　設定するだけで料金がかかるようだ。
* Elastic IP 使用していると料金はかからないようだが、使わずにIPアドレスを占有していると料金がかかるようだ。

## VPC を俯瞰

VPCの構成要素になります。ほかに「セキュリティグループ」もあります。

![VPC構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/0016a90b-ba3c-744b-ae03-e016372d47f3.png)

<dl>
  <dt>VPC</dt><dd>VPC本体</dd>
  <dt>ネットワークACL</dt><dd>サブネットのファイアウォールのようなもの。<strong>セキュリティグループ</strong>と使い分ける</dd>
  <dt>インターネットゲートウェイ</dt><dd>インターネットへの接続を与える</dd>
  <dt>ルートテーブル</dt><dd>ネットワークトラフィックの経路を与える</dd>
  <dt>サブネット</dt><dd>インターネットへの接続有無でPublic、Privateのネットワークを構成</dd>
  <dt>Natゲートウェイ</dt><dd>Privateサブネットがインターネットへ接続するために使う</dd>
  <dt>エンドポイント</dt><dd>PrivateサブネットがS3などAWSのサービスにアクセスするために使う</dd>
</dl>

## 作成と設定の順序
1. VPC
2. サブネット
3. インターネットゲートウェイ
4. ルートテーブル

## VPCを作成
![VPC.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/c2c5ee2a-a0f5-79d1-86c6-494a58e3ebb4.png)


<dl>
  <dt>名前タグ</dt><dd>VPCに名前を付けます。</dd>
  <dt>IPv4 CIDR ブロック</dt><dd>VPCのプレフィックス長は16にするようだ。サブネットのプレフィックス長は24</dd>
</dl>
VPCを作成すると、***ネットワークACL***と***ルートテーブル***が同時に作成される

## サブネットを作成
![サブネット.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/81659a9a-514f-1fa2-e74b-cb0745c12b14.png)

<dl>
  <dt>名前タグ</dt><dd>サブネットの名前。Public,Privateやアベイラビリティゾーンがわかるように名前を工夫するとよい</dd>
  <dt>VPC</dt><dd>先に作成したVPCを選択</dd>
  <dt>アベイラビリティゾーン</dt><dd>選択</dd>
  <dt>IPv4 CIDR ブロック</dt><dd>サブネットのプレフィックス長は24にするらしい</dd>
</dl>

## インターネットゲートウェイ
ここで行うこと
1. インターネットゲートウェイを作成
2. VPCにアタッチ
### インタートゲートウェイを作成

![インターネットゲートウェイを作成.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/8c37031d-97b1-60d7-c064-2f20112445f4.png)

<dl>
  <dt>名前タグ</dt><dd>インターネットゲートウェイの名前を設定</dd>
</dl>

### VPCにアタッチ
インターネットゲートウェイの詳細画面の「アクション」->「VPCにアタッチ」を選択

![インターネットゲートウェイをVPCにアタッチ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/a06461b7-2737-1b2d-7f52-e1aa99c739c9.png)

<dl>
  <dt>使用可能なVPC</dt><dd>先に作成したVPCを選択</dd>
</dl>

![インターネットゲートウェイにあった地されたVPC.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/41139f83-2be3-8331-6456-2dd26ea98b74.png)

アタッチされます

## ルートテーブル
1. ルートテーブルを作成します
2. ルートテーブルとインターネットゲートウェイを関連付けます
3. ルートテーブルにPublicサブネットを登録します。

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

![ルートテーブルの作成.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/3d5ade40-bc4e-3266-1d0b-922eb7fcffa0.png)

<dl>
  <dt>名前タグ</td><dd>ルートテーブルの名前</dd>
  <dt>VPC</dt><dd>先に作成したVPC</dd>
</dl>

### インターネットゲートウェイを関連付ける

![ルートテーブルの編集.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/98ebddd4-fe5e-48b5-cb63-a9fa84270519.png)

作成したルートテーブルを選択します。下のルートタブにある「ルート編集」をクリックします。

![ルートテーブルにインターネットゲートウェイを関連付ける.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/f72f1e7d-c90c-7ad7-07fa-1b98696026ad.png)

1. 「ルートの追加」をクリック
2. 送信先に 「0.0.0.0/0」を入力
3. ターゲットのドロップをクリックー＞「internet Gateway」を選択ー＞インターネットゲートウェイの一覧が表示されるー＞先に作成したインターネットゲートウェイを選択
4. 「ルートの保存」

### Publicサブネットを登録
![ルートテーブルのサブネット編集.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/9270e49d-4c72-27d2-ee34-194b151c553a.png)

作成したルートテーブルを選択します。下のサブネットの関連付けタブにある「サブネットの関連付けの編集」をクリックします。

![ルートテーブルにサブネットを関連付ける.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/f583fc3f-b369-5957-b940-d64e08a74173.png)

1. 関連付けるサブネットを選択
2. 保存をクリック

## Publicサブネット

![サブネットIPアドレス割り当て前.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/08365775-da3d-d401-85a3-c22822a020d7.png)

サブネットをPublicにするためには「パブリックIPv4 アドレスの自動割り当て」を「はい」にします。
1. サブネットを選択
2. アクションから「自動割り当てIP設定の変更」を選択

![サブネットIPアドレスの自動割り当て.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/93066/864d0b87-d1f2-1215-0062-4e41ca6ebb93.png)

1. IPv4の自動割り当て　「パブリックIPv4アドレスの自動割り当てを有効にする」にチェックを入れる
2. 保存をクリック

## おわりの言葉
以上で、VPCを作成し、Publicサブネットを登録する方法を説明しました。
Privateサブネットは、インターネットゲートウェイのルートテーブルへの関連付けやアドレスの自動割り当ての設定を行いません。

以上です。