AWS Systems ManagerでオンプレミスのマシンにRDP
なにをするのか
Systems Manager管理ノードにした非EC2マシンへのSession ManagerによるRDP接続を試してみる。
具体的には
以下でSystems Manager管理下にしたオンプレミスのWindows 11端末に、Sessions ManagerでRDP接続してみる。
Systems ManagerはAdvanced層が必要
オンプレミスのWindows 11端末にSystems Managerで「ノードアクション > 接続 > リモートデスクトップで接続」を実行しようとすると、次のエラーが出る。
StartConnection API オペレーションの呼び出し中にエラーが発生しました。ValidationException: The StartSession API operation didn't succeed: An error occurred (BadRequest) when calling the StartSession operation: Enable advanced-instances tier to use Session Manager with your on-premises instances
オンプレミスインスタンスに対してSession Managerで接続したいときは、アドバンスド層を使用する必要があるとのこと。
Systems Managerのアドバンスド層について
アドバンスド層を使ったことがなかったので、軽くドキュメントを読んでまとめる。
アドバンスド層では以下が可能になる。
- 1,000台超のノードをSystems Managerに登録する(マネージドノードにする)。
- Patch Managerで非EC2ノード上のMicrosoftがリリースしたアプリケーションにパッチ適用する。
- Session Managerで非EC2ノードに接続する。
アドバンスド層の利用は有償。「オンプレミスインスタンス管理 - 料金 - AWS Systems Manager | AWS」参照。
- Systems Manager のマネージドインスタンスとしてアクティベーションされたアドバンスドインスタンスの数、およびそれらのインスタンスの実行時間に基づいて請求される。ノード単位で有効化/無効化はできなさそう。
- アドバンスドオンプレミスインスタンスが 1 時間ずっと登録解除、シャットダウン、または削除されていた場合、その時間に対する料金は発生しない。
- 2023年10月1日時点で、料金はアドバンスドオンプレミスインスタンスごとに時間あたり 0.00695 USD。
- 720時間(≒1か月)連続稼働した場合、5.004USD。
- 2023年10月1日時点(1ドル149.38円)で、1時間で1.04円、720時間で747.47円。
管理ノード単位ではなく、AWSアカウント単位でアドバンスド層になる(AWSアカウント内の管理ノードすべてで料金が発生する)というところが少しやな感じ。例えば以下のようなことを考えた方がいいかも。
- 試行環境では試行前に管理ノードを減らす
- 本番環境ではアドバンスド層で管理したいノードは専用のAWSアカウントに集約して、そのほかのノード(たとえば1000台以内のEC2インスタンス)と分ける
マイクロソフトアカウントでのRDP
オンプレミスの作業マシンではマイクロソフトアカウントを使用しているのだけど、その場合はRDP接続時に以下のようなことになるかもしれない。未実施なのでまだわからんけど。