みなさん、こんにちは。今回は、テレワークが増加している状況の中で利用が加速している WorkSpaces のアーキテクチャや運用の注意点について説明します。

  1. WorkSpaces とは
  2. アーキテクチャについて
  3. WorkSpaces クライアントについて
  4. トラブルシューティングについて

■ 1. WorkSpaces とは

WorkSpaces と呼ばれる仮想クラウドベースの Microsoft Windows または Amazon Linux デスクトップをユーザーに提供することができます。WorkSpaces を使用することで、ハードウェアを調達して展開したり、複雑なソフトウェアをインストールしたりする必要がなくなります。ユーザーは、複数のデバイスまたは Web ブラウザーから仮想デスクトップにアクセスすることが可能になります。

■ 2. アーキテクチャについて

Windows WorkSpaces および Amazon Linux WorkSpaces の両方で、各 WorkSpace は VPC および、WorkSpace とユーザーの情報を保存および管理するためのディレクトリに関連付けられています。

ディレクトリは、次のオプションを提供する AWS Directory Service を介して管理されます。SimpleAD、AD Connector、または AWS Managed Microsoft AD との Microsoft ActiveDirectory 用の AWS Directory Serviceです。

WorkSpacesは、Simple AD、AD Connector、または AWS Managed Microsoft AD ディレクトリを使用してユーザーを認証します。ユーザーは、サポートされているデバイスからクライアントアプリケーションを使用して、または Windows WorkSpaces の場合は Web ブラウザーを使用して、WorkSpaces にアクセスし、ディレクトリ資格情報を使用してログインすることもできます。ログイン情報は認証ゲートウェイに送信され、認証ゲートウェイはトラフィックを WorkSpace のディレクトリに転送します。ユーザーが認証された後、ストリーミングトラフィックはストリーミングゲートウェイを介して開始されます。

クライアントアプリケーションは、すべての認証およびセッション関連情報にポート 443 を介した HTTPS を使用します。WorkSpaces クライアントアプリケーションは、WorkSpace へのピクセルストリーミングにポート 4172(PCoIP)とポート 4195(WSP)を使用し、ネットワークヘルスチェックにポート 4172 と 4195 を使用します。

それぞれの WorkSpace は、管理およびストリーミング用のネットワークインターフェイス(eth0)とプライマリネットワークインターフェイス(eth1)の 2 つの ENI が関連付けられています。VPC 内のリソースへのアクセスは、プライマリネットワークインターフェイスに割り当てられたセキュリティグループによってアクセス制御されます。

[WorkSpaces へのログインフロー]

次の図は、WorkSpaces へのログインフローのアーキテクチャとなります。

https://d1.awsstatic.com/webinars/jp/pdf/services/20190226_AWS-BlackBelt_Amazon_WorkSpaces.pdf より引用

基本的な通信の流れとして、図に示している赤い線が “SSL” で通信する一連の流れです。一方の青い線は “Streaming PCoIP” で通信する一連の流れを示しています。

[WorkSpaces 管理 VPC とユーザー VPC]

WorkSpaces 管理 VPC とユーザー VPC のアーキテクチャーとして、AWS 管理 VPC とユーザー用 VPC にそれぞれの ENI が接続されます。

https://d1.awsstatic.com/webinars/jp/pdf/services/20190226_AWS-BlackBelt_Amazon_WorkSpaces.pdf より引用

プライマリネットワークインターフェイスでは、ユーザー VPC に接続。セキュリティグループをアタッチします。一方で、管理ネットワークインターフェイスでは、AWS 管理 VPC に接続し、ストリーミングを受信します。

[WorkSpaces の冗長構成]

WorkSpaces は、複数 AZ による冗長構成となります。障害時には、WorkSpaces の “再起動” または “再構築” を行います。認証 Gateway および Streaming Gateway は、AWS 管理 VPC 内で冗長化されていることによって、冗長構成としての考慮は不要となります。AW Directory Service については、異なる AZ の 2 つ以上のサブネットにインスタンスが展開されることで、負荷分散および冗長性を確保しています。WorkSpaces 単体としては、Directory インスタンスが配置されるいずれかのサブネットにデプロイされることで、WorkSpaces は VPC 全体で均等に負荷分散されます。

なお、WorkSpaces の障害時には、WorkSpaces の再構築によりバンドルイメージおよびバックアップの復旧を行うことができます。バンドルイメージ、およびユーザーデータのバックアップ取得時点に戻ることは、あらかじめご注意ください。

具体的な冗長構成におけるアーキテクチャは、下記の図を参照ください。

