Horizon Cloud on Azure を構築する! 1/3

概要については、前回解説しましたので、今回は構築していきたいと思います。
設定を行うまえに、Horizon Cloud on Azureでのオブジェクト構造を確認したいと思います。

Horizonの設定を進めて行くと、何箇所かユニーク名を求められる場面が登場します。
全体像を把握していないと、何と名付けたらいいものか悩むかと思いますので、
命名時の参考にして頂けたらと思います。

※Windows Virtual Desktop (WVD)に対応した、Horizon Cloud v3.0 はこちら
VMware Horizon Cloud with WVD とは?

【オブジェクト構造】
サブスクリプション:Azureサブスクリプション
場所:Horizon内でのトップオブジェクト。Horizonを展開する場所がわかる名前
ノード:Azureリージョン・仮想ネットワークと紐づく。利用者(部署)がわかる名前
マスターイメージ:ファーム展開元のOSイメージ。OS・アプリケーションがわかる名前
ファーム:仮想環境実行基盤。利用目的・用途がわかる名前


全体の流れ

Step1:Azure上での環境構築 ※省略します。
Step2:サービスプリンシパルの作成 (Azure)
Step3:サブスクリプション登録&Node ManagerとUAGの作成 (Horizon)
Step4:Active Directory ドメインの登録 (Horizon)
Step5:マスターイメージ用仮想マシンの作成 (Horizon)
Step6:マスターイメージの作成 (Horizon)
Step7:ファーム(デスクトップ)の作成 (Horizon)
Step8:ユーザーへの割り当て (Horizon)
Step9:ファーム(アプリケーション)の作成 (Horizon)
Step10:アプリケーションの選択 (Horizon)
Step11:アプリケーションのユーザーへの割り当て (Horizon)

※Horizon Cloudにはウィザードが用意されているので、沿った手順にて実施していきます。
※Step5からは、メニューによる個別設定が可能


Step1:Azure上での環境構築

事前に下記環境を作成しておきます。
・リソースグループ
仮想ネットワーク
仮想マシン(Active Directory) x2 ※オンプレでも可

※今回は、Active Directoryにて下記オブジェクトを作成しています。
・Horizon管理者用のアカウント(最低 2名)。パスワード無期限&変更不可
・Horizon管理者用グループの作成
・Horizonコンピュータオブジェクト用OUの作成
・Horizonユーザー用グループの作成


Step2:サービスプリンシパルの作成

Horizon Cloud から Azure リソースにアクセスするためには、下記情報が必要となります。
[サブスクリプションID / ディレクトリID / アプリケーションID / アプリケーションキー]

サブスクリプションIDをコピー

ディレクトリIDをコピー

[Azure Active Directory]ー[アプリの登録]ー[新しいアプリケーションの登録]を選択
※サービスプリンシパル(アプリケーションID / キー)取得のため新規作成します。

名前:表示名
アプリケーションの種類:[Webアプリ/API]を入力
サインオンURL: http://localhost:8000 を入力

[キー]を選択
※アプリケーションIDをコピー

キーの説明:表示名
期間:[1年 / 2年 / 期限なし]
値:※キー値をコピーしておく

作成したアプリケーションにサブスクリプションへの権限を付与します。

[サブスクリプション]ー[該当サブスクリプションを選択]ー[アクセス制御]ー[+追加]を選択

役割:[共同作成者]を選択
アクセスの割り当て先:Azure ADのユーザーを選択
選択:上記で作成したアプリケーションを選択


Step3:サブスクリプション登録&Node ManagerとUAGの作成

Horizon Cloudにログイン。※My VMwareアカウントが必要

[追加]を選択

サブスクリプションの適用:新規追加を選択
サブスクリプション名:表示名
環境:[Azure / Azure-China / Azure-Germany]からリージョンを選択
サブスクリプションID:※Step2でコピーしたもの
ディレクトリID:※Step2でコピーしたもの
アプリケーションID:※Step2でコピーしたもの
アプリケーションキー:※Step2でコピーしたもの

ノード名:表示名 ※日本語ダメ
場所:表示名
Microsoft Azure リージョン:※Step1で仮想ネットワークを作成したリージョン
説明:コメントを入力
仮想ネットワーク:※Step1で作成した仮想ネットワークを選択
管理サブネット:最小[/28]
デスクトップサブネット:最小[/27]。推奨[/21] ※テナントサブネット
NTPサーバ:お好きなNTPサーバーを指定
プロキシを使用:インターネット向けのプロキシサーバーを指定
Identity Manager テナント:SSO利用時

外部UAGを有効にしますか?:※[はい]を選択すると、外部UAG(Unified Access Gateway)が作成され、インターネット経由での接続ができるようになる。
FQDN:インターネットから接続する際のURL
DMZサブネット:推奨[/28]。UAG設置用セグメント
DNSアドレス:UAGが利用するDNS。※デフォルトのAzure DNSでいいような~
ルート:UAGが利用するスタティックルート。※2要素認証用サーバー向けルートの追加
証明書:上記FQDN用の署名済み証明書と秘密鍵をPEM形式で作成

2要素認証を有効にしますか?: 「Horizon Cloud on Azure で 二要素認証を試す!!

内部UAGを有効にしますか?:内部UAG(Unified Access Gateway)が作成される。

最後に確認

約2時間ほど待機 ※jumpboxが作成されて~ 以下省略

完了すると、下記リソースグループが作成される。

Node Manager用

External Unified Access Gateway用

マスターイメージ用 ※空っぽ

Internal Unified Access Gateway用

Node Manager と Unified Access Gateway のログ保存用

Node Manager と Unified Access Gateway の元イメージ


おまけ

一番苦戦するであろう、証明書の作成について補足します。

Step1:CAサーバー構築 (Ubuntu+OpenSSL)
Step2:CA証明書作成
Step3:CSR作成
Step4:秘密鍵作成 ※パスフレーズを削除
Step5:CSRから署名済み証明書を作成
Step6:署名済み証明書+秘密鍵を1つのファイルにまとめる。