COLUMN

【AWS】「AWS Systems Manager」経由でWindowsサーバーにリモートデスクトップ接続する方法

NTT東日本がお届けする、クラウドの情報満載のメールマガジンはこちらからご登録ください。

初めまして、クラウド導入・運用サービスにて構築担当している高木です。
AWSとスノーボードが大好きです。スノーボードは3年ほど前インストラクターの資格を取得したのですが、子供が産まれてからゲレンデから遠ざかってしまいました。子供が少し大きくなったら家族でゲレンデに遊びに行こうとひそかに計画しています。

それでは早速本題です。
今回のコラムでは、複数のユーザーが「AWS Systems Manager(以下AWS SSM)」経由でWindowsサーバーにリモートデスクトップ接続をする方法について紹介していきます。

恐らく皆さまもオンプレミス環境と同様に、AWS環境にWindowsインスタンスを構築した際も、システム構築やメンテナンスのために、リモートデスクトップ接続をされている事かと思います。

リモートデスクトップの接続方法はいくつかあると思いますが、代表的なものは踏み台サーバー経由でのアクセスではないでしょうか。しかし、踏み台サーバーの構築費用やランニング費用、運用管理等、本来のシステム管理以外の部分で時間とコストがかかります。

AWS SSMの利用料は無料で、アクセス権限の一括管理やアクセスログの集中管理ができるようになります。なお、アクセスログの保存には、別途CloudWatch LogsやS3の費用が必要になります。

そこで、今回はAWS SSMを利用した、リモートデスクトップを紹介していきます。

前半は、IAMにおけるユーザーの管理について、後半はリモートデスクトップ接続方法について案内していきます。

NTT東日本がお届けする、クラウドの情報満載のメールマガジンはこちらからご登録ください。

1.はじめに

AWS環境上に構築されたWindowsインスタンスへリモートデスクトップ接続を行うユーザー権限は、主にソフトウェア開発者やアプリケーション開発者、運用管理者等を想定しています。
それらのユーザーはリモートデスクトップ接続の権限のみ許可されており、AWSマネージメントコンソールへのアクセスはすべて拒否される運用ルールを想定しています。

今回のコラムでは、システム管理者がIAMユーザーの管理を行い、開発者や運用者は管理者から提供されたIAMの権限を利用してWindowsインスタンスにアクセスするような運用をイメージしています。

2.そもそもAWS SSMとは?

AWS SSMはAWS上のリソースを表示したり、インスタンスを制御するために使用できるAWSの管理サービスです。具体的には「インスタンスのパッチ管理」「アンチウィルス定義の更新」「ソフトウェアのインストール状況確認」「運用タスクの自動化」等の機能を有しています。詳細の説明は割愛しますが、運用管理フェーズでさまざまなメリットがありますので、是非皆さまも利用してみて下さい。

