🤖

【AWS】WindowsServerにSessionManagerを使用してアクセスする

2023/12/07に公開

はじめに

今回は、AWSのプライベートサブネット上に立てたWindowsServerにSessionManagerを用いてRDP接続する方法についてまとめたいと思います。

構成図

前提

  • 東京リージョン(ap-northeast-1)で作業する。
  • EC2インスタンスは、既に作成済み。

EC2インスタンスに設定している内容は、以下になります。

設定項目 設定内容
サブネット プライベートサブネットのみ設定
AMI Windows_Server-2022-English-Full-Base-2023.11.15
セキュリティグループ Type: HTTPS 443
Source: 対象VPCのSubnet CIDR

※WindowsServer2022のAMIには、SSMエージェントがプリインストールされている。

設定手順

1.IAMロールの作成

①AWSコンソールにてIAMのダッシュボードに移動後、ロール > ロールを作成の順番で選択する。

②「信頼されたエンティティを選択」の画面が表示されるので、以下のように選択する。

  • 信頼されたエンティティタイプ
項目 設定
信頼されたエンティティタイプ AWSのサービス
  • ユースケース
項目 設定
サービスまたはユースケース EC2
ユースケース EC2

設定したら、「次へ」をクリックする。

③「許可を追加」の画面が表示されるので、ポリシーAmazonSSMManagedInstanceCoreを選択して「次へ」をクリックする。

④「名前、確認、および作成」の画面が表示されるので、任意のロール名を設定し「ロールを作成」をクリックする。
今回作成するロール名:Windows-SSM-Connect

⑤IAMロールが作成されたことを確認する。

2.EC2インスタンスにIAMロールをアタッチ

①EC2ダッシュボードに移動し、EC2インスタンス一覧から対象のインスタンスにチェックを入れる。
チェックを入れた状態で、インスタンスの状態 > セキュリティ > IAMロールを変更 を選択。

②作成したIAMロールを選択した後に、「IAMロールの更新」をクリックする。

3.VPCエンドポイントの設定

①EC2ダッシュボードに移動し、EC2インスタンス一覧から対象のインスタンスを選択。
詳細画面より以下の内容を控える。

  • VPC
  • サブネット
  • セキュリティグループ

②VPCダッシュボードへ移動後に対象VPCを選択肢、アクション > VPCの設定を編集 の順番で選択する。
以下の項目にチェックを入れて、保存する。

  • DNS 解決を有効化
  • DNS ホスト名を有効化

③VPCダッシュボードへ移動し、エンドポイント > エンドポイントを作成 と選択する。

④以下の最低限必要なエンドポイントを3つ作成する。

サービス名 説明
com.amazonaws.ap-northeast-1.ssm Session Managerの利用のために必要なエンドポイント
com.amazonaws.ap-northeast-1.ec2messages コマンドの送受信のために必要なエンドポイント
com.amazonaws.ap-northeast-1.ssmmessages クラウド内の Session Manager サービスでセッションチャネルを作成および削除するために必要なエンドポイント

エンドポイントの作成画面で設定する内容としては、以下になります。

項目 設定内容
エンドポイント名 任意
サービスカテゴリ AWSのサービス
サービス com.amazonaws.ap-northeast-1.ssm
VPC EC2インスタンスが所属しているVPC
サブネット EC2インスタンスが所属しているプライベートサブネットのID
セキュリティグループ EC2インスタンスが所属しているセキュリティグループ

こちらを以下のサービス分も実施する。

  • com.amazonaws.ap-northeast-1.ec2messages
  • com.amazonaws.ap-northeast-1.ssmmessages

④3つエンドポイントが作成できたことを確認

動作確認

①AWS Systems Managerのダッシュボードより、フリートマネージャーを開く。
以下のように対象のノードが実行中であることを確認する。

②対象ノードを開くとノードの詳細画面が表示される。
詳細画面より ノードアクション > 接続 > リモートデスクトップで接続 を選択。

③以下のような接続設定の画面が表示されるので、管理者アカウント名の入力やキーペアのアップロードを実施後に「Connect」をクリック。

④以下のようにWindowsServerのリモートデスクトップ画面が表示されることを確認する。

参考

https://dev.classmethod.jp/articles/tsnote-private-ec2-ssm-vpc-endpoint/

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-ssm-win.html

https://docs.aws.amazon.com/ja_jp/general/latest/gr/ssm.html

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html

Discussion