VMware Horizon Cloud Service next-gen を構築する!

 

今回は、VMware Horizon Cloud Service next-gen を構築していきたいと思います。
先ずは、作成するコンポーネントとサイジングについて確認したいと思います。
設定を進めて行くと、何箇所かユニーク名を求められる場面が登場します。
全体像を把握していないと、何と名付けたらいいものか悩むかと思いますので、
命名時の参考にして頂けたらと思います。

概要解説が気になる方はこちら
VMware Horizon Cloud Service next-gen とは?

 

【コンポーネント】

・サイト:表示名。リージョンを指定するとわかりやすい。
・プライマリプロバイダ:サブスクリプションとサービスプリンシパルの情報を保持
・セカンダリプロバイダ:サブスクリプションとサービスプリンシパルの情報を保持し、プライマリプロバイダのセッション数を拡張する。
・プールグループ:ユーザーに接続許可を与える範囲。複数のプールに下記設定を適用する。
[サイトの接続 / 電源管理 / 公開アプリ選択 / 負荷分散方式 / タイムアウト処理]
・プール:[プールタイプ / イメージ選択 / VMサイズ / VM台数]を決定する。

 

【サイジング】

・サイト:複数のプライマリプロバイダを紐づけ可能
・プライマリプロバイダ(サブスクリプション):最大5000 Session ※20000 Sessionまで
ーサービスプリンシパル:最大1000 Session x5
・セカンダリプロバイダ(サブスクリプション):最大5000 Session x3
ーサービスプリンシパル:最大1000 Session x5

※プライマリプロバイダには、Horizon Edge Gateway & UAGを作成する必要がある
1組のHorizon Edge Gateway & UAGでは、最大20000 Sessionの制限がある
※セカンダリプロバイダはプライマリプロバイダに対して、最大3つまで紐づけ可能
※各プロバイダには、サブスクとサービスプリンシパル(最大5つ)を紐づける必要がある
※サイトを分ける事で、東西冗長構成が可能

JapanEastとJapanWestの複数サイトにプールグループを冗長配置する構成図

 

【イメージ更新】

展開済みのVMを更新する方法ですが、マスターイメージを複製し、プール&プールグループを新規作成し、ユーザーにて接続先を変更してもらう必要があります。
※ディスクの差し替えなどは出来ません。

 


全体の流れ

Step1:Azure上での環境構築
Step2:サービスプリンシパルの作成
Step3:マネージドIDの作成
Step4:外部IDプロバイダの登録
Step5:Edge Gateway & UAGの作成
Step6:Active Directory ドメインの登録
Step7:マスターイメージの作成
Step8:プールの作成
Step9:プールグループの作成
Step10:プールグループへのユーザー割り当て
Step11:ホームサイトの設定 (オプション)

※外部IDプロバイダとして「Azure AD」を選択しています。
※SSOを利用しない構成

 


Step1:Azure上での環境構築

 

事前に下記環境を作成しておきます。
・リソースグループ
・仮想ネットワーク[管理用サブネット/デスクトップサブネット/DMZサブネット]
・NAT Gateway ※管理サブネットにアタッチ
・Active Directory ※事前にAD~AzureADで同期しておく必要があります。

 

予め、仮想ネットワークにサブネットを作成しておきます。
・DMZサブネット:[/27]以上。外部接続用UAGを展開
・管理サブネット:[/26]以上。Edge Gateway&UAGを展開。[NAT Gateway]が必要
下記アドレスは使用不可
[169.254.0.0/16 , 172.30.0.0/16 , 172.31.0.0/16 , 192.0.2.0/24]
・デスクトップ(テナント)サブネット:[/27]以上。内部接続用UAGを展開。VMを展開。

 

事前にActive Directoryにて、下記オブジェクトを作成しています。
・ドメインバインドアカウント(2名)[Domain Users]。パスワード無期限&変更不可
・ドメイン参加アカウント(2名)[Domain Users]。パスワード無期限&変更不可
・Horizonコンピュータオブジェクト用OUの作成

 


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

 

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

 

[Azure Active Directory]ー[アプリの登録]ー[新規登録]を選択

 

名前:表示名
サポートされているアカウント種類:この組織ディレクトリのみ

 

作成したアプリケーションを選択
※[アプリケーションID] [ディレクトリID] をコピー

 

説明:表示名
有効期限:[90/365/545/730/カスタム] ※カスタムでも最長2年まで

 