https://d1.awsstatic.com/webinars/jp/pdf/services/20190226_AWS-BlackBelt_Amazon_WorkSpaces.pdf より引用

■ 3. WorkSpaces クライアントについて

下記のサポートされているデバイスにおけるクライアントアプリケーション、または Web ブラウザを使用して WorkSpaces に接続することができます。

[クライアントの種類]

・Android クライアントアプリケーション
・iPad クライアントアプリケーション
・Linux クライアントアプリケーション
・macOS クライアントアプリケーション
・PCoIP ゼロクライアント
・Web アクセス

・Windows クライアントアプリケーション

WorkSpaces クライアントの注意点は、バージョンによってはクライアントアプリケーションがクラッシュするなど、その他接続性の問題が発生する場合があるため、都度新しいバージョンにアップデートいただくことをおすすめいたします。仮に新しいバージョンで、当該問題が発生した場合には、以前のバージョンに戻すことで問題が解消する可能性が考えられるため、一度お試しいただくことを推奨します。

■ 4. トラブルシューティングについて

WorkSpaces を運用している際に WorkSpaces の起動に失敗する、または WorkSpaces の接続に失敗するなどの問題が発生する場合があります。
問題として、比較的発生する可能性がある事象について、それぞれの事象別のトラブルシューティングについて下記に整理していきます。

[WorkSpaces の起動にたびたび失敗する]

オンプレミスの既存ディレクトリに対して 2 つの DNS サーバーまたはドメインコントローラーが、ディレクトリに接続したときに指定した各サブネットからアクセス可能であることを確認します。各サブネットで EC2 インスタンスを起動し、2 つの DNS サーバーの IP アドレスを使用してディレクトリにインスタンスを結合することで、この接続を確認できます。

[内部エラー “InternalServerError” により WorkSpaces の起動に失敗する]

VPC におけるサブネットが、サブネット内で起動されたインスタンスに対して IPv6 アドレスを自動的に割り当てるように設定されているかどうかを確認します。この設定を確認するには VPC コンソールを開き、サブネットを選択し、[アクション] を選択して、次に [自動割り当て IP 設定の変更] を選択します。この設定を有効にすると、Performance バンドルまたは Graphics バンドルを使用して WorkSpace を起動することはできません。代わりに、この設定を無効にし、インスタンスを起動するときに IPv6 アドレスを手動で指定します。

[ディレクトリを登録時に登録が失敗することで、ディレクトリの ERROR ステータスから変わらない]

この問題は、マルチリージョンレプリケーション用に設定されている AWS Managed Microsoft AD ディレクトリを登録しようとする場合に発生する可能性が考えられます。プライマリリージョンのディレクトリは WorkSpaces で使用するために正常に登録できますが、レプリケートされたリージョンにディレクトリを登録しようとすると失敗します。AWS Managed Microsoft AD を使用したマルチリージョンレプリケーションは、レプリケートされたリージョン内での WorkSpaces での使用についてサポートされていません。

[ユーザーが Windows WorkSpace に接続できない]

ユーザーが Windows WorkSpace に接続しようとすると、次のエラーが表示されます。
“An error occurred while launching your WorkSpace. Please try again.”
このエラーは、WorkSpace が PCoIP を使用して Windows デスクトップを読み込めない場合によく発生します。

一般的に、このメッセージは Windows 向けの PCoIP Standard Agent サービスが実行されていない場合に表示されます。RDP を使用して接続し、サービスが実行されていること、サービスが自動的に開始されるように設定されていること、および管理インターフェイス (eth0) 経由で通信できることを確認します。

または、PCoIP エージェントがアンインストールされた場合は WorkSpaces コンソールから WorkSpace を再起動することで、自動的に再インストールします。

WorkSpaces セキュリティグループがアウトバウンドトラフィックを制限するように変更された場合も、長時間の遅延後にこのエラーが WorkSpaces クライアントで発生する可能性があります。送信トラフィックを制限すると、Windows はディレクトリコントローラーと通信してログインできなくなります。セキュリティグループで WorkSpaces がプライマリネットワークインターフェイスを介して必要なすべてのポートでディレクトリコントローラーと通信できることを確認します。

■ 最後に

WorkSpaces はテレワークなどの利用普及により、多くのユーザーが利用するようになりました。
WorkSpace には、いくつかの条件で問題が発生する場合が考えられますが、上記の要件などを事前に確認することや、定期的なバックアップを実施することで、未然にリスクを防ぎ、快適な WorkSpaces 運用を行っていきましょう。

SunnyCloudでは8/24(火)13時~ウェビナーを開催します!