SSH ポートフォワーディングを使用した EC2 Windows インスタンスへの安全な接続
はじめに
SSH ポートフォワーディング を使用することで、パブリックサブネット内の踏み台ホストを介してプライベートサブネット内の EC2 Windows インスタンスに安全にアクセスできます。この方法では、ローカルマシンと踏み台ホスト間の通信を暗号化し、安全性を高めます。
プライベートサブネットの作成
VPC 内に プライベートサブネット を作成します。既にある場合は、このステップをスキップできます。
ルートテーブルの設定
- ルートテーブル を作成し、それをプライベートサブネットに関連付けます。
- このルートテーブルから インターネットゲートウェイ を削除し、サブネットのプライバシーを保護します。
NAT ゲートウェイのセットアップ(オプション)
EC2 Windows インスタンスがインターネットアクセスを必要とする場合は、パブリックサブネットに NAT ゲートウェイ を作成し、ルートテーブルにアタッチします。
SSH 踏み台ホストのデプロイ
- パブリックサブネットに EC2 インスタンス を起動し、Bastion Host として使用します。
- セキュリティグループを設定し、ポート 22 (SSH) および 3389 (RDP) での受信トラフィックを許可します。
EC2 Windows インスタンスの作成
- プライベートサブネットに EC2 Windows インスタンス を起動します。
- EC2 ダッシュボードの
Get Windows Password
オプションを使用してリモートデスクトップの資格情報を取得します。 - セキュリティグループのアクセスを制限し、ポート 22 および 3389 への受信トラフィックを踏み台ホストのみ許可します。
接続のテスト
プライベートサブネット内の 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
を使用してリモートデスクトップセッションを開始します。
まとめ
SSH ポートフォワーディング を利用することで、AWS ユーザーはプライベートサブネット内の EC2 Windows インスタンスに安全に接続しながら、パブリックアクセスを最小限に抑えることができます。この方法により、AWS 環境内で安全性を確保しつつ、効率的かつコスト効果の高いアクセス手段を実現できます。
Happy Coding! 🚀