値:[アプリケーションキー] をコピー

 

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

 

[サブスクリプション]ー[アクセス制御]ー[+追加]ー[ロールの割り当ての追加]を選択
※作成したアプリケーションにサブスクリプションへの権限を付与します。

 

[共同作成者]を選択

 

上記で作成したサービスプリンシパルを選択

 

 


Step3:マネージドIDの作成

 

Edge Gateway&UAGを作成する際に利用。管理サブネットに[ネットワーク共同作成者]と
サブスクリプションに対して[マネージドID オペレーター]の役割を与える必要があります。

 

[検索:managedid]ー[マネージドID]を選択

 

 

マネージドIDに対して、適用先と権限の付与が完了しました。

 


Step4:外部IDプロバイダの登録

 

Horizon Cloud Service にログイン。

 

[日本]を選択 ※変更不可

 

[次世代のHorizon制御プレーン]を選択

 

[Horizon Cloud Service]を選択

 

[IDとアクセス]を選択

 

IDプロバイダ:[Azure AD / Workspace ONE Access クラウド / オンプレミスの Workspace ONE Access]
テナントサブドメイン:ユーザーが接続時に利用する識別名 ※変更不可

 

[承諾]を選択 ※Azure AD グローバル管理者権限が必要

 

接続完了!

 


Step5:Edge Gateway & UAGの作成

 

 

Horizon Edge名:表示名

 

サービスプリンシパル情報を入力
Horizonゲートウェイアプライアンス専用にする:Edge Gateway&UAGとデスクトップVMでサブスクリプションをわけたい場合。

 

5000セッション以上、必要な場合はセカンダリプロバイダを作成します。

 

マスターイメージ&VDIを展開するサブネットを指定します。後から変更が可能。

 

サイト:表示名。リージョンを指定するとわかりやすい。

 

Horizon AgentからHorizon Cloud 制御プレーンへの通信が[Private Link]経由となる。

 

高可用性を有効にする:VMSS[Standard_D2s_v3](固定)x4台で作成される。無効は1台
クラスタ送信タイプ:[NAT Gateway / UDR ] ※UDRの場合、NVAが必要。
ユーザーが割り当てた管理対象ID:※Step3で作成したマネージドIDを選択
仮想ネットワーク:※Step1で作成した仮想ネットワークを選択
管理サブネット:※Step1で作成したサブネットを選択
サービスCIDR:※AKS内部ネットワークで利用
ポッドCIDR:※AKS内部ネットワークで利用
AKSクラスタDNSプリフィックス:※APIサーバー用DNS名
EdgeサービスのFQDN:※Horizon Agent がEdge Gateway接続時に利用。DNS登録必須
SSOを使用:※後から変更可能

※Edge Gateway 作成完了まで、最大20分かかります。

 

アクセスタイプ:※下記から選択
ーインターネット経由の外部アクセス
ー企業のネットワーク経由の内部アクセス
ー内部および外部アクセス
パブリックIPアドレス:※上記で外部を含めた場合、自動で有効となる
FQDN:※ユーザーがVDI接続時にアクセスするURLになる
証明書タイプ:[PEM / PFX]
証明書:※上記FQDN用の署名済み証明書と秘密鍵をアップロード
仮想マシンモデル:F8s_v2 推奨
[A4_v2/D8s_v4/D16s_v4/D32s_v4/D48s_v4/F8s_v2/F16s_v2/F32s_v2/F48s_v2]
UAG仮想マシン:[2~10] ※UAG台数
仮想ネットワーク:※Horizon用仮想ネットワークを指定
仮想マシンサブネット:※Step1で作成したデスクトップ(テナント)サブネットを選択
管理サブネット:※Step1で作成したサブネットを選択
DMZサブネット:※Step1で作成したサブネットを選択
送信プロキシを使用:UAGからHorizonCloud向けの通信に対してプロキシを利用する場合

※UAG 作成完了まで、最大20分かかります。

 

完了すると、下記リソースグループが作成される。
※PrivateLink経由を選択した場合に[プライベートエンドポイント]が作成される。
※接続先は、VMwareサブスクリプション内のPrivateLink

 

プライベートエンドポイント
※接続先は、作成したKubernetesサービス
[Microsoft.ContainerService/managedClusters][649~-edge][management]

 

UAG作成時に指定したFQDNですが、外部からの名前解決時には、LBのPublicIPを返答し
内部からの名前解決時には、LB InternalのIPを返答するようにDNSを設定する必要がある。
※UAG:PhononOS Premium SSD LRS 20GB

 


