はじめに
今回はパブリックサブネットのEC2を経由してプライベートサブネットのEC2にSSH接続してみたので備忘録として記事にしてみました。
VPCやサブネットの名前は適当につけているので分かりにくかったら申し訳ないです。
構成
手順
- VPCの作成
- サブネットの作成
- インターネットゲートウェイの作成
- ルートテーブルの作成
- EC2インスタンスの作成
- インスタンスへ接続
- Elastic IP addressの割り当て
- NATゲートウェイの作成
VPCの作成
サブネットの作成
インターネットゲートウェイの作成
作成しただけだと何にもアタッチされていないので作成したVPCにアタッチする
ルートテーブルの作成
インスタンスの作成(パブリックサブネット)
- インスタンスタイプは無料枠のt2.microを使用
- VPCは先ほど作成したものを選択する
- サブネットはパブリックサブネットを選択
- 自動割り当てパブリックIPは有効化を選択
- セキュリティグループはデフォルトで作成(後で作成する)
- 新しいキーペアを作成して秘密鍵をダウンロードしておく
※自動でCドラ直下にダウンロードされる
EC2インスタンスにセキュリティグループを作成してアタッチする
- インバウンドルールにssh接続できるように設定してすべてのIPから受け取れるように0.0.0.0/0に設定する
- 作成したセキュリティグループをインスタンスに追加する
- デフォルトのlaunch-wizard-1は削除でよい
Elastic IPのアタッチ
このままでは作成したインスタンスのパブリックIPが起動するたびに変更されてしまうので静的IPを設定します。
インスタンスの作成(プライベートサブネット)
先ほどと同様にEC2インスタンスを作成する
インスタンスに接続
ここまで完了したらパブリックサブネットのインスタンスを踏み台にしてプライベートサブネットのインスタンスにssh接続してみます
- パブリックサブネットのインスタンスに接続してローカルにおいてある秘密鍵をコピーで移す
[ec2-user@ip-10-0-0-197 .ssh]$ scp -i .\My_Test _Server_key.pem .\My_Test_Server_key.pem ec2-user@54.95.230.106:/tmp/
※IPは割り当てたElastic IPを入力
/tmpをlsコマンドで確認してMy Test Server_keyが存在を確認
cd /tmp
この時所有者の権限がなかったときは変更する
chmod 400 My Test Server_key.pem
プライベートサブネットのインスタンスに接続
パブリックサブネットのインスタンスに先ほどコピーした秘密鍵を用いて接続する
cd /tmp
ssh -i My Test Server_key.pem ec2-user@xx.x.x.xxx
※IPにはプライベートIPアドレスを入力する
無事ログイン出来たらパブリックサブネットのEC2インスタンスを経由してプライベートサブネットのインスタンスに接続できたので, プライベートサブネットからインターネットに接続するためにNATゲートウェイを作成します。
NATゲートウェイの作成
-
作成するサブネットはパブリックサブネットを選択する
-
新たにルートテーブルの作成を行う
送信先:0.0.0.0/0 ターゲット:NATゲートウェイ
最後に
AWSを触るうえで基本的な操作が多いのでやってみてよかったです。これからも実際に手を動かし、サービスや機能を覚えてAWS SAP合格につなげたいと思います。