こんにちは!
CS3課の河本と申します。
1月末に中途入社の研修期間を終え、配属後初のブログです。
AWSにはAmazon WorkSpacesというVDI(仮想デスクトップ)サービスがあります。
VDIといえばリモートワークなどでも取り入れられたりしますね。
Amazon WorkSpaces初心者の私が、本サービスについて調べる機会がありましたので、調査結果をまとめてみました。本記事はこれからAmazon WorkSpacesを学び始める方を対象としています。
本記事で取扱う対象
公式ページによると、Amazon WorkSpaces Familyとしては、以下3つのサービスがあるようです。
サービス名 | 概要 |
---|---|
Amazon WorkSpaces | すべてのワーカーに対応した包括的かつ完全永続型の仮想デスクトップ |
Amazon WorkSpaces Core | サードパーティーの VDI ソリューションと連動するように設計されたマネージド仮想デスクトップインフラストラクチャ |
Amazon WorkSpaces Web | 社内ウェブサイトおよび SaaS アプリへの安全なブラウザアクセス |
本記事では、1つ目のAmazon WorkSpacesについて取り上げます。
Amazon WorkSpacesとは
Amazon WorkSpaces(以下、WorkSpaces)とは、フルマネージド型の仮想デスクトップサービスです。構築したWorkSpacesへは、クライアントアプリケーションやウェブブラウザなどを使用して接続できます。
実際にクライアントアプリケーションからWorkSpacesへ接続した画面を見てみましょう。
VDIなので当然ですが、ただのデスクトップ画面です。20分ほどで構築できました。
このようにWorkSpacesを使用すれば、手軽にVDIを使い始めることが可能です。
WorkSpacesの構成図
整理するためざっくりとした構成図を作成しました。
こんな感じなんだなと思っていただければ大丈夫です。
WorkSpacesの構成要素
ユーザが意識する構成要素としては、以下の5項目があります。それぞれをざっくりと解説していきます。
①クライアント、プロトコル
クライアントアプリケーションをダウンロードするページを開いていただくと分かりますが、様々なOSをクライアントとして使用できます。
また、どのプロトコルでWorkSpacesへ接続するかも、考える必要があります。といってもそこまで複雑ではありません。
WorkSpacesは、WorkSpaces Streaming Protocol (WSP)とPCoIPという 2 つのプロトコルをサポートしています。
使い分けは公式ページにも記載がありますが、WSPを使用するケースの方が多いかと思います。
PCoIPはクライアントとしてiPadやandoroidを使用するケース、Teradiciゼロクライアントデバイスを使用するケース、GPUベースのバンドルを使用するケース等で使います。
※バンドルについては④で後述します。
②アクセス制御
WorkSpacesへのアクセスはIPアクセスコントロールグループや証明書ベースの認証で制御することが可能です。
項目 | 説明 |
---|---|
IPアクセスコントロールグループ | 特定のIPアドレスからのみアクセスを許可します。CIDR表記でIPアドレス範囲を指定することも可能です。 |
証明書ベースの認証 | クライアント証明書を対象のデバイスに配布し、ルート証明書をWorkSpacesにインポートすることで、特定のデバイスからのみアクセスを許可します。 |
③ユーザ管理
WorkSpacesへのログインはAWSアカウントを使用しません。Active Directory(以下、AD)で管理しているユーザを使用して認証します。
ADとはざっくり説明すると、ユーザを管理する電話帳のようなものです。
WorkSpacesの構築の流れで以下の画面が出てきますが、必要項目を入力するだけで簡単にADへのユーザ追加が可能です。
本記事の冒頭でtestユーザにログインしていますが、この画面で作成したユーザです。
また、WorkSpacesに使用できるADは、以下のいずれかです。
- AWS Managed Microsoft AD
- Simple AD
- AD Connector
上記のうち、AD Connectorを使用することで、オンプレミスにある環境のActive Directoryを使用したユーザ認証が可能です。
その場合、AWS Direct ConnectやAWS Site-to-Site VPNを使用して、オンプレミス環境とAWS環境を接続する必要があります。
④バンドル
バンドルとは、以下を一纏めにしたものです。
- ハードウェアの性能(CPUコア数、メモリサイズ、ストレージサイズ)
- ソフト構成(OS、インストールされたソフトウェア等)
WorkSpacesのハードウェアの性能やOSなどをここで決めます。また、ソフト構成はWorkspacesにおいては「イメージ」と呼びます。 同じことを繰り返し書きますが、バンドルとはハードウェア構成 + イメージのことです。その関連性を図にしました。
初めて構築する際は、以下の画面からパブリックバンドルというAWSが用意したバンドルを選択してWorkSpacesを起動します。
構築したWorkSpacesをカスタマイズ(OS設定変更やソフトウェアのインストール)し、そこからユーザ独自のカスタムイメージを作成することが可能です。
例えばVSCodeをインストールし、そこからカスタムイメージを作成するとします。そのイメージを使用すると、VSCodeインストールを済みの状態でWorkSpacesを構築することできるため、手間を減らすことができます。そのため、実際に構築する場合は、カスタムイメージ作成用のユーザを作成し、カスタムイメージを作成ことから始めます。
⑤ネットワーク
仮想ネットワークの外枠であるVPCは、AWSマネージド型VPC
とユーザのVPC
の2種類登場します。AWSマネージド型VPC
はAWS管理のため詳細を割愛します。
以下は冒頭の構成図からユーザのVPCだけ抜粋した図です。
ユーザのVPCは2つのアベイラビリティゾーン(以下、AZ)と、各AZに最低1つ以上のサブネットが必要になります。
また、WorkspacesからインターネットやAWSリソースなどへの通信は、プライマリネットワークインターフェースと呼ばれるENIを経由して行われます。
このENIにセキュリティグループをアタッチすることで、通信制御が可能です。
アウトバウンド通信ができればOKのため、上記のようにパブリックサブネットにNAT Gatewayを配置し、プライベートサブネットにWorkspaces(実際はプライマリネットワークインターフェース)を配置するセキュアな構成も可能です。
Workspaceの通信イメージ
冒頭の構成図をベースに、Workspaceを使用する際の通信の流れを記載しました。(実際はもっと複雑です)
最後に
いかがでしたでしょうか?
実際は自己管理機能の検討など、まだまだ考えることがあります。Workspacesの理解を深めたい場合はSkill BuilderやBlack Beltがおすすめですよ!
ご一読いただきありがとうございました。