Step6:Active Directory ドメインの登録

 

 

名前:表示名
DNSドメイン名:※VDIが参加するドメインを指定
デフォルトOU:※コンピューターアカウント用OU

 

Step1で作成したアカウントを入力

 

Step1で作成したアカウントを入力

 

登録が確認できます。

 


Step7:マスターイメージの作成

 

 

イメージ名:表示名
マーカー:※イメージを更新した際、イメージ名は同じままなので判別するためのタグ

 

Microsoft Azure Marketplace:新規イメージを作成する場合
Microsoft Azure Compute Gallery:既存イメージをCompute Galleryで管理している場合
Microsoft Azure カスタム仮想マシン:事前に一般化したイメージがある場合

 

サイト:※展開先を選択
Horizon Edge:※展開先を選択
プロバイダ:※展開先を選択
オペレーティングシステム:
[Server2012R2以降、Win10_20H2以降(Single/Multi)、Win11_21H2以降(Single/Multi)]
※FSlogixはインストール済みだが、M365インストール済みOSは無い
世代タイプ:[V1 / V2]
仮想マシンモデルタイプ:[GPUなし / GPUを使用]
仮想マシンモデル:GPUなしの場合[DS2_v2] / GPUを使用の場合[NV12s_v3]で作成される
パブリックIPアドレスを有効にする:イメージ用VMにRDP接続する手段が無い場合は有効
仮想ネットワーク:イメージ用VMを展開する仮想ネットワークを選択
ネットワークの選択:イメージ用VMを展開するサブネットを選択
ユーザー名:ローカル管理者名
パスワード:ローカル管理者パスワード

 

ステータス[公開の準備完了]

 

リソースグループとイメージ用VMが作成されている。
※このタイミングで日本語化や必要なアプリケーションをインストールします。

 

イメージのセットアップが完了したら、ステータスを[公開]に変更します。

 

 

 

必要に応じて選択

 

選択できるサブネットは1つのみ

※初回は、約40分程かかります。

 

Compute Gallery が作成され、イメージバージョンに変換されています。

 


Step8:プールの作成

 

 

プール名:表示名
プールタイプ:
・専用 – 単一セッション=Windows 10/11 Single-Session
・フローティング – 単一セッション=Windows 10/11 Single-Session
・マルチセッション:Windows 10/11 Multi-Session / Windows Server

 

サイト:※展開先を選択
Horizon Edge:※展開先を選択
プロバイダ:※展開先を選択
世代タイプ:作成したマスターイメージと同じ世代を選択
マーカー:※展開したいイメージバージョンを選択
モデル:※全シリーズが利用できるわけではありません。
ディスクタイプ:
[Premium SSD(LRS/ZRS) / Standard SSD(LRS/ZRS) / Standard HDD(LRS)]
ディスクサイズ:127~4095 GB
マシンID:※登録済みのドメイン情報を選択
コンピュータの組織単位:OUを指定
仮想マシンのプロビジョニング:[オンデマンド / 一度にすべて]
※オンデマンド=接続数に応じてVDIを作成/削除を行う。Local Diskも削除される。
(オンデマンド)スペア仮想マシンの最小数:※最低限確保するスペア台数
(オンデマンド)スペア仮想マシンの最大数:※確保できた場合、この台数を維持する。
仮想マシンの最大数:※プール内での作成可能台数
仮想マシン1台あたりのセッション数:※マルチセッションのみ。変更不可
仮想マシン名のプリフィックス:※連番が付く。例:hostname000
デスクトップ管理者のユーザー名:ローカル管理者アカウント
デスクトップ管理者のパスワード:
送信プロキシを使用:HorizonCloud向けの通信に対してプロキシを利用する場合
※VM用には、別途プロキシ設定が必要

 

VDIを展開するサブネットを選択 ※Edge Gateway作成時に選択したNWが表示される

 

※FSLogixでいいと思う。

 

新規追加する場合

 


Step9:プールグループの作成

 

※後から変更可能

 

【単一セッションの場合】

 

プールグループに含める、プールを選択

 

