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>
を参照してください

❷ public subnet にある EC2 インスタンスを踏み台にして private subnet の EC2 にログインする。

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

## 2. public subnet にある EC2 インスタンスを踏み台にして private subnet の EC2 にログインする

今回も Tera Term を使用したいと思います。

### 流れ

1. public subnet の EC2 にログインする。
2. public subnet の EC2 にキーペアを送る。
3. public subnet の EC2 を踏み台にして private subnet の EC2 にログインする。

### 流れを実際にやってみる

#### 1. public subnet の EC2 にログインする

■windows で EC2 にログインする手順（Tera Term を使用）
参考
Amazon EC2 に SSH 接続する【Windows、Macintosh】
<https://dev.classmethod.jp/articles/aws-beginner-ec2-ssh/>

ログインした画面 ↓
![EC2ログイン画面.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/fe676c7a-b240-3144-9821-63cf965a4b4f.png)

#### 2. public subnet の EC2 にキーペアを送る

作ったキーペア（自分は Test-key.pem)を Tera Term にドラック＆ドロップ

![キーペアドラック.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/a6679176-081b-d558-5a5f-c30ad47e2b21.png)

このような画面になるので OK を押してください
OK 押すと何も変わらないので確認のため　 ls コマンド（linux コマンド わからない人は調べてみてください）
linux 参考教科書
<https://linuc.org/textbooks/linux/>
<https://www.amazon.co.jp/%E6%96%B0%E3%81%97%E3%81%84Linux%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E4%B8%89%E5%AE%85-%E8%8B%B1%E6%98%8E/dp/4797380942?ref_=Oct_s9_apbd_otopr_hd_bw_b26ma&pf_rd_r=198P1EBCTY9X7Z1NZ6PE&pf_rd_p=4745f390-fc6a-5e7d-a99c-ffafed320525&pf_rd_s=merchandised-search-10&pf_rd_t=BROWSE&pf_rd_i=502732>
他にもいろいろあるみたいですが、進めている方がいらっしゃったので載せてみます！！
自分も頑張って勉強します！

ls コマンド入れたのが ↓
![ec2ls.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/2e6428c3-ec98-6a92-6066-20291bad8999.png)

キーペアが送られているのが確認できています

#### 3. public subnet の EC2 を踏み台にして private subnet の EC2 にログインする

```shell
ssh -i Test-Key.pem ec2-user@10.0.2.19
```

上のコマンドを打ってください。
説明すると ssh -i が　 ssh で通信することを指定して
Test-Key.pem が秘密鍵を指定してます
ec2-user ユーザー名を指定
@10.0.2.19 が Test-EC2-private のプライベート IPv4 アドレスになります。
（↓ 赤枠）
![プライベートアドレス.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/e9aeb4d0-e7d7-6826-cc4e-e8171cef9bb7.png)

ちなみにこのままコマンドを打つと
![ログインエラー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/f2ea72a5-fc89-4510-bdbc-b24f5f7183f1.png)

おっと何かエラーでた！！
実は AWS CloudTech のもくもく会、諸先輩方からパーミッション変えるの忘れないでねと事前にアドバイスがありましたのですぐにわかり、以下のコマンド打ちました！！

```shell
chmod 400 Test-Key.pem
```

![chmod.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/d83f29fd-52de-748d-e6d3-4e0f2bdc2fda.png)

もう一回ログイン！！

![prログイン.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/641940/79bbff77-a606-fc85-e530-3c533dcf27e7.png)

赤枠と青枠を見比べると変化していることがわかります。
つまり public subnet の EC2 を踏み台にして private subnet の EC2 にログインできたことになります。

## 最後に

ふ～～なんとか public subnet の EC2 を踏み台にして private subnet の EC2 にログインできましたね・・・
つぎは NAT gateway を作成してNAT gatewayを通信の出口用としてprivate subnetのEC2インスタンスにログインしたいと思います。長くなったので次回で行きたいと思います。

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