はじめに
2025年11月19日に発表された AWS CLI の「aws login」機能によって、アクセスキーなしでも Session Manager ポートフォワードができるようになったので、実際に試してみました。
本記事は筆者の備忘録も含みます。
1.aws login とは
aws login は AWS CLI 2.32.0 以降のバージョンで使用できます。
AWS 公式ブログでの発表は以下になります。
2.Session Manager ポートフォーワードとは
SSM の AWS-StartPortForwardingSession 機能により、ターゲットの EC2 内でポートフォワードすることができる機能です。
警告
他の EC2 に対して、ポートフォワードすることはできません。
Session Manager ポートフォワードを利用して RDP 接続する方法は、以下の re:Post に詳細が記載されています。
3.事前準備
今回の検証では、以下の構成で RDP 接続を試してみました。

検証構成詳細
- VPC
- 10.0.0.0/16
- サブネット
- EC2 用:10.0.0.0/24
- VPC エンドポイント用:10.0.1.0/24
- EC2
- OS:Windows Server 2025
- AMI:ami-01613bfb9899b4fd4
- SSM エージェント:3.3.3050.0
- VP Cエンドポイント
- com.amazonaws.ap-northeast-1.ssm
- com.amazonaws.ap-northeast-1.ssmmessages
- EC2 用 IAM ロール
- AmazonSSMManagedInstanceCore(AWS マネージドポリシー)
3.1. AWS CLI のダウンロード
前述のとおり、aws login の機能を利用する場合は、AWS CLI 2.32.0 以降のバージョンである必要があります。
AWS CLI のインストール方法は以下を参照ください。
今回の検証では、AWS CLI のバージョン 2.32.2 を使用しています。
3.2. Sessin Manager プラグインのダウンロード
AWS CLI で SSM の Sessin Manager の機能を利用するためには、Sessin Manager プラグインをインストールする必要があります。
Sessin Manager プラグインのインストール方法は以下を参照ください。
今回の検証では、Sessin Manager プラグインのバージョン 1.2.764.0 を使用しています。
4.RDP 接続手順
接続元となるクライアントから、EC2 に SSM で RDP 接続していきます。
4.1. aws login の実行
クライアントマシンに認証情報をセットするために、aws login コマンドを実行します。
aws login でログインする IAM ユーザーに Sessin Manager でセッションを確立するための権限が必要です。
aws login
ブラウザに遷移してログイン方法について聞かれるため、適宜選択します。

既にログイン済みの場合は、ログインしている IAM ユーザーが表示されます。

ログイン後、Windowsのクライアントの場合は、 C:\Users\ユーザー名\.aws\login\cache は以下に認証情報がキャッシュされます。
4.2. Session Manager ポートフォワードの実行
Session Manager の AWS-StartPortForwardingSession ドキュメントを利用してポートフォワードを実行します。
今回はターゲットとする EC2 の TCP 3389ポートを、クライアントの TCP 13389ポートにポートフォワードしました。
aws ssm start-session --target i-xxxxxxxxxxxxxxxxx --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389,localPortNumber=13389"
コマンド実行後は、コネクション受付状態になります。
Starting session with SessionId: <セッションID>
Port 13389 opened for sessionId <セッションID>.
Waiting for connections...
4.3. EC2 への RDP 接続
クライアントから リモートデスクトップ接続 を起動し、接続先・認証情報を入力して EC2 に対して RDP 接続をします。
- コンピューター
- localhost:13389
- ユーザー名
- (例)Administrator
- パスワード
- (例)Administrator のパスワード
コネクションが接続されると、コネクションを受け入れた旨がコマンドプロンプトに表示されます。
Starting session with SessionId: <セッションID>
Port 13389 opened for sessionId <セッションID>.
Waiting for connections...
Connection accepted for session [<セッションID>]
4.4. Session Manager ポートフォワードの切断
コマンドプロンプトで Ctrl + C で切断することができます。
Starting session with SessionId: <セッションID>
Port 13389 opened for sessionId <セッションID>.
Waiting for connections...
Connection accepted for session [<セッションID>]
Terminate signal received, exiting.
Exiting session with sessionId: <セッションID>.
4.5. aws logout の実行
IAM ユーザーの認証情報を削除するために、使用後は aws logout を実行します。
aws logout
まとめ
クライアントから AWS CLI での Sessin Manager の利用については以前から使用できるものでしたが、アクセスキーを発行する必要がありました。
新たに aws login 機能が登場したことにより、アクセスキー無しでも使用できるようになったため、実案件でも使いやすくなったのではないかなと思います。