デフォルトのプロトコル:Blast Extremeのみ ※PCoIPは廃止
優先クライアントのタイプ:[Horizon Client / ブラウザ]
範囲:※サイトが1つしか無い場合は不要
ー任意のサイト=どのサイトでも接続を許可
ー1つのサイトに制限=最も近いサイトにのみ接続を許可
サイト接続のアフィニティ:※サイトが1つしか無い場合は不要
ー最も近いサイト=ユーザーから最も近いサイトに接続
ーホームサイト=ユーザーが所属するホームサイトに優先接続
ホームサイト制限:ユーザーが所属するホームサイトのみ接続を許可
SSOを使用:

 

未使用の仮想マシン=[0~100%] 電源ONかつ未接続VMの割合(%)を指定
パワーオフ保護時間:[0~60分] ※起動後、すぐに停止しないための保護時間
電源管理スケジュール:時間&曜日を指定して、[仮想マシンの最小数]を設定可能

切断されたセッションからログアウト:
[ログアウトしない / ただちにログアウトする / ログオフまでの時間(1~99999分) ]
セッションの最大有効期間:[1~99999分] ※指定時間になると切断される
アイドルセッションのタイムアウト:[1~99999分] ※指定時間になると切断される

 

【マルチセッションの場合】

 

プールグループに含める、プールを選択

 

[公開アプリケーション][公開デスクトップとアプリケーション]選択時
※ストア アプリケーションは選択できません。

 

デフォルトのプロトコル:Blast Extremeのみ ※PCoIPは廃止
優先クライアントのタイプ:[Horizon Client / ブラウザ]
範囲:※サイトが1つしか無い場合は不要
ー任意のサイト=どのサイトでも接続を許可
ー1つのサイトに制限=最も近いサイトにのみ接続を許可
サイト接続のアフィニティ:※サイトが1つしか無い場合は不要
ー最も近いサイト=ユーザーから最も近いサイトに接続
ーホームサイト=ユーザーが所属するホームサイトに優先接続
ホームサイト制限:ユーザーが所属するホームサイトのみ接続を許可
SSOを使用:

 

電源管理タイプ:[占有率ベース / 占有率ベース以外]
占有率ベース=起動済みVMでのセッション数の割合
ーパフォーマンスの最適化 [起動:50%以上 / 停止:23%以下]
ーバランシング済み [起動:66%以上 / 停止:31%以下]
ーコストの最適化 [起動:80%以上 / 停止:38%以下]
仮想マシンの最小数:[0~100%] ※起動しておく仮想マシンの最小割合(%)

占有率ベース以外=作成されたVM数に対して未接続VM数の割合
ー未使用の仮想マシン=[0~100%] 電源ONかつ未接続なVMの割合(%)を指定

パワーオフ保護時間:[0~60分] ※起動後、すぐに停止しないための保護時間

電源管理スケジュール:時間&曜日を指定して、[仮想マシンの最小数]を設定可能

 

連続するセッション割り当て間の時間:[0~300秒] ※指定時間内は、割り当て対象外となる
CPU使用率:[0~100%] ※閾値に達すると、割り当て対象外となる
メモリ使用率:[0~100%] ※閾値に達すると、割り当て対象外となる
ディスクキュー長:[0~2147483647] ※読み取り/書き込み要求の数
ディスクの読み取り遅延:[0~2147483647ミリ秒] ※読み取り平均時間
ディスクの書き込み遅延:[0~2147483647ミリ秒] ※書き込み平均時間
ホストのロードインデックス:[0~100%] ※上記5つの項目を総合的に評価した値

 

切断されたセッションからログアウト:
[ログアウトしない / ただちにログアウトする / ログオフまでの時間(1~99999分) ]
セッションの最大有効期間:[1~99999分] ※指定時間になると切断される
アイドルセッションのタイムアウト:[1~99999分] ※指定時間になると切断される

 


Step10:プールグループへのユーザー割り当て

 

[資格を付与]を選択

 

割り当て対象となるプールタイプを選択

 

AzureADに登録されたユーザーアカウントが表示されます。

 


Step11:ホームサイトの設定

 

ホームサイトとは、ユーザー/グループアカウントに対して、自身が所属する[サイト]を登録する設定となります。ホームサイトを設定する事で、接続できるサイトをホームサイトに限定したり、ホームサイトに対して優先的に接続させたりする事ができます。
※サイトが1つしか無い場合は不要です。

 

 

お疲れ様でした!!
これにて、Horizon Cloud の構築が完了しました。
次回は作成した”デスクトップ”と”アプリケーション”に接続してみたいと思います。
VMware Horizon Cloud Service next-gen に接続してみる!

タイトルとURLをコピーしました