1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

aws login と Session Manager ポートフォワードを利用した RDP 接続

Last updated at Posted at 2025-11-22

はじめに

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 接続を試してみました。
ssmポートフォワード.drawio.png

検証構成詳細
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

ブラウザに遷移してログイン方法について聞かれるため、適宜選択します。
07_login時の表示_1.png

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

ログインに成功すると以下の画面が表示されます。
08_login時の表示.png

ログイン後、Windowsのクライアントの場合は、 C:\Users\ユーザー名\.aws\login\cache は以下に認証情報がキャッシュされます。

4.2. Session Manager ポートフォワードの実行

Session Manager の AWS-StartPortForwardingSession ドキュメントを利用してポートフォワードを実行します。
今回はターゲットとする EC2 の TCP 3389ポートを、クライアントの TCP 13389ポートにポートフォワードしました。

Session Manager ポートフォワード
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 のパスワード

02_RDP接続.png

無事に接続できました!
04_RDP接続.png

コネクションが接続されると、コネクションを受け入れた旨がコマンドプロンプトに表示されます。

接続後
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 機能が登場したことにより、アクセスキー無しでも使用できるようになったため、実案件でも使いやすくなったのではないかなと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?