1.はじめに
この記事は、社内ネットワークでAWSのLinuxベースのEC2の利用経験はあるが、WindowsベースのEC2ははじめてという方向けに、AWSでWindowsベースのEC2をクローズド環境(プライベートサブネット、インターネットアクセスなし)で作成する場合、AWS管理コンソールを通じて Windows EC2にRDP(Remote Desktop)でアクセスする方法を紹介した記事になります。
2. SSMのFleet Manager RDP
結論から言うと、AWS Systems Manager(SSM)のFleet Manager Remote Desktop(Amazon DCVベースのブラウザ内RDP)を使用すれば、RDPポート3389を一切セキュリティグループで開ける必要がなく、完全に閉じた環境で安全に接続できます。接続はSSM AgentからAWSバックボーン経由で開始されるため、インターネットやパブリックIPは不要となります。
以下に、EC2起動 → SSMAgentインストール/確認 → SSM Fleet Managerで管理可能にする → RDP接続までの全手順を、AWSエンジニアとして具体的に解説します。
(前提:VPCはプライベートサブネット中心でIGWなし、またはNATなしのクローズド構成)
2.1. 前提準備:SSM通信用のVPC Interface Endpoint作成(必須・クローズド環境の鍵)
SSM AgentがSSMサービスと通信できるようにします。AWSコンソール → VPC → エンドポイント → エンドポイントの作成
以下の3サービスをそれぞれ作成(Interfaceタイプ):com.amazonaws.{リージョン}.ssm
com.amazonaws.{リージョン}.ssmmessages
com.amazonaws.{リージョン}.ec2messages
(例:東京リージョン = ap-northeast-1)
共通設定:VPC:対象VPC
サブネット:EC2を配置するプライベートサブネットすべてを選択
プライベートDNS名:有効
セキュリティグループ:新しいSGを作成(または既存)し、HTTPS (443) をインスタンスのSGから許可
ポリシー:フルアクセス(デフォルト)
作成完了後、数分待ってエンドポイントの状態を「Available」にします。
これでインターネットなしでSSM AgentがSSMと通信可能になります。
2.2. IAMインスタンスロールの作成(SSM管理に必須)
・IAMコンソール → ロール → ロールを作成
・信頼されたエンティティ:AWSサービス → EC2
・アクセス許可:AmazonSSMManagedInstanceCore(必須)をアタッチ
(必要に応じて AmazonSSMDirectoryServiceAccess や CloudWatchポリシーも追加)
・ロール名例:SSMInstanceProfile-role
⇒作成完了後、2.3へ
2.3. Windows EC2インスタンスの起動(クローズド構成)
・EC2コンソール → インスタンスを起動
・AMI:Amazon Windows Server(2022/2019など、公式AMI推奨)
・インスタンスタイプ:任意
・ネットワーク:VPC / サブネット:プライベートサブネット
・パブリックIP:自動割当なし
・IAMインスタンスプロファイル:上記で作成したロールを選択
・キーペア:新規作成(.pemファイル保存 → 後でRDP認証に使用)
・セキュリティグループ:新規作成 インバウンド:3389ポートは一切許可しない(閉じたまま)
・アウトバウンド:デフォルト(0.0.0.0/0)
・詳細設定 → 高度な詳細 → User data は不要(Agentはプリインストール)
⇒起動完了後、2.4へ
2.4. SSMAgentのインストール・確認(Fleet Manager管理可能にする)
・AWS公式Windows AMIの場合:SSM Agentは既にプリインストール済みで起動時に自動起動します(バージョン3.0.222.0以上が必須)。
手動インストールは通常不要ですが、以下で確認・対応します。
確認手順
・インスタンス起動後 5〜10分 待機
・Systems Manager → Fleet Manager(または ノード管理 → マネージドノード)
フリーとマネージャ画面を表示。はじめて使用する場合は、使用を開始するボタンをクリックします。

「新しい接続を追加」の画面のリストボックスで起動中のインスタンスの一覧を選択

・対象インスタンスが表示され、ノードの状態が「実行中」(緑色)で、Pingステータスが「オンライン」(緑色)になっていれば完了です。(ノード ID = i-xxxxxxxx)
2.5. リモートデスクトップ接続
「設定」ボタンからメニューを開き、「接続」-「リモートデスクトップ接続」をクリックし、「リモートデスクトップ」画面を表示します。
認証方法を選択:キー ペア(推奨):.pemファイルを「ローカルマシンを参照」または貼り付け → 自動でパスワード取得
または ユーザー認証:Administrator / パスワード(EC2コンソールの「パスワードの取得」でキーから取得)

「接続」(オレンジ色)をクリックします。
⇒ブラウザ内でWindowsデスクトップが表示されます!

3. Fleetmanager RDPの制限について
FleeManagerのRDPでは、接続時間は最大60分、またファイルのコピー&ペーストも行えない、といった制限があります。
これらの制限なしに使うには、クローズドな環境の場合でもDirectConnect接続などを介して作業室・居室のPCからのAWSのVPC環境までの接続を行い、RDPの通信ポート3389での疎通を行えるような環境にする事を検討してください。
4. 余談
Windows EC2を作成する時にログインの認証キーを作成しますが、もしpemでなくて、ppkで作成してしまった場合という場合で、pemを指定しないとパスワードが復号できない、というような状況になった場合にそなえ、ppkファイルからpemファイルに変換する方法があることは覚えておいてください。
PuTTY付属のPuTTY Key Generator を使用して変換することができます。
以下の画面で ppkファイルをimportし、Export OpenSSH Keyでpemファイルで出力することで変換をかけることができます。

