40 代おっさん NAT gateway 経由して EC2 に繋げてみた　 ③

## 本記事について

本記事は AWS 初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## AWS 作成図

![vpc.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/b9dc8ad4-bba8-2910-9975-96abff578ad3.png)

VPC 部分については
<https://qiita.com/kou551121/items/2535fe3de57a5c813687>
EC2 部分については
<https://qiita.com/kou551121/items/56f2e075d33fbf345787>

## 構築手順

❶ private subnet に EC2 インスタンスを設置
<https://qiita.com/kou551121/items/3869db7c1e4bc72b2ab9>
を参照してください

またこの記事は AWS 初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
<https://aws-cloud-tech.com/>
❷ public subnet にある EC2 インスタンスを踏み台にして private subnet の EC2 にログインする。
<https://qiita.com/kou551121/items/6b1b237c8822861d334d>
を参照してください

❸ NAT gateway を作成してNAT gatewayを通信の出口用としてprivate subnetのEC2インスタンスにログイン

## 3.　 NAT gateway を作成してNAT gatewayを通信の出口用としてprivate subnetのEC2インスタンスにログイン

VPC のサービスに画面遷移してください
そこから左ウィンドウの NAT ゲートウェイをクリック
![NAT.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/557eb45c-f811-e6dc-ae0e-854efe3ea59f.png)
その画面より NAT ゲートウェイを作成をクリック

![NATゲートウェイ設定.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/bab870ec-88d3-3e79-2f76-c7f9cdf2a611.png)

赤枠　 NAT ゲートウェイの名前を入れてください
青枠　配置するサブネット、今回は Test-subnet-public に配置
黒枠　 Elastic IP の割り当てをクリック
緑枠　新しい Elastic IP が割り当てられました

あとは右下にある NAT ゲートウェイを作成をクリック

![割り当て.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/5435a792-5836-3eef-25f7-c4e251b6e261.png)

このようになったら大丈夫です
今現在は　「private subnet」 「public subnet」 ともに同じルートテーブルが同じになっています
次 NAT ゲートウェイを経由して private subnet の通信の出口となるようにルートテーブルを作成します

左ウィンドウより、ルートテーブルをクリック、そして上のほうにあるルートテーブルの作成をクリック

![ルートテーブルの作成.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/d45dc9dd-991f-799b-d392-d02d2d170f2d.png)

赤枠　名前（自分は routetable-private）
青枠　作った VPC（自分は Test-VPC)
終わったら作成（黒枠）をクリック

![ルートの編集.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/96f4c74a-8d9c-235c-171b-e156e1d33200.png)

routetable-private にチャック（赤枠）
ルートを選択して（青枠）
ルートの編集をクリック（黒枠）

![ルートの編集２.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/c164e558-f72e-27fe-a851-cd380d357f19.png)

ルートの追加をクリック（赤枠）
送信先を 0.0.0.0/0（青枠）
ターゲットをクリックすると色々でてきますが NAT 　 Gateway を選択、そして自分の作った NAT 　 Gateway を選択（自分は Test-natgw）（黒枠）
終わったらルートの保存をクリック（緑枠）

![ルートテーブルおｋ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/13873573-8567-138b-2dc3-c4ec91911020.png)

これで大丈夫です

つぎにサブネットの関連付けをします。
左ウィンドウよりサブネットをクリック

![サブネット関連付け.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/67cbde95-fdca-3226-94b4-8524a5acc2a4.png)

Test-subnet-private（赤枠）をチャック
アクションからルートテーブルの関連付けを編集をクリック（青枠）

![サブネット関連付け2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/01c98e39-a2ce-611c-7195-4cb7ebd37378.png)

赤枠にルートテーブル ID に自分の作ったルートテーブル（routetable-private)を選択
保存をクリック（青枠）

![natアタッチ.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/8b1ab7fb-0bc3-f6ca-5e99-e7bb92bbcf59.png)

ルートテーブルがこのようになっていれば大丈夫です
ではPrivate Subnet内のEC2インスタンスの通信の出口がNAT Gatewayになっているか確認したいと思います

Tera Term を起動して private subnet に入ってください

```shell
curl httpbin.org/ip
```

を入れてください

![nat確認.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/7c34535a-0ddd-d088-ac7f-ff2dc4e229e8.png)

これは・・・
↓ を見てください

![natPNG.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/aadd1ed1-49ed-3cbe-6d79-6318c2a578e7.png)

と NAT Gatewayの Elastic IP と同じなのがわかりますね
これで Private Subnet内のEC2インスタンスの出口がNAT Gatewayになっていることがわかります

## 最後に

やっと作成図をすべてクリアしました！！
長かった・・・
でもでも AWS はこれから始まったばかり、がんばるぞ～～

またこの記事は AWS 初学者を導く体系的な動画学習サービス「AWS CloudTech」の課題カリキュラムで作成しました。
<https://aws-cloud-tech.com/>