フリートマネージャー」タグアーカイブ

EC2(WindowsServer)にSSM Fleet Managerを使ってRDP接続してみる

概要~AWSのEC2(WindowsServer)にAWS Systems Managerのフリートマネージャーを使ってRDP接続してみる~

皆さんはWindowsサーバのEC2を立てた後、どのようにRDP接続していますか?
私はしばらく踏み台サーバを構築して踏み台サーバを経由してアクセスしていたのですが、最近Fleet Managerの存在を知ったのですぐに乗り換えました(^^)便利です。
ただ、乗り換えにあたりいくつか注意点があったのでその内容を共有します。

Fleet Manager RDP接続切り替え手順

今回の記事内容は既存のEC2インスタンスにFleet Managerで接続する接続方法の切り替え手順になります。EC2インスタンスを新しく作成してFleet Managerから接続するのは以下の記事のように比較的簡単に出来るのでそれらの記事を参照にしてください。

【RDP切り替え手順】

  1. RDP接続先のEC2のIAMロールにAmazonSSMManagedInstanceCoreを追加する
  2. SSM Agentを最新化する
  3. RDP接続ポートを3389にする

それでは手順の詳細を説明していきます。

手順1:EC2のIAMロールにAmazonSSMManagedInstanceCoreを追加

Fleet Managerを使ったRDP接続には専用のIAMポリシーが追加になります。AmazonSSMManagedInstanceCoreというポリシーをIAMロールに追加しましょう。
AmazonSSMFullAccessというポリシーもありますが、このポリシーではダメなので注意しましょう。

このIAMポリシーを持つIAMロールをEC2に付与することで、フリートマネージャーが該当のEC2をマネージドノードとして認識でき、フリートマネージャーのマネージドノードの一覧に表示されるようになります。(反映には時間がかかるようで私の場合、IAMロール設定後10分程度一覧に表示されるまで時間がかかりました)

ちなみにこの画面はAWS Systems Managerのトップ画面の左メニューにあるフリートマネージャーをクリックすることで遷移できます。

手順2:SSM Agentを最新化する

手順1を実行することで基本的にはフリートマネージャーからのRDP接続の準備が完了なのですが、私の場合、これだけではエラーになったため、あと2つの切り替え手順を記載します。ちなみにこの状態でRDP接続をするためには、フリートマネージャーの画面から ノードアクションリモートデスクトップ(RDP)との接続をクリックします。

表示されたリモートデスクトップ接続画面からユーザー認証情報(通常のRDP接続に使っているID/パスワード認証)か、キーペア(EC2作成時に指定したキーペアを使った認証)かを選び、Connectをクリックします。

接続を試みているようですが、、、

最終的にはリモートデスクトップセッションが確立できないとかで、タイムアウトしました。。。

この原因を調査したのですが、直接的な原因がわからず、結論としてはSSM Agentのバージョンアップをしたところ、解決しました。
(私のEC2は2020年頃作成したもので、SSMエージェントは自動インストールされており、当時のバージョンは3.0.XXX.Xくらいだったと思います)

SSM Agentの最新化は以下のフリートマネージャーの画面操作で簡単にできます。
アカウント管理SSMエージェントの自動更新

↓のバージョンが上がったことを確認しましょう。

手順2は以上です。

手順3:RDP接続ポートを3389にする

この手順は敢えてデフォルトのRDP接続ポートを変更していた人のみの手順になります。
私はポート変更していたので、ここで結構ハマリました。
なぜなら3389以外のポートにしていた場合、エラーメッセージが↓の認証エラーでした。。。

リモートデスクトップセッションを確立できません。
有効な認証情報が提供されていること、および指定したユーザがリモートデスクトップ経由でログインできることを確認してください。
Authentication failed

このエラーに従って接続ユーザやキーペアの正当性を繰り返し確認したり、新しいログインユーザを作成してみたり、もう一台EC2を立ち上げてそのEC2からの接続を試みたり等、試しましたが、その場合は正しくRDPできてしまう。。。ただ、フリートマネージャーを使ったRDPは必ずこのエラーになってしまう。。。

既存のEC2からの乗り換えは難しいかと諦めかけたときにそう言えばデフォルトのRDPポートを変えていることに気が付き、もしかしたらと試してみたら無事に接続できました。

リモートデスクトップのデフォルトポートの変更はAWSとは関係のない話しなので変更手順は以下のサイト等参照にします(^^;)

https://learn.microsoft.com/ja-jp/windows-server/remote/remote-desktop-services/clients/change-listening-port

以上です!

まとめ

私の環境ではいくつかのエラーが発生し乗り換え手順が必要になりましたが、基本的にはフリートマネージャーはかなり便利に使えると思います。
いくつか接続後の注意点としては、

  1. ファイル共有が出来ない(ローカル環境からファイルをコピペするが出来ない)ことは、S3をローカル環境とEC2のファイル共有に利用することが運用しています。
  2. 日本語が入力できない

ことが挙げられ、2番目(今のところ出来なそう)はなんとかならないかなぁと思っているところです。