SSH ポートフォワーディングを使用した EC2 Windows インスタンスへの安全な接続

岩佐 孝浩
3 min read
EC2
この記事は、公開後3年以上が経過しています。
はじめに
URL Copied!
SSH ポートフォワーディング を使用することで、パブリックサブネット内の踏み台ホストを介してプライベートサブネット内の EC2 Windows インスタンスに安全にアクセスできます。この方法では、ローカルマシンと踏み台ホスト間の通信を暗号化し、安全性を高めます。
この方法では、PC と踏み台ホスト間の接続のみが暗号化されます。Bastion Host と EC2 Windows インスタンス間の通信には暗号化が適用されません。
プライベートサブネットの作成
URL Copied!
VPC 内に プライベートサブネット を作成します。既にある場合は、このステップをスキップできます。
ルートテーブルの設定
URL Copied!
- ルートテーブル を作成し、それをプライベートサブネットに関連付けます。
- このルートテーブルから インターネットゲートウェイ を削除し、サブネットをプライベートにします。
インターネットゲートウェイを削除しないと、サブネットがパブリックになります。
NAT ゲートウェイのセットアップ(オプション)
URL Copied!
EC2 Windows インスタンスがインターネットアクセスを必要とする場合は、パブリックサブネットに NAT ゲートウェイ を作成し、ルートテーブルにアタッチします。
NAT ゲートウェイを使用すると追加のコストが発生します。
SSH 踏み台ホストのデプロイ
URL Copied!
- パブリックサブネットに EC2 インスタンス を起動し、Bastion Host として使用します。
- セキュリティグループを設定し、ポート 22 (SSH) および 3389 (RDP) での受信トラフィックを許可します。
踏み台ホストへの簡単なアクセスのために Elastic IP (EIP) を割り当てます。
EC2 Windows インスタンスの作成
URL Copied!
- プライベートサブネットに EC2 Windows インスタンス を起動します。
- EC2 ダッシュボードの
Get Windows Password
オプションを使用してリモートデスクトップの資格情報を取得します。 - セキュリティグループのアクセスを制限し、ポート 22 および 3389 への受信トラフィックを踏み台ホストのみ許可します。
接続のテスト
URL Copied!
プライベートサブネット内の EC2 Windows インスタンスに安全に接続するには、ターミナルから次のコマンドを実行します。
ssh -i <YOUR_PRIVATE_KEY> -L 13389:<YOUR_EC2_WINDOWS_IP>:3389 ec2-user@<YOUR_SSH_BASTION_IP>
このコマンドは、ローカルポート 13389 からプライベートサブネット内の EC2 Windows インスタンスに踏み台ホストを介してトラフィックを転送します。
次に、localhost:13389
を使用してリモートデスクトップセッションを開始します。
まとめ
URL Copied!
SSH ポートフォワーディング を利用することで、AWS ユーザーはプライベートサブネット内の EC2 Windows インスタンスに安全に接続することができます。
Happy Coding! 🚀