IBM Cloud上でDaaS環境 (Dizzion Frame on IBM Cloud) を構築してみた！

# はじめに
IBM Cloudでは、Desktop as a Service (DaaS) プラットフォームとして、Dizzion社によるFrameというソリューションを提供しています。
Dizzion Frameでは、**自分たちが所有する** IBM Cloud上のVPCに対して仮想デスクトップの環境を構築できます😃 それにより、watsonx系のサービスや他のIBM Cloudサービスにプライベートで連携することも可能です！
また、IBM Cloud上の仮想サーバーのOSを持ち込むことも可能です。

ユーザーは、ブラウザを通して、どこからでも簡単にデスクトップ環境に接続できます👩‍💻🌍
また、管理者は、Frameが提供している管理者画面を操作し、IBM Cloud上に仮想デスクトップ(VDI)用のVMを簡単にデプロイできるなど、VDI環境を一元管理できます。

今回は、そんなDizzionの環境を簡単に構築できるか検証してみましたので、その概要をご紹介します！

⭐️構築の際に参照したドキュメントはこちら：

https://docs.dizzion.com/category/getting-started

# Dizzion Frame on IBM Cloud の構成図
今回構築した環境の構成図はこちらです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/e228c724-ca9d-c4a9-e298-6b988714b32c.png)



* IBM Cloud上のTokyoリージョンにVPCを2つ手動で作成します。ひとつはVDI用で、もうひとつはSGA(Streaming Gateway Appliance)というDizzionのGateway機能を提供するネットワークコンポーネント用です。

* VDIは直接インターネット上にIPアドレスを公開する必要はなく、ユーザーはDMZとしてのSGAを経由してVDI用のVMにアクセスします。（SGA用のVMにはFloating IPをつけ、インターネットからのアクセスが可能な状態としています。）※構成図の「パターン1」に該当

↓DizzionのドキュメントのSGAネットワーク要件詳細は以下をご参照ください。

https://docs.dizzion.com/platform/networking/requirements/pub-private-sga

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/9094d289-2a50-52d5-3548-28689ae35a3a.png)

* また、ユーザーは専用線やIPSEC-VPNなどのプライベート接続にてVMへアクセスすることも可能です。（オンプレから専用線接続する場合はこちらのパターンを採用します。DizzionのコンポーネントはPublic IPを一切持たない構成となります。）※構成図の「パターン2」に該当

https://docs.dizzion.com/platform/networking/requirements/pub-private

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/65926f07-142a-84d8-d46d-d611c1f153ee.png)


* 管理者は、Dizzion Frameの管理コンソールにて、VDI環境を一元管理できます。

https://docs.dizzion.com/platform/admin

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/8cff89a9-ca48-2bf5-54b0-5a72a780f0f0.png)

* 仮想デスクトッププールのVMはDizzion Frame管理コンソールでの指定に応じて、自動でプロビジョニングされます。その際、全VMのマスターとなる仮想マシンをSandboxと呼び、Sandboxを作成する際のイメージをMaster Imageと呼びます。


# Dizzion Frame 管理コンソールでできること

Dizzion Frameの管理コンソールで管理者が操作・設定できることをピックアップしてご紹介します。

#### 管理コンソールでできることの例①「Launchpads」
ユーザーが仮想デスクトップセッションに接続する際のインターフェースとして、Dizzion Frameには「Launchpads」というものがあります。管理者は、ユースケースやワークフローに応じてLaunchpadを複数作成し、それぞれをカスタマイズして使い分けることができます。
（例えば、ユーザーAは「Launchpad1」(Air5GBとAir8Gを利用可能)にアクセスし、ユーザBは「Launchpad2」(Air32Gを利用可能)にアクセス可能にするなど、ユーザーごとに権限設定することができます。）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/6c839c86-be69-455b-f13d-ee1de5628d27.png)

https://docs.dizzion.com/platform/admin/launchpads


#### 管理コンソールでできることの例②「Capacity」
「Capacity」では、予想されるユーザーのアクセス数に応じて、VMを動的にオン/オフするように設定できます。
例えば、ユーザーのアクセスが集中する昼間の時間帯は下限・上限のVM数を引き上げ、逆に、ユーザーがアクセスしない夜間は下限・上限のVM数を0に落とす、といったスケジューリング設定を行うこともできます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/06572fad-d570-2739-88ed-53c496e76aea.png)

https://docs.dizzion.com/platform/admin/capacity



その他便利な機能がたくさんあるので、気になった方はこちらをご参照ください！
https://docs.dizzion.com/platform/admin

# 構築手順概要

構築手順の概要は以下の通りです。

0. Dizzionへのユーザー登録・IBM Cloud上でサービスIDの作成（Dizzionの管理コンポーネントはAPIを介してIBM Cloud環境と接続できます。そのため、IBM Cloud上でDizzionに対するAPI実行権限を与えるための「Service ID」を発行し、Dizzion側にそのAPI Keyを登録します。）
詳細：
https://docs.dizzion.com/platform/identity-and-access/basic-auth#invite-users
https://docs.dizzion.com/platform/infrastructure/byo/ibm
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/6a0e2709-4d72-25b3-2680-d9b6d9bdf51a.png)

1. "Cloud Account"の作成 (1で発行したService IDのAPI KeyをDizzion Frame側に登録します。)
詳細：https://docs.dizzion.com/platform/infrastructure/byo/ibm#adding-your-cloud-acount
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/0c3c1979-5e57-0767-65b8-be7081ad773d.png)

2. "Master Image"の作成 (全仮想デスクトップ用VMのマスターとなる仮想マシンをSandboxと呼び、Sandboxを作成する際のイメージをMaster Imageと呼びます。今回は、IBM CloudのWindows OSからMaster Imageを作成します。)
https://docs.dizzion.com/platform/os/byo/windows/ibm
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/b5b75573-0c64-b71e-3b1b-f149a06a2b00.png)

3. "SGA(Streaming Gateway Appliance)"環境の作成（今回は、"Manual deployment"つまり手動で構築します。）
https://docs.dizzion.com/platform/networking/sga/sga4/sga-manage#manual-deployment
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/0c64b140-0271-48ec-39ee-7bf4e9dc563f.png)

4. "Frame Account"の作成（仮想デスクトップ用のVMをデプロイする環境を構築します。）
https://docs.dizzion.com/platform/admin/account-creation
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/73a503f2-a432-6389-27fa-1da5872241ce.png)

5. 管理者用コンソール画面にて諸々設定 (Sandboxの構築、Launchpadの設定など)
https://docs.dizzion.com/platform/admin
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/bf0e4291-3664-6f37-f48b-2728ab6dd861.png)


6. お好みのブラウザより、アプリエンドポイント(Launchpad)にアクセス
https://docs.dizzion.com/platform/identity-and-access/authentication#entity-endpoint-urls


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/4804c1a6-c3af-8ad4-9bc1-0d3a85a2dcbb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/c7b072ae-0f59-0019-2efa-c3af5b31a6c7.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2784689/7c6db1b4-cec6-6769-e163-c529ff0124f8.png)





**手順自体はシンプルで、特に問題が発生しなければ、1~2日間ほどあれば簡単に構築できることがわかりました！✨**