プライベートサブネットからインターネットを使いたい【AWS】

・プライベートサブネットからインターネットを使用したい
・プライベートサブネット上からインターネット上のEC2に踏み台経由でSSHしたい
プライベートサブネット上のEC2から、パブリックサブネット上のEC2にポートフォワードして
インターネット経由でSSH接続を行ってみようと思います。

前提条件
・サブネットは作成済み
・EC2作成済み
・パブリクサブネット⇄プライベートサブネットは疎通確認済み
・パブリックサブネット→IGWは関連付け済み
・接続先のEC2のSG設定済み(全てのIPからのSSH接続許可)
プライベートサブネットのSGを修正
パブリックにあるEC2には8443のポートを使用してポートフォワードを行うため、8443ポートのインバウンドを許可します。

パブリックサブネットのEC2のSGを修正して22ポートのSSHを許可します。

ポートフォワード準備
最終的に下記コマンドよりポートフォワードの確認を行います。
ssh -L 8443:[SSH接続したいEC2のIP]:22 -i C:\path\to\key.pem ec2-user@10.1.1.68
※パーミッションのエラーが出た場合は、権限からUsersを削除してください。
keyファイルを右クリックし「Property」をクリックし、Advancedをクリック

下記画面でUsersにクリックした状態で「Enable inheritance」をクリック

Convert inherited~をクリック

Usersを選択しながら「Remove」をクリックしUsersが消えたらApplyをクリック

まずSSH接続をできることを確認します。
ssh -i ~/path/to/key.pem ec2-user@[接続先EC2のIP]
hostsファイルの編集
次にポートフォワードでlocalhostを使用できるようにhostsファイルを編集します。
C:\Windows\System32\drivers\etc

下記のようにhostsファイルに追加
繋ぎたいEC2のグローバルIP localhost

SSH接続確認
hostsファイルを修正し準備が整いましたので、もう一度ポートフォワード接続からやり直してみます。
ssh -L 8443:[接続したいEC2のGIP]:22 -i C:\path\to\key.pem\flowlog-test2.pem ec2-user@[ポートフォワード先EC2]

次に接続したいEC2にSSH接続を行います。
ssh -p 8443 -i [接続するEC2の鍵] ec2-user@localhost

接続したいEC2に無事接続できました。
以上です。誰かの参考になれば幸いです。
- タグ:
- EC2