AWS上にはデスクトップ環境を提供するフルマネージドサービスが2つあります。
「AppStream 2.0」と「WorkSpaces」です。
今回の記事は「WorkSpaces」について概要を理解する為の手助けになる事を目的に記載してみました。
「WorkSpacesとは何?良く解らないんだけど…」という方はご一読頂ければと思います。
なお、いつものお約束ごとですが、本投稿内容は、わたし個人の意見や経験談であり、所属する企業や団体を代表するものではございません。何卒、よろしくお願いいたします。
■AppStream 2.0とWorkSpacesの違い
公式サイトの記載は以下の通りです。
Amazon WorkSpaces
Amazon WorkSpaces はサポートされているあらゆるデバイスからリソースにアクセスできる Windows および Linux 向けのフルマネージドデスクトップ仮想化サービスです。
概要を確認したい人は「【AWS Black Belt Online Seminar】Amazon WorkSpacesサービスカットシリーズ」を参照することをおすすめします。
Amazon AppStream 2.0
Amazon AppStream 2.0 は、フルマネージドで非永続的なデスクトップおよびアプリケーションサービスであり、リモートで業務にアクセスすることができます。
概要を確認したい人は「【AWS Black Belt Online Seminar】Amazon AppStream 2.0サービスカットシリーズ」を参照することをおすすめします。
そして、この2つの機能が比較されているのが「【AWS Black Belt Online Seminar】Amazon AppStream 2.0サービスカットシリーズ」の「代表的な機能差異」となります。以下にその比較表を転記します。
区分 | AppStream 2.0 | WorkSpaces |
---|---|---|
サービス概要 | クラウド上のアプリケーションをクライアントデバイスに配信するフルマネージドサービス | クラウド上のデスクトップ環境へのアクセスを提供するフルマネージドサービス |
インスタンスの永続性 | 非永続的なストリーミングインスタンス | 永続的なデスクトップインスタンス |
インスタンスのOS | ・Windows Server 2012 R2 ・Windows Server 2016 ・WindowsServer 2019 ※ライセンスインクルードのみ |
・Amazon Linux 2 LTS Windows7 (Windows Server 2008 R2 デスクトップエクスペリエンス) ・Windows10 (Windows Server 2016 デスクトップエクスペリエンス) ・Windows7(BYOL) ・Windows10(BYOL) |
プロトコル | NICE DCV 高解像の画面を軽量に配信 |
PCoIP 画面の要素を自動識別し最適化して転送 |
用途 | ・特定のアプリケーションのみをユーザーに提供したい。 ・高解像度の3Dアプリケーションを利用したい。 ・ユーザープールを使って迅速にアプリケーションを配信開始したい。 |
・ユーザーが自由に使えるデスクトップ環境を提供したい。 ・ユーザごとに永続インスタンスを割り当てたい ・Linuxの利用や、Windowsライセンスの持ち込みを行いたい |
■実際にWorkSpacesの環境を構築する
ドキュメントを読むとなんとなく概要は理解できます。ただ、本質的なところは一度手を動かして構築してみる事が大切です。その手助けになるのが「管理ガイド」です。ただし、このガイドを読んで構築しようと思っても、なかなか初心者には難しいかと思います。
そこで活用してほしいのが「エンドユーザーコンピューティングワークショップ」に準備されている「AmazonWorkSpaces入門」です。これはAWSが準備している教材で、標準的な構築手順が整理されています。こちらは英語の資料になりますが、Webブラウザの日本語変換機能を使えば、英語が苦手な人でも問題なく利用することが出来ます。
「Amazon AppStream2.0入門」ラボの内容は以下の通りです。
このラボでは、AmazonWorkSpacesとAWSDirectoryServiceを使用して組織のエンドユーザー向けにクラウドデスクトップをデプロイする方法を学習します。Amazon WorkSpacesは、AWSクラウド上で実行される、安全で完全に管理されたデスクトップコンピューティングサービスです。Amazon WorkSpacesを使用すると、クラウドベースの仮想デスクトップを簡単にプロビジョニングして、ユーザーが必要なドキュメント、アプリケーション、およびリソースにアクセスできるようにすることができます。AWS Directory Serviceを使用すると、AWSクラウドでMicrosoft Active Directory(AD)を簡単にセットアップして実行したり、AWSリソースを既存のオンプレミスのMicrosoft ActiveDirectoryに接続したりできます。
このラボは、エンドユーザーへのアプリケーションと仮想デスクトップの提供を担当するエンドユーザーコンピューティング管理者または技術スタッフを対象としています。このラボは、完了するまでに約4時間かかります。
そして、前提条件は以下の通りです。
・Microsoft Windows、Mac OS X、またはLinuxを実行しているインターネットアクセスを備えたコンピューター。
・ChromeまたはFirefoxのインターネットブラウザ。
・AWSインフラストラクチャをプロビジョニングするためのAWSアカウント
・スキルレベル:デスクトップコンピューティングの基本的な理解は役に立ちますが、
必須ではありません。
・AWSの経験:ベースAWSインフラストラクチャ(VPC、EC2、S3)の予備知識は役立ちますが、
この演習を完了するために必須ではありません。
基本的に「AmazonWorkSpaces入門」の手順通りに進めていけば環境を構築できると思いますが、この資料だけだと、まだイメージしにくい方もおられると思いますので、今回は各手順の補足説明を記載させて頂こうと思います。実際に環境を構築する際に参考にして頂ければと思います。
最終的な構成は以下の通りとなります。この構成に向けての変遷を説明していきます。
(1)ラボを開始する
まずは最初に構築するリージョンを選定します。最も近い地域を選択するためのヘルプとして、「ヘルスチェックページ」が提供されています。WorkSpacesはサービス提供されているリージョンが限られており、例えば「東京リージョン」では提供されていますが「大阪リージョン」では提供されていません。その点注意して選択してください。
(2)VPCを作成する
VPC環境を作成するためにCloudFormation用のテンプレートファイルが提供されています。記載されている手順に従って実施すれば問題なくVPCが作成されます。この処理は5分もかかりません。
作成されるVPC及びその他の設定は以下のイメージとなります。
特に注意する点はパラメータ設定時の以下の画面です。10.X.0.0/16でVPCが作成されることになり、以下の設定値が第2オクテットになります。既存のVPCと重複しないアドレスで設定しましょう。
手順書通り実施すると、CloudFormationが実行されます。「CREATE_COMPLETE」が表示されると対応完了となります。
VPC画面を確認すると以下のようにVPCの作成が完了しています。
(3)AWSディレクトリサービス
WorkSpacesのユーザ認証と管理の目的でAWS DirectoryServiceストアが必要になります。
主な対応方法としては以下の3パターンとなります。
機能 | 内容 |
---|---|
AWS Managed Microsoft AD | AWS Managed Microsoft AD により、Active Directory 対応ワークロードおよび AWS リソースから、AWS クラウド上の実際のマネージド Microsoft Active Directory を簡単に使用できます。ワークロードの例には、Amazon EC2、Amazon RDS for SQL Server、カスタム .NET アプリケーション、AWS エンタープライズ IT アプリケーション (Amazon WorkSpaces など) があります。 |
Simple AD | Simple AD は、Linux-Samba Active Directory 対応サーバーを使用するスタンドアロンのマネージドディレクトリです。 |
AD Connector | AD Connector は、クラウド内の情報を一切キャッシュすることなく、既存の Microsoft Active Directory にディレクトリリクエストをリダイレクトするためのプロキシです。AD Connector には、スモールとラージの 2 つのサイズがあります。スモール AD Connector は、小規模の組織向けに設計されており、1 秒あたりの数が少ないオペレーションを処理することを目的としています。ラージ AD Connector は、大規模な組織向けに設計されており、1 秒あたりのオペレーション数が中程度から大量までの場合を処理するためのものです。 |
Amazon Cognito ユーザープール | ユーザープールを使用すると、アプリケーションにユーザー登録とサインイン機能を追加できます。ユーザーは、Facebook や Google のような外部アイデンティティプロバイダを使用する代わりに、メールアドレス、電話番号、またはユーザー名でサインインできます。またはカスタム登録フィールドを作成し、そのメタデータをユーザーディレクトリ内に格納できます。数行のコードだけで多要素認証 (MFA) を有効にでき、メールアドレスと電話番号、パスワードの回復を検証できます。 |
今回は「AWS Managed Microsoft AD」の作成を実施します。
(3-1)AWSマネージドMSAD
手順に従ってディレクトリサービスを作成します。操作は簡単ですが、作成処理が開始してから作成完了するまで40分くらい待ち時間が発生するので注意してください。
この中で「Standard Edition」を選択しますが、料金はそれなりにかかりかかるので、注意するようにしましょう。
時間単位で課金されるので、必要な検証作業が完了した場合は、直ぐに停止することをお勧めします。
なお、無料利用枠で30日のトライアル期間があります。
40分ほど待ってステータスが「アクティブ」になれば完了です。
(3-2)ディレクトリを登録する
先ほど作成したディレクトリをWorkSpacesに登録します。
WorkSpacesを利用するうえでディレクトリの登録は必須となります。
作業内容は以下のイメージとなります。
(4)Amazon Workspaces
このセクションでは、新しいWorkSpacesインスタンスを起動し、AWS ManagedADでユーザーを管理する方法を学習します。
Amazon WorkSpacesは、 PCoIPとWorkSpaces Streaming Protocol(WSP)の2つのプロトコルをサポートしています。
今回はPCoIPのプロトコルで作成を実施します。
(4-1)WorkSpacesを起動します
WorkSpacesの環境を起動させます。この最初の環境はエンドユーザーへの後続の展開用のカスタムイメージを作成するために使用されます。そのため、この目的のためにディレクトリにサービスアカウント(ImageBuilder_sa)を作成します。このアカウントを登録する際のメールアドレスは作業のために必要なメールを受信するものなので、利用可能なアドレスを登録してください。
作業内容は以下のイメージとなります。
リソース情報な以下となります。WorkSpacesバンドルは英語版しかないので起動後に日本語設定に変更する必要があります。
実行モードは費用に影響があるためご注意ください。AlwaysOnを選択した場合、月1回1か月分の利用料が請求されます。テスト的な利用であればAutoStepで十分なので間違えないようにしましょう。
こちらは作成完了するまでに20分程度かかります。気長に待ちましょう。
完了すると、作成したサービスアカウントにクライアントのダウンロード手順が記載された登録コードを含む電子メールが送信されます。本文が英語なので翻訳して読みましょう。
(4-2)パスワードのリセット
初期ユーザとして登録した「ImageBuilder_sa」のパスワードリセットを実施します。そしてクライアント端末にWorkSpacesのエージェントをインストールする作業となります。
届いたメールの「1.」のURLをクリックしてパスワードリセット画面を開き、新しいパスワードを設定します。
適切なWorkSpacesクライアントをダウンロードしてインストールします
新しくインストールされたWorkSpacesクライアントを起動します。
そして表示された以下の画面に、届いたメールの「2.」の登録コードを入力します。
ここで認証すると、このエージェントから対象の環境への接続が可能となります。
ログイン画面が表示されますが、英語だとやりにくいので、日本語に変更しましょう。
作成したユーザーID(ImageBuilder_sa)とパスワードを入力します。
パスワードは先ほどのパスワードリセットで新規設定したパスワードとなります。
以下のような読み込みが画面が表示されるので、しばらくお待ちください。
(5)画像をカスタマイズする
ImageBuilder_saユーザーとして最初のAmazonWorkSpaceにログインしました。この環境でWorkSpaceイメージのもととなる環境を作成します。手順で指定されたアプリケーションをインストールします。
なお、Windows Settingsから「Time & Lnaguage」を選択して日本語設定に変更可能です。
日本語じゃないと大変、という方は、まず日本語に変更してください。
(5-1)アプリケーションをインストールする
アプリケーションのインストールを実施します。
「Google Chrome Enterprise」と「Notepad ++」を手順通りインストールします。
(5-2)管理ツールの追加
グループポリシーオブジェクト(GPO)を使用して、WindowsWorkSpacesまたはWindowsWorkSpacesディレクトリの一部であるユーザーを管理するための設定を適用できます。Amazon WorkSpacesに固有のグループポリシー設定を使用するには、使用しているプロトコル(PCoIPまたはWorkSpaces Streaming Protocol(WSP))のグループポリシー管理用テンプレートをインストールする必要があります。最初に、グループポリシー管理コンソール(GPMC)とリモートサーバー管理ツール(RSAT)をインストールします。
(5-3)追加ユーザーの作成
今後の作業のためにディレクトリにユーザ「TestUser1」「TestUser2」を追加します。
(6)バンドル管理
WorkSpaceのカスタマイズが完了したので、次の展開に使用できるカスタムイメージを作成します。
(6-1)カスタムイメージを作成する
先ほど作成したWorkSpace環境からカスタムWorkSpacesイメージを作成します。カスタムイメージの作成元のWorkSpaceは、このプロセス中は使用できません。なお、Windows WorkSpace からイメージを作成する場合は、C:\Program Files\Amazon\ImageChecker.exe にあるイメージチェッカーを使用して、作成プロセスを実行する前にイメージを検証することも可能です。
(6-2)バンドルを作成する
WorkSpacesは、バンドルからAWS DirectoryServiceインスタンスの特定のユーザーIDにプロビジョニングされます。ユーザーは、画像ではなくバンドルに関連付けられています。バンドルは、イメージとWorkSpacesハードウェアインスタンスタイプの組み合わせです。ハードウェアタイプが異なる同じイメージを使用して、複数のバンドルを作成できます。
(6-3)WorkSpacesをプロビジョニングする
作成したバンドルから新しいWorkSpaces環境をプロビジョニングします。
手順通りに作成されていると、以下の通りユーザ情報が表示されます。
そうるすと、各ユーザ環境に対してバンドルが割り当てられます。
これで環境の起動が完了となります。
このあと作成した2つの環境にログインする手順は「(4)Amazon Workspaces」で説明した手順通りとなります。
■ さいごに
今回は「AmazonWorkSpaces入門」を元に構築手順を確認してみました。この様な資料をベースに実際に環境を触ってみる事がサービスを理解する近道となるかと思います。ドキュメント上だけでは判断しにくいことが実際に手を動かすと直ぐに理解できる訳です。
AWSのように誰もが触って検証できる環境のメリットを生かすことが重要であると思います。
みなさんも時間のある時に、ゆっくり触ってみてください。