VPCハンズオンその２

前回の続き。

前回はEC2の作成、セキュリティグループの作成まで行いました。

#### Elastic IPアドレスの割り当て

現状EC2インスタンスに固定IPアドレスを割り当てていない。このままだとインスタンスを終了、停止、再起動するとパブリックIPアドレスが変わってしまう。そこで静的なIPアドレスを割り当てる作業を行う。
左からElastic IPをクリック

![スクリーンショット 2021-01-31 11.16.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/099d023f-c5b7-2c46-c3bc-fb1db83d7ab8.png)

Elastic IPアドレスの割り当て

![スクリーンショット 2021-01-31 11.17.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/8a9efb40-eddb-bef8-b343-2fd1f65bc9b6.png)

ネットワークボーダーグループにap-noetheast-1を選択し、割り当てを押す

![スクリーンショット 2021-01-31 11.18.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/816e1bb3-0414-14df-7bb3-54eea097ca3a.png)

アクションからElastic IPアドレスの関連付けを選択

![スクリーンショット 2021-01-31 11.19.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/e99a157f-2d73-8323-0a75-8f3e108132d9.png)

インスタンスタイプはTEST-EC2-1を選択し、右下の関連付けるをクリック

![スクリーンショット 2021-01-31 11.23.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/4676952f-0a3a-9066-6694-6722369ff72e.png)

TEST-EC2-1のパブリックIPアドレスが割り当てたElastic IPアドレスになっているか確認

![スクリーンショット 2021-01-31 11.26.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/09a130e0-aca0-4798-7a06-8d34c2146924.png)

#### EC2にSSH接続
今回はmacのターミナルを使用する。
ここではDesktopに.pemファイルがあると仮定する。

```:ディレクトリ移動・ファイルの確認
cd Desktop/
ls -l test-ec2-keypair.pem
```
※.pemファイルのあるディレクトリは各自読み替えて対応する

キーペアファイルの権限を変更しないと正常にSSH接続できないので、権限変更を行う。

```:.pemの権限変更
chmod 400 test-ec2-keypair.pem
```
このあと、プライベートサブネットにもEC２インスタンスを設置し、パブリックサブネットのインスタンスからプライベートサブネットのインスタンスにSSH接続するので、キーペアファイルをアップロードする。

```:scpコマンドでパブリックサブネットのインスタンスにキーペアファイルをアップロード
scp -i test-ec2-keypair.pem test-ec2-keypair.pem ec2-user@54.199.42.152:/tmp/
```


```:SSH接続(ホストOS→TEST-EC2-1)
ssh -i test-ec2-keypair.pem ec2-user@54.199.42.152
```
※パブリックIPアドレスは各自読み替えて対応する
初回接続時、yesかnoを聞かれるのでyesを入力し、enterを押す

無事接続できたらこのような表示になる。

![スクリーンショット 2021-01-31 11.34.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a0cd23b3-7564-93d3-a18a-48d194d6d386.png)

SCPコマンドでアップロードしたファイルを確認

```:ファイルの確認
ls -l /tmp
```

![スクリーンショット 2021-01-31 11.56.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/0a3ceb2c-04d9-e546-a804-2ee1b7c45f02.png)


#### EC2の作成（プライベートサブネット）

パブリックサブネットのインスタンス作成とほぼ同様だが、ステップ３：インスタンスの詳細の設定のサブネットはTEST-SUBNET-2を選択する。

![スクリーンショット 2021-01-31 11.35.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/e7fc4620-efd1-ccc7-dfc8-aca46bdcc4c6.png)

ステップ５：タグの追加はTEST-EC2-2としておく

![スクリーンショット 2021-01-31 11.37.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3f530e7e-6d19-6cb5-b1be-f5910da03700.png)

ここでは先ほど作成したキーペアを使用するので既存のキーペアの選択からtest-ec2-keypairを選択する

![スクリーンショット 2021-01-31 11.38.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a9a8033b-41c6-5fbd-ed7e-71564acaadb5.png)

プライベートサブネット内のインスタンス作成後、パブリックサブネットのインスタンスからプライベートサブネットのインスタンスにSSH接続をする。

```:SSH接続(TEST-EC2-1→TEST-EC2-2)
ssh -i test-ec2-keypair.pem ec2-user@10.0.2.36
```
※プライベートIPアドレスは各自読み替えて対応する

#### NATゲートウェイの作成

左からNATゲートウェイをクリック

