AmazonWorkSpacesで仮想デスクトップを構築する~通信制御編~

この記事を書いたメンバー:

後藤真穂

AmazonWorkSpacesで仮想デスクトップを構築する~通信制御編~

目次

はじめに

前回の記事では、VPC上にSimpleAD・WorkSpacesを構築し、ログインできるところまでの確認を行いました。今回は、SimpleADを使用してWorkSpacesを立ち上げた場合の実際の通信経路や、通信制御方法について確認していこうと思います。

WorkSpacesの実際の通信経路

前回の記事の中では、下記のような構成図とともにWorkSpacesの構成を確認しました。

しかし、こちらの図はかなり簡略化した構成図となります。しかし、前回のようにVPCのプライベートサブネット上にSimpleADを利用してWorkSpacesを構築した場合は、実際は下記のような形でリソースが作成されます。

SimpleAD・WorkSpacesの実体はAWS管理VPC上に構築されます。

AWSユーザーが指定したVPC内のサブネット上には、SimpleAD・WorkSpacesへ紐づくENIが出現する形です。

ユーザーがインターネット経由でWorkSpacesへアクセスする際は、AWS管理VPC上のAuth/SessionGatewayとStreaingGatewayあてに接続を行います。ユーザー→WorkSpaces間の通信の流れを整理した構成図が下記の物です。

ユーザーはWorkSpacesのクライアントアプリなどを利用してインターネット経由でWorkSpacesに接続できます。その際には、まずAWS上のAuth/SessionGatewayあてにTCPポート443番にて認証の通信が発生します。

Auth/SessionGatewayから、AWS管理VPC上のSimpleADあてに接続し、認証が行われます。認証が完了したら、AWS上のStreamingGatewayに対してストリーミングの通信が発生します。この際に利用するプロトコルは、WSP(TCP/UDPの4195ポート)もしくはPCoIP(TCP/UDPの4172ポート)となります(構成図内ではWSPの場合のポート番号を記載しています)。StreaingGatewayはAWS管理VPC上のWorkSpacesへ通信を中継します。

WorkSpacesはAWS管理VPCとユーザー管理VPCの二つのネットワークに同時に接続される状態となっています。ユーザー-WorkSpaces間のストリーミングトラフィックについては、WorkSpaces上からAWS管理VPC・StreamingGatewayあてに通信します。その他のトラフィックについては、WorkSpaces上からユーザー管理VPCあてに通信を行います。そのため、WorkSpaces内からインターネットへの通信は、下記の通信経路で行われます。

その為、WorkSpacesを利用する場合は、下記2種類の通信対して別々に通信制御を行う必要があります。

①Auth/SessionGateway、StreamingGateway経由で発生するAWS管理VPC内のWorkSpacesあての通信

②ユーザー管理VPC上のWorkSpacesのENIで発生するインバウンド/アウトバウンド通信

①のAuth/SessionGateway、StreamingGatewayの通信については、WorkSpacesの「IPアクセスコントロール」という機能にて制御することができます。また、②のユーザー管理VPC上のWorkSpacesENIの通信については、VPC内のセキュリティグループにて制御することができます。SimpleAD・WorkSpacesの通信制御可能箇所をまとめた構成図が下記となります。

WorkSpacesのIPアクセスコントロールグループについては、デフォルトでは作成されない状態となっています。WorkSpacesの接続元IPアドレスを制限したい場合は、WorkSpacesのコンソールから作成可能です。ユーザー管理VPC上のENIに対しては、SimpleAD・WorkSpacesを作成した時点で自動でセキュリティグループが割り当たっています。次セクションにて、実際のコンソールからIPアクセスコントロールグループ・セキュリティグループの内容を確認していきます。

なお、WorkSpacesの通信経路や認証の流れについては、BlackBeltオンラインセミナーの資料にも詳しい記載があります。特にADConnectorを利用してオンプレミス環境のADにて認証を行う場合は、BlackBeltの資料もご参照ください。

【参考URL】

AWS サービス別資料(AWSのサービス別資料のリンク集)

BlackBeltオンラインセミナー/Amazon WorkSpaces(Youtube)

BlackBeltオンラインセミナー/Amazon WorkSpaces Update(Youtube)

実環境確認

WorkSpacesのENI・セキュリティグループ確認

それでは、実際の環境にて、WorkSpacesのENI・セキュリティグループを確認します。AWSアカウントへログインし、WorkSpacesのサービストップ画面を表示します。

左メニューから「WorkSpaces」を押下します。

WorkSpacesの一覧が表示されます。WorkSpacesIDのリンクを押下します。

WorkSpacesの詳細画面が表示されます。「WorkSpacesIP」を手元にメモしておきます。

EC2のトップページへ移動します。左メニューから「ネットワークインターフェース」を押下します。

ネットワークインターフェースの一覧が表示されます。検索ボックスに、先ほど控えておいたWorkSpacesのIPアドレスを入力し、エンターキーを押下します。表示されたネットワークインターフェースのチェックボックスにチェックを入れると、ネットワークインターフェースの詳細を確認できます。「セキュリティグループ」の部分に表示されているセキュリティグループのリンクを押下します。

セキュリティグループの詳細を確認できます。WorkSpacesのセキュリティグループは、「WorkSpacesに割り当てているDirectoryServiceのディレクトリID_workspacesMembers」という名前で自動作成されています。デフォルトの状態だと、インバウンドルールには一つも許可設定がありません。

