第 1 世代 Horizon Cloud Service on Microsoft Azure デプロイの場合、サービスは API 呼び出しを使用してポッドを Microsoft Azure サブスクリプションにデプロイし、そのポッドとポッドがプロビジョニングされた VDI デスクトップおよびファームを管理します。第 1 世代 Horizon Cloud がポッドのサブスクリプションで API 呼び出しを使用できるようにするには、アプリケーション登録を作成します。
簡単な紹介
ポッドの初期デプロイの場合、ポッド デプロイヤは、ポッドに使用するように選択した Microsoft Azure サブスクリプションの API を呼び出します。これらの API 呼び出しは、ポッドのサブスクリプションでアクションを実行して、ポッド マネージャ仮想マシン、仮想マシンの NIC、これらの NICS のネットワーク セキュリティ グループ (NSG) などのアイテムを作成します。これらのリソースは、Horizon Cloud ポッドが必要とするすべてのリソースです。
その後、ポッドのデプロイ後も、Horizon Cloud がポッドのサブスクリプションで API を引き続き呼び出すことができるようにする必要があります。ポッドのデプロイ後、サービスは API 呼び出しを使用して、ゴールド イメージの基本イメージ仮想マシンの作成、ゴールド イメージでの Sysprep の実行、ファーム ホストと VDI デスクトップ仮想マシンの作成、ポッドのゲートウェイ構成の追加と編集、およびポッドのメンテナンスとアップグレードを行います。
ポッド デプロイヤを実行する前にアプリケーション登録を作成する
ポッドのサブスクリプション内にポッドのリソースをプログラムで作成するために、ポッドのデプロイ プロセスでポッド デプロイヤが API を呼び出す必要があるため、デプロイ ウィザードを開始する前に、アプリケーション登録とクライアント プライベート キーが存在している必要があります。アプリケーションの登録を作成すると、ポッドのサブスクリプションにサービス プリンシパル オブジェクトが自動的に作成されます。
クライアント プライベート キーは、Azure ポータルで生成し、ロールをポッドのサブスクリプションのレベルで動作するように Horizon Cloud アプリケーションの登録に割り当てる必要があります。
外部 Unified Access Gateway 構成がポッドのサブスクリプションとは別に、独自のサブスクリプションでデプロイされる機能を使用する場合、Horizon Cloud は、ウィザードを実行して外部ゲートウェイをデプロイするときに、そのサブスクリプションで API を呼び出す機能も備えている必要があります。この場合、そのサブスクリプションには、ポッドのサブスクリプション用に加えて、アプリケーション登録とクライアント プライベート キーが必要です。
アプリケーション登録へのロールの割り当てについて
Horizon Cloud アプリケーションの登録は、ポッドのサブスクリプションにロールを割り当てる必要があります。通常、組み込みの Contributor
ロールは、ポッドのサブスクリプションで Horizon Cloud によって使用されるロールです。Contributor
ロールが使用される理由は、Horizon Cloud がポッドのサブスクリプション内で実行する必要があるすべての API 呼び出しをカバーするためです。
ロールの割り当ては直接割り当てである必要があります。ロールのグループベースの割り当ての使用(ロールがグループに割り当てられ、アプリケーション登録がそのグループのメンバーとなる)は、現在、サポートされていません。
組織がポッドのサブスクリプションで Contributor
ロールの使用を避けたい場合は、Horizon Cloud は代わりにカスタム ロールの使用もサポートします。使用する場合、カスタム ロールは、Horizon Cloud が使用する必要がある特定の API 呼び出しを提供する必要があります。詳細については、このページの下部にあるカスタム ロールセクションを参照してください。
リソース プロバイダの登録
ポッドのサブスクリプションでは、次のリソース プロバイダがすべて Registered
ステータスである必要があります。このリストの一部のリソース プロバイダはすでに Registered
ステータスになっていますが、他のプロバイダはそうなっていません。これは、標準の Microsoft Azure の動作の結果であり、通常はすべての Azure サブスクリプションに対して登録されたリソース プロバイダのセットがあります。
ポッド デプロイ ウィザードを実行する前に、これらのリストされたリソース プロバイダのステータスが Registered
であることを確認します。ウィザードの最後の手順で、これらのリソース プロバイダのステータスが Registered
であることを検証し、ポッドのデプロイが登録解除されている場合はポッドのデプロイを開始できなくなります。
Microsoft.Compute
microsoft.insights
Microsoft.Network
Microsoft.Storage
Microsoft.KeyVault
Microsoft.Authorization
Microsoft.Resources
Microsoft.ResourceHealth
Microsoft.ResourceGraph
Microsoft.Security
Microsoft.DBforPostgreSQL
Microsoft.Sql
Microsoft.MarketplaceOrdering
次のスクリーンショットは、Azure ポータルで [登録済み] ステータスと未登録ステータスを確認する例を示しています。
ポッドのサブスクリプションでリソース プロバイダを確認するには、次の手順を実行します。
- Azure ポータルにログインし、ポッドのデプロイ先となるサブスクリプションを検索します。
- サブスクリプション名をクリックし、([リソース プロバイダ])が表示されるまで下にスクロールします。
- 上記のリストでリソース プロバイダを探し、それぞれが ([登録済み])ステータスを示していることを確認します。
上記のリストから提供された
NotRegistered
と表示されるリソースについては、ポータルを使用して登録してください。
Horizon Cloud アプリケーション登録の作成
登録アカウントに応じた Microsoft Azure ポータルを使用して、次の手順を行います。たとえば、これらの Microsoft Azure クラウドのための特定のポータル エンドポイントがあります。
- Microsoft Azure Commercial(標準グローバル地域)
- Microsoft Azure China
- Microsoft Azure US Government
外部ゲートウェイがポッドとは別に独自のサブスクリプションを使用する Horizon Cloud 機能を使用する場合は、そのサブスクリプションの手順を繰り返して、アプリケーションを登録します。
Azure ポータルで次の手順をすべて完了するには、ポータル ログインにアプリケーション登録を作成し、ポッドをデプロイする予定のサブスクリプションでそのアプリケーション登録にロールを割り当てるための十分な権限が必要です。そのサブスクリプションの所有者または管理者でない場合は、アプリケーション登録を作成し、そのアプリケーション登録にロールを割り当てるために必要な権限があるかどうかを、所有者または管理者のいずれかに確認します。
- アプリケーションを登録できる認証情報を使用して Microsoft Azure ポータルにログインします。
- ポータルの検索バーで
App registrations
を検索し、結果リストに表示されたら [アプリケーション登録] をクリックします。ポータルに [アプリケーション登録] ページが表示されます。
- [アプリケーション登録] ページで、[新規登録] をクリックします。
- この登録が Horizon Cloud で使用されることを思い出させる表示名を入力します。
- [この組織ディレクトリにのみ含まれるアカウント] を選択します。
- オプションの [リダイレクト URI] セクションをデフォルトの空の状態のままにします。
- [登録] ボタンをクリックして、アプリケーション登録の作成を完了します。
新しく作成されたアプリ登録が画面に表示されます。
- アプリケーション ID とディレクトリ ID をコピーし、デプロイ ウィザードの実行中に参照できる場所に保存します。次のスクリーンショットは、
Hzn-Cloud-Principal
という名前のアプリケーション登録と、アプリケーション ID とディレクトリ ID が表示される場所を指す緑色の矢印を示しています。
- 次に、アプリケーション登録のクライアント プライベート キーを作成します。
- 上記のスクリーンショットで、が表示される場所を参照してください。Azure ポータルの新しく作成した [アプリケーション登録] ページで、[証明書とシークレット] をクリックします。
- [新しいクライアントのシークレット] をクリックします。
- 次のスクリーンショットに示すように、ポータルには [クライアント シークレットの追加] 画面が表示されます。説明を入力して有効期限を選択し、[追加] をクリックします。キーの説明は 16 文字以下にしてください。たとえば、
Hzn-Cloud-Key1
と入力します。
重要: シークレット値をコピーし、後で参照可能な場所に貼り付けるまでは、この画面を開いたままにします。
- デプロイ ウィザードの実行中に参照できる場所にシークレット値をコピーします。ウィザードには、この値を貼り付けるフィールドがあります。
- Horizon Cloud アプリケーション登録にロール割り当てを追加します。サブスクリプション レベルでロールを割り当てます。
- Microsoft Azure ポータルのメイン ナビゲーション バーで [すべてのサービス] をクリックし、[サブスクリプション] をクリックしてから、ポッド デプロイヤでポッドをデプロイする予定のサブスクリプションの名前をクリックして、サブスクリプションの設定画面に移動します。
注: ここで、画面に表示されたサブスクリプション ID をメモできます。この ID は、デプロイ ウィザードで必要になります。
- ([アクセス制御 (IAM)])をクリックして、 の順にクリックし、[ロール割り当てを追加] 画面を開きます。
- [ロールの割り当ての追加] 画面の [ロール] で
Contributor
ロールを選択します。組織が Horizon Cloud にカスタム ロールを使用することを望んでいる場合は、この目的のために組織がセットアップしたカスタム ロールを選択します。
- [アクセス権の割り当て先] ドロップダウン リストで、[Azure Active Directory ユーザー、グループ、またはアプリケーション] を選択します。
- [選択] ボックスを使用して、Horizon Cloud アプリケーション登録の名前を検索します。次のスクリーンショットは、この手順を示しています。
- 作成した Horizon Cloud アプリケーション登録に付ける名前をクリックして、選択したメンバーにし、[保存] をクリックします。
- Microsoft Azure ポータルのメイン ナビゲーション バーで [すべてのサービス] をクリックし、[サブスクリプション] をクリックしてから、ポッド デプロイヤでポッドをデプロイする予定のサブスクリプションの名前をクリックして、サブスクリプションの設定画面に移動します。
サマリ
この時点で、Horizon Cloud アプリケーション登録を作成および構成し、Horizon Cloud に必要なリソース プロバイダの登録ステータスを確認し、ポッドのデプロイ ウィザードの最初の手順で入力する必要のあるサブスクリプション関連の値を取得しました。4 つのサブスクリプション関連の値は次のとおりです。
- サブスクリプション ID
- Azure Active Directory ID
- アプリケーション ID
- アプリケーション キーの値
カスタム ロールと Horizon Cloud アプリケーションの登録
組織がポッドのサブスクリプションで Contributor
ロールを使用しないようにする場合は、代わりにカスタム ロールを作成し、そのロールを Horizon Cloud アプリケーション登録に割り当てることができます。Horizon Cloud で必要な API 呼び出しを許可するように、カスタム ロールを構成する必要があります。組織がポッドのサブスクリプションで Contributor
ロールを使用しないようにする場合は、第 1 世代テナント - 組織が第 1 世代 Horizon Cloud のアプリケーション登録にカスタム ロールを使用することを希望する場合の情報を参照してください。