![スクリーンショット 2021-01-31 12.02.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/6b9e47a4-51ca-248b-c279-9d579b7104cc.png)

NATゲートウェイの作成

![スクリーンショット 2021-01-31 12.02.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/8f8444ba-d24d-c150-e26b-4957f92b3ea2.png)

名前はTEST-NATGW、サブネットはパブリックサブネット（TEST-SUBNET-0）を選択、Elastic IPの割り当てIDは下部のElastic IPの割り当てをクリックする。タグはNameにTEST-NATGWと入力

右下のNATゲートウェイを作成を押す

![スクリーンショット 2021-01-31 12.05.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/587d2d99-b492-b0b6-24f1-ea375efaff65.png)

作成したNATゲートウェイがあるか確認。状態がAvailableになるまで待つ

![スクリーンショット 2021-01-31 12.16.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/22383533-ca58-59c3-4dd8-fb2930e71a5d.png)

#### ルートテーブルの作成（プライベートサブネットのインスタンス用）

左のルートテーブルをクリック

![スクリーンショット 2021-01-31 12.17.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/c406872c-1d88-5ccb-8bca-ff40c4a6ed6d.png)

ルートテーブルの作成をクリック

![スクリーンショット 2021-01-31 12.18.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/4224b24f-af99-f2a5-3959-5a4553594dcf.png)

名前タグにROUTETABLE-PRIVATE、VPCはTEST-VPCを選択し、右下の作成を押す

![スクリーンショット 2021-01-31 12.19.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/8cd29524-808d-0310-7309-0f1e04e68981.png)

ルートテーブルから新規で作成したルートテーブルを選択し、ルートタブからルートの編集を行う

![スクリーンショット 2021-01-31 12.22.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/b6514684-f473-5808-15c6-b712ea0e769a.png)

送信先を0.0.0.0/0、ターゲットをNATゲートウェイを選択し、ルートの保存を押す

![スクリーンショット 2021-01-31 12.23.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a61609e7-75f2-7649-bf2c-7f690b3c46e5.png)

作成したルートテーブルはプライベートサブネットに関連付けを行う。
サブネットからTEST-SUBNET-2を選択し、アクションからルートテーブルの関連付けを編集をクリック

![スクリーンショット 2021-01-31 12.25.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/a1c178dd-3fa5-c089-c9b1-b8321bd9269c.png)

作成したルートテーブル（ROUTETABLE-PRIVATE）を選択し、保存を押す

![スクリーンショット 2021-01-31 12.26.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/c9dfd597-af6a-fad5-b75f-a1e83193a213.png)

TEST-SUBNET-2のルートテーブルが正常に編集されているか確認

![スクリーンショット 2021-01-31 12.26.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/54dd4a6b-82e3-18bc-aa3a-207c7ccfd78e.png)

これで構築が終了しました！

#### 補足（環境の削除）

このまま放置すると料金がかかるので、必要ない場合は環境を削除しておく

##### EC2の削除

インスタンス→インスタンスの状態からインスタンスを終了を選択。その後、終了ボタンを押す。

![スクリーンショット 2021-01-31 12.31.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/439c07d8-cf48-7c11-4087-8d40aaec56ca.png)

##### NATゲートウェイの削除

NATゲートウェイ→アクション→NATゲートウェイを削除

![スクリーンショット 2021-01-31 12.34.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/cbbce876-7e6d-77a0-f107-358319b1583f.png)

削除と入力し、削除ボタンを押す

![スクリーンショット 2021-01-31 12.35.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/70244347-4004-b011-c527-159a71b881f6.png)

##### Elastic IPの解放

Elastic IP→アクション→Elastic IPアドレスの解放を選択

![スクリーンショット 2021-01-31 12.36.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/3870bc75-d9a7-41df-0b8b-f84d7a5425a0.png)

解放を押す

![スクリーンショット 2021-01-31 12.37.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/6f447a89-caec-72a6-a223-e5793863add1.png)

##### VPCの削除

VPC→作成したVPCを選択→アクション→VPCの削除を選択

![スクリーンショット 2021-01-31 12.39.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/ca24456c-cff3-4305-6144-335ce966f81d.png)

削除と入力し、削除ボタンを押す

![スクリーンショット 2021-01-31 12.39.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621237/68e8f587-4b19-aa2d-5990-47a9feb777fe.png)

以上です！

## 参考にしたサイト

[公式ページ](https://aws.amazon.com/jp/vpc/)

[Amazon VPC とは?](https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html)