アウトバウンドルールについては、「0.0.0.0/0(すべてのアウトバウンド通信を許可)」の状態で設定されています。WorkSpacesからインターネットへの通信を制御する場合は、このセキュリティグループのアウトバウンドルールにて通信制御が可能です。

SimpleADのENI・セキュリティグループ確認

SimpleADのENIは、SimpleAD作成時に指定したサブネット2つにそれぞれ自動作成されています。SimpleADのプライベートIPアドレスも、コンソール上から確認可能です。DirectoryServiceのトップページに移動し、左メニューの「ディレクトリ」を押下します。表示されたディレクトリの一覧から、SimpleADのディレクトリIDのリンクを押下します。

SimpleADの詳細画面が表示されます。「DNSアドレス」の部分に表示されているIPアドレスをメモしておきます。

再度EC2のトップページに移動し、左メニューから「ネットワークインターフェース」を押下します。

先ほどと同じ要領で、ENIの一覧画面から先ほど控えて置いたIPアドレスを検索します。

IPアドレスごとにそれぞれENIが割り当たっていることが確認できます。

セキュリティグループのリンクを押下します。

SimpleADのセキュリティグループは、「SimpleADのディレクトリID_controllers」という名前で作成されています。

デフォルトの状態でも、すでにいくつかインバウンドルールの設定が行われています。SimpleADのデフォルトSGにて設定されているインバウンドルールについては、AWSのユーザーガイド(AWS 管理対象の Microsoft AD アクティブディレクトリで作成されるもの)をご確認ください。デフォルトの状態だと0.0.0.0/0にてインバウンドルールが設定されています。セキュリティ強化のためにセキュリティグループのルールを編集する場合は、AWSのユーザーガイド(AWS Managed Microsoft AD のネットワークセキュリティ設定を強化する)を参照し、ユースケースにあった形でセキュリティグループを設定してください。

IPアクセスコントロールグループの作成

IPアクセスコントロールグループについては、WorkSpacesのコンソールから確認できます。WorkSpacesのトップページから、左メニュー「IPアクセスコントロールグループ」を押下します。デフォルトの状態だとIPアクセスコントロールグループは一つも作成されていません。「IPアクセスコントロールグループを作成」を押下します。

IPアクセスコントロールグループの作成画面が表示されます。「グループ名」「説明」を入力します。

「ソース」にて、WorkSpacesへの接続を許可したいIPアドレスを入力します。

必要に応じてタグを設定可能です。グループ名・説明・ソースIPを指定したら、「作成」を押下します。

IPアクセスコントロールグループの作成が完了しました。IPアクセスコントロールグループの紐づけはSimpleAD単位となります。左メニューから「ディレクトリ」を押下します。

WorkSpacesに登録しているディレクトリの一覧が表示されます。ディレクトリIDのリンクを押下します。

ディレクトリの詳細画面が表示されます。そのまま下へスクロールします。

下へスクロールしていくと「IPアクセスコントロールグループ」というセクションがあります。「編集」を押下します。

IPアクセスコントロールグループの紐づけ編集画面が表示されます。IPアクセスコントロールグループの一覧の中からSimpleADに紐づけたいIPアクセスコントロールグループのチェックボックスにチェックを入れ、「関連付け」を押下します。

※Teradici のPCoIPゼロクライアントを利用してWorkSpacesにアクセスしたい場合は、ディレクトリへのIPアクセスコントロールグループの適用は避けてください。警告に表示されている通り、IPアクセスコントロールグループを適用すると、TeradiciのPCoIPゼロクライアントからWorkSpacesへのアクセスができなくなってしまいます。

参考:WorkSpaces の PCoIP ゼロクライアントをセットアップする

IPアクセスコントロールグループの適用が完了すると、ディレクトリの詳細画面の戻ります。

「IPアクセスコントロールグループ」セクションにて、紐づけられているIPアクセスコントロールグループを確認できます。

IPアクセスコントロールグループについては、いくつかクォータ制限があります。まず、一つのIPアクセスコントロールグループには設定できるルール数は10個までです。10個以上ルールを設定したい場合は、ディレクトリに対してIPアクセスコントロールグループを25個まで紐づけることが可能です。また、1リージョン当たりのIPアクセスコントロールグループ数の上限は100個までとなります。

参考:Amazon WorkSpaces クォータ

IPアクセスコントロールグループを設定すると、許可されていないIPアドレスからのWorkSpacesへの接続が拒否されるようになります。許可されていないIPアドレスからWorkSpacesクライアントアプリを利用してWorkSpacesへアクセスしようとすると、「This device is not authorized to access the WorkSpace」というエラーが表示されます。


IPアクセスコントロールグループにて許可されているアドレスからクライアントアプリにてWorkSpacesへアクセスすると、エラーなくログインすることができます。


今回ご紹介する手順は以上となります。ここまでお読みくださりありがとうございました。


カテゴリー
タグ

この記事を書いたメンバー

Pick upピックアップ

Search記事を探す

キーワード

SAPシステムや基幹システムのクラウド移行・構築・保守、
DXに関して
お気軽にご相談ください

03-6260-6240 (受付時間 平日9:30〜18:00)