さて、今回のコラムではAWS SSMの中でも『Session Manager(以下 セッションマネージャー』という機能を利用します。

3.AWS SSMを利用しないと

AWS SSMを利用しない場合は、プライベートサブネットに所属するWinsowsインスタンスは外部ネットワークから直接接続する事はできません。開発者や運用者は必ずパブリックサブネットに所属する、踏み台サーバーを経由してWindowsインスタンスへログインする必要があります。管理者は、踏み台サーバーのグローバルIPアドレス、踏み台サーバーのログインIDパスワード等の認証情報を開発者や運用者に提供しなければなりません。

【図1】

4.AWS SSMを利用すると

AWS SSMを利用した場合、パブリックサブネットに所属する踏み台サーバーを経由する必要が無く、直接プライベートサブネットに所属するWindowsインスタンスへリモートデスクトップアクセスする事が可能になります。 管理者は、IAMグループで権限の一括管理ができるようになりますので、開発者や運用者毎に踏み台サーバー用の認証情報を提供する必要がなくなります。
また、AWS SSMではインスタンスへのアクセスログを記録するオプションがあります。『Amazon CloudWatch Logs』や『Amazon S3』と連携することで、セッションログデータの蓄積することも可能です。

AWS SSM利用のメリット(まとめ)

  • 踏み台サーバーの削減
  • 踏み台サーバー用の認証情報不要
  • 権限の一括管理
  • アクセスログの管理

AWS SSMを利用することで、コストと情報セキュリティの面で優れた運用ができます。

【図2】

5.IAMグループの作成(管理者が実行)

AWS SSMを利用する場合、どのようなセキュリティポリシーでWindowsインスタンスへのアクセスを制限するのでしょうか。

今回のコラムでは「IAMユーザー」と「IAMグループ」を利用して、Windowsインスタンスへリモートデスクトップを実行できる利用者を制限する方法を紹介していきます。

まずは、AWSマネージメントコンソールにログインし、サービス検索画面で「IAM」と入力します。

【図3】

  • 左側のダッシュボードから「グループ」から、「新しいグループの作成」を選択します。
【図4】

  • グループ名の設定画面では、任意のグループ名を指定します。
    ※今回は「AmazonSSMAccess-Group」とします。
  • 右下の「次のステップ」を選択します。
【図5】

ポリシーのアタッチ画面では、作成するIAMグループに与える権限を設定します。

  • フィルターの検索窓に「AmazonSSMFullAccess」を選択します。
  • フィルターの検索窓に「AmazonEC2ReadOnlyAccess」を選択します。
  • 右下の「次のステップ」を選択します。

確認画面に移動します。

  • 選択されているポリシー名を確認します。
  • 右下の「次のステップ」を選択します。
【図6】

IAMグループの一覧画面で、先程作ったIAMグループが出来ていることを確認します。

【図7】

6.IAMユーザー払い出し(管理者が実行)

次に、Windowsインスタンスへアクセスする利用者用のIAMユーザーを作成します。
IAMユーザーは同一アカウントを複数人で共有することはできませんので、必ず一人に一ユーザーを割り当てるようにしましょう。

ふたたびAWSマネージメントコンソールの画面を開きます。

  • IAMのダッシュボード画面から「ユーザー」から「ユーザーを追加」を選択します。
【図8】

ユーザーを追加の画面に移動します。

  • 「ユーザー名」の入力画面に任意のユーザー名を入力します。
  • 「アクセスの種類」の選択画面では「プログラムによるアクセス」を選択します。
  • 右下の「次のステップ」を選択します。

※今回「AWS マネジメントコンソールへのアクセス」については、開発者や運用者がAWSマネージメントコンソールにアクセスする要件が無いため、選択していません。運用ルールによってAWSマネージメントコンソールへのアクセスが必要な場合は選択頂いてもかまいません。

【図9】

アクセス許可の設定画面に移動します。

  • 「ユーザーをグループに追加」を選択します。
  • 先ほど作成した「AmazonSSMAccess-Group」を選択します。
  • 右下の「次のステップ」を選択します。
【図10】

タグの追加画面に移動します。

  • 任意のタグを設定します。
  • 右下の「次のステップ」を選択します。
【図11】

確認画面に移動します。

  • 内容が正しければ、右下の「ユーザーの作成」を選択します。
【図12】

ユーザー作成が成功します。

【図13】

  • 「.csvのダウンロード」を選択します。
  • 操作端末にcsvファイルがダウンロードされます。

csvファイルを開きます。

  • 「Access key ID」「Secret access key」の値を控えておきます。
【図14】

  • 「Access key ID」と「Secret access key」の値を控えます。

この値がユーザーそれぞれの認証コードのようなものになります。
一度csvファイルをダウンロードした後に、再度「Secret access key」をAWSマネージメントコンソールから確認する事や、再度csvファイルのダウンロードは出来ません。
ユーザー認証でセキュリティレベルの高い情報なので、大切に保管するようにしましょう。

NTT東日本がお届けする、クラウドの情報満載のメールマガジンはこちらからご登録ください。

7.リモートデスクトップ接続(開発者や運用者が実行)

次ここからの操作は、直接Windowsインスタンスを操作する開発者や運用者それぞれの操作端末で必要な作業になります。

操作端末からAWS SSM経由でリモートデスクトップを実施するために必要な「AWS CLI」「SSMプラグイン」をインストールしていきます。

まずは「AWS CLI」のインストールを進めます。
AWS CLIをインストールすることで、AWSの操作をコマンドプロンプトやPowerShellといったCUIの操作画面から制御できるようになります。
下記のAWS公式URLより、操作端末に切なインストーラーを選択しダウンロードします。

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-windows.html別ウィンドウで開きます

ダウンロード後にインストールを実施し、操作端末にAWS CLIがダウンロードされたことを確認します。

次に「SSMプラグイン」をダウンロードします。
SSMプラグインをダウンロードすることで、AWS CLIからインスタンスへ接続する事ができるようになります。

下記のAWS公式URLより、操作端末に切なインストーラーを選択しダウンロードします。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html別ウィンドウで開きます

ダウンロード後にインストールを実施し、操作端末にSSMプラグインがダウンロードされたことを確認します。

コマンドプロンプトを開きます。

  • 「aws configure」コマンドを実行します。

IAMユーザーを作成したときに控えた、「Access key ID」「Secret access key」を入力します。

  • Access key ID:『.csvファイルにて控えた値』を選択。
  • Secret access key: 『.csvファイルにて控えた値』を選択。

リージョンとコード形式を選択します。

  • Default region name:『ap-northeast-1』を選択。
  • Default output format:『JSON』を選択。

リージョンとコード形式を選択します。

aws ssm start-session --target i-xxxx --document-name AWS-StartPortForwardingSession --parameters "portNumber=3389, localPortNumber=13389"

※「i-xxxx」の個所はWindowsのインスタンスIDを代入してください。

【図15】

Starting session with SessionId:・・・・
Port 13389 opened for SessionId・・・・
上記コメントが表示されるとポートフォワード成功です。

いよいよAWS上のWindowsサーバーにアクセスします。

  • 操作端末からリモートデスクトップ接続を選択します。
  • コンピュータ名に「localhost:13389」と入力します。
  • 接続を選択します。
【図16】

  • ユーザーアカウントを選択しWindowsパスワードを入力します。
【図17】

リモートデスクトップ接続が成功するはずです。

【図18】

これで踏み台サーバーを構築することなく、プライベートサブネットのWindowsインスタンスにリモートデスクトップする事が出来ました。

8.補足情報

開発者や運用者用に払出したIAMユーザーは、必要なくなった時に都度削除することをオススメします。業務で必要なくなったIAMユーザーをそのまま残しておくと、担当から離れた開発者や運用管理者にもアクセス権限が有効なままになっている状態となります。
IAMユーザーを削除することで、削除されたユーザーはSSM経由でリモートデスクトップ接続できなくなります。セキュリティ面で必要な管理だと思いますので、忘れずに実施してください。

また、長期間同じIAMユーザーで運用する場合は、一定期間でキー情報を更新しましょう。

上記の操作はAWSマネージメントコンソールの「IAM」で設定可能です。

9.おわりに

雑駁な内容でわかりづらかった個所もあったかと思いますが、最後までご覧いただきまして、ありがとうございました。

私個人の感想ですが、AWS SSMの利用に慣れてくると、踏み台サーバーからリモートデスクトップ接続するワンステップが必要なくなるので、サーバーへのアクセスが簡単になったように感じます。

皆さまもAWS SSMを利用して踏み台サーバーレスの構成にする事で、コスト的にも運用管理的にもスマートなシステムを実現してみては如何でしょうか。

以上、このコラムが皆さまの参考になりましたら幸いです。

Amazon Web Services(AWS)は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
本コラムに掲載のサービスや操作画面等は2020年6月時点の情報です。

リモートデスクトップを業務で活用したい方は、NTT東日本にお気軽にご相談ください。

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。