AWS上のWindows ServerをGUI操作したい時、思いつくのは当然RDPだと思います。
しかし、プロキシサーバーを経由する場合などは、直接RDPできないのが難点です。
解決法として、プライベートサブネットを作成し、そこにポートフォワーディング用の踏み台サーバーを用意する方法があります。
今回はこの方法を使って、WindowsServerにRDPします。
(ちなみに、環境はMacです。)
2022/1/13追記 もっと簡単なRDPの方法を下記で紹介しています。お急ぎの方はこちらをどうぞ
ポートフォワーディングを使って踏み台経由でRDPする
構成
IGWをアタッチしたVPCと、その中にサブネットが2つの構成です。

ネットワークACLはデフォルトのままです。
パブリックサブネットには、ルートテーブルにIGWを追加したので、外との通信ができます。
これから、パブリックサブネットに踏み台のEC2インスタンス(Amazon Linux 2)を、プライベートサブネットにRDP先のEC2インスタンス(WindowsServer)を作成します。
インスタンス作成
まずは、踏み台のインスタンスを作成します。
といっても、重要なのはセキュリティグループですので、それまでの設定は任意に設定しても大丈夫です。
セキュリティグループは、インバウンドの通信をSSHとポートフォワーディング用のポートを許可しておく必要があります。
したがって、下記のようなセキュリティグループになります。

最後に、安全のためにキーペアを作成して、ローカルに保存します。
次に、RDPの対象のインスタンスを作成します。
といっても、重要なのはセキュリティグループですので、それまでの設定は任意に設定してもらって大丈夫です。
セキュリティグループは、インバウンドの通信をRDPを許可しておく必要があります。
したがって、下記のようなセキュリティグループになります。
(このVPCでは10.0.0.16/28がパブリックサブネットのIPになります。)

最後に、安全のためにキーペアを作成した方が良いですが、今回はさっきの踏み台のキーペアを使い回します。
EC2インスタンスの一覧に戻ったら、右上の”インスタンスの設定” -> "Windowsログインのパスワード取得" から、ダウンロードしたキーペアを読み込ませてパスワードを取得しておきます。

ポートフォワーディング設定
ポートフォワーディングのために、まずは踏み台サーバーにSSHログインします。
ターミナルを開いて、以下のコマンドを実行します。
(ポートはデフォルトの22番を使います。)
$ ssh -i <キーペア名>.pem ec2-user@<踏み台サーバーのパブリックIPアドレス> -L 13389:<WindowsServerのプライベートIPアドレス>:3389

これで、このターミナルは開いたままにします。
次に、Microsoft Remote Desktopを開きます。
持っていない方は、AppStoreからダウンロード&インストールしてください。
Microsoft Remote Desktop で Add ボタンをクリックして、PCnameに<localhost:13389>と入力して保存し、接続します。

ユーザー名には<Adiministrator>を、パスワードには先程取得したパスワードを入力します。

正しく入力できていると、WindowsServerにRDPできます!

以上、ポートフォワーディングを使って踏み台経由でRDPする方法でした。
AWS学習におすすめの書籍
AWSについて、しっかりと基礎から学びたい、実践的なスキルを身につけたいと考えている方向けに、おすすめの書籍を紹介します。
これらの書籍は、実際にAWSエンジニアとして働く僕が参考にしている書籍です。
AWSエンジニア入門講座――学習ロードマップで体系的に学ぶ
AWSを使いこなすための前提となるITインフラの知識が足りない初学者にとって、どこからどのように学べばよいのかがわかりづらくなっています。そこで本書では、AWS学習サイト運営YouTuberである監修者自身が実サービスの導入で習得しながら体系化した「学習ロードマップ」に沿って、AWSのサービスとIT技術をやさしく解説していきます。
著者が作成した学習ロードマップに沿って、AWSやインフラストラクチャを体系的に学ぶことができます。
付属のロードマップの完成度が高く、学習に迷ったときや復習にも使えます。
これからAWSエンジニアを目指す方や、インフラストラクチャを基礎から学びたい方におすすめです。
Amazon Web Services 業務システム設計・移行ガイド
オンプレミス上に構築された業務システムをAWS上に移行するための「サービスの選定」「ネットワーク設計・構築」「サーバとデータの移し方」「運用・監視体制の構築」など。これまで多くの企業にAWSを導入し、コンサルティングフェーズから実際の設計・開発、運用フェーズまでの全行程に携わってきた著者陣のノウハウを凝縮して、一般的な企業にAWSを導入する際のベストプラクティスをお届けします。
実務を想定した様々なユースケースとそれに対するベストプラクティスを、設計構築から運用まで幅広くカバーして紹介しています。
タイトルからは移行に焦点を当てたように見えますが、僕としては移行に限らずエンタープライズとしてAWSを利用する上で知っておくべきことが記されていると思います。
より実践的な知識やノウハウを身に着けたい方、初学者から一皮むけたい方におすすめです。