AWS Systems Managerのノード管理ツールであるSession Managerを使用して、踏み台ホストのセットアップやEC2のセキュリティグループのポートを開いたりすることなく、プライベートネットワーク内にあるEC2に安全に接続し管理できます。
本記事では、実際にAWS Systems Manager Session Managerのポートフォワーディング機能を使用して、EC2へ接続する手順について記載いたします。
概要

Session Managerのポートフォワーディングは、クライアントPCのローカルポートとリモート接続先であるEC2インスタンスのポートを安全なチャネルで接続する仕組みです。
これにより、EC2インスタンスのインバウンドポートを開放せずにAWS管理プレーンで暗号化された接続(TLS暗号化)が可能になります。
接続の流れは以下の流れとなります。
- クライアントPC → Session Managerへのポートフォワーディングセッション確立
- クライアントPCでAWS CLIとSession Manager Pluginを使用し、ローカルポート(例:55389)を指定してセッションを開始します。
- この通信はHTTPS(TLS暗号化)でAWS管理プレーンに接続します。
- Session Manager → EC2へのポートフォワーディング
- Session ManagerはAWS管理プレーン上で動作し、EC2のSSM Agentと安全なチャネルを確立します。
- クライアントPCの指定ポートをEC2の指定ポートに安全な経路で転送します。
※ローカルポートはクライアントPCで使用していないポートを指定する必要があります。一般的にはエフェメラルポート(49152~65535)の範囲から選ぶと安全です。
前提条件
本手順を実施するにあたり、以下の項目を前提とします。
- EC2インスタンスのOSはWindows Server2025を使用します
- EC2インスタンスにSSM Agentがインストール済みであること
- EC2インスタンスにIAMポリシー(AmazonSSMManagedInstanceCore)が付与されていること
- VPCエンドポイントと疎通ができること
- クライアント端末にAWS CLIがインストールされ、初期設定がされていること
- EC2インスタンスがAWS Systems Managerのフリートマネジャーのマネージドノードとして登録されていること
以下の記事も参考にしてください。
- AWS Systems ManagerのフリートマネジャーにEC2インスタンスを登録する手順
- AWS CLIのインストールから初期設定手順
手順詳細
Session Managerプラグインをインストール(AWS CLI用)
以下URLにアクセスし、Windows用のSession Managerプラグインをダウンロードします。
Windows での Session Manager プラグインのインストール - AWS Systems Manager
クライアントPCの管理者ユーザーでダブルクリックし、インストーラーを起動します。

インストーラーが起動するので、利用規約同意にチェックを入れて「Install」をクリックします。

インストールが完了していることを確認し、「Close」をクリックします。

AWS Systems Manager Session Managerのポートフォワーディングを使用してEC2へ接続方法
クライアントPCでコマンドプロンプトを起動し、以下コマンドを実行します。
※環境に合わせて、コマンドの書き換えを行ってください。
aws ssm start-session --target <EC2のinstanceid> --document-name AWS-StartPortForwardingSession --parameters "localPortNumber=<ローカルポート番号>,portNumber=3389

コマンドを実行すると、「Starting session with SessionId:~Waiting for Connections...」と表示され、接続に成功します。

クライアントPCでリモートデスクトップ接続を起動し、コンピュータの入力欄に「localhost:ローカルポート番号」を入力し、「オプションの表示」をクリックします。

ユーザー名とパスワードを入力し、「OK」をクリックします。

接続しますか?と確認が画面が表示されるので、「はい」をクリックします。

EC2へログインできることを確認します。

EC2インスタンスへの接続が確立すると「Connection accepted for session」と表示されます。

環境ログアウト方法
EC2インスタンスのOSメニューより、「Sign out」をクリックし、サーバからログアウトします。

クライアントPCで起動しているコマンドプロンプトを開き、Ctrl+Cキーを押しポートフォワーディングのセッションを終了します。
セッションが正常に終了すると「Terminate signal received, exiting」と表示されます。

まとめ
本記事では、AWS Systems Manager Session Managerのポートフォワーディング機能を使用してEC2へ接続するまでの手順について記載いたしました。
踏み台サーバをコスト面の理由から用意できない場合や、セキュリティ上の観点からポートを開放不可の要件がある際に、本記事が少しでも参考になれば幸いです。