このドキュメント ページでは、デプロイおよびアップグレード プロセスでの Horizon Cloud on Microsoft Azure での Azure Marketplace の使用に関連する要件と、サポート リクエストで Horizon Cloud サポートがトラブルシューティング ジャンプ ボックスをデプロイする必要がある場合について説明します。
この情報は、ユーザーまたはユーザーの IT 組織またはセキュリティ組織が、Horizon Cloud on Microsoft Azure デプロイのサブスクリプションに Azure Marketplace オファーまたは Azure Marketplace の注文の使用に関する制限を設定している場合に関係します。
また、Azure China に Horizon Cloud on Microsoft Azure のデプロイを行っている場合は、このページのAzure China でのデプロイのセクションで説明されているように、Horizon Cloud サポート チームの支援が必要になる場合があります。
概要
2022 年初頭から、サービスは Horizon Cloud on Microsoft Azure デプロイヤと、Azure Marketplace で提供するオファーをプログラムで使用するためのアップグレード コードを強化しました。
この機能強化により、最初のデプロイ プロセスとアップグレード プロセスの実行が高速化され、ポッド マネージャ インスタンスと Unified Access Gateway インスタンスのダウンタイムがほぼゼロのアップグレードが実現されます。
この機能強化により、追加のストレージ アカウントを使用せずに、App Volumes 機能に使用される 1 つのストレージ アカウント以外でデプロイとアップグレードを実行することもできます。
Azure Marketplace とデプロイ、アップグレード、およびサポート ジャンプ ボックスの関係
デプロイおよびアップグレード プロセス中に、デプロイヤとアップグレード コードは、API 呼び出しによって、プログラムによって、 omnissallc という名前の publisherID に対応する Azure Marketplace のHorizon Cloudオファーの条件に同意しようとします。
| 関連エンティティ | パブリッシャ ID | オファー ID | プランID |
|---|---|---|---|
| ポッド マネージャ | Omnissallc | omnissa-hcs-podmgr | omnissa-hcs-podmgr |
| Unified Access Gateway | Omnissallc | Omnissa-HCS-UAG | Omnissa-HCS-UAG |
| ジャンプ ボックス(トラブルシューティングのために Horizon Cloud サポートで必要な場合) | Omnissallc | omnissa-hcs-jumpbox | omnissa-hcs-jumpbox |
メモ: Azure ポータルを使用して Azure Marketplace に移動してこれらのオファーを表示することはサポートされていません。Horizon Cloud は、API 呼び出しを使用してプログラムによるアクセスのためにこれらのオファーを公開します。
サービスの API 呼び出しの要件
このプログラムによる方法を成功させるには、Horizon Cloud on Microsoft Azure デプロイの Azure サブスクリプションが次のセクションで説明する要件を満たす必要があります。
これらの項目は、上記の表にリストされているサービスの publisherID、offerID、および planID に対応する Azure Marketplace での Horizon Cloud オファーの条件に同意するために、デプロイヤおよびアップグレード API 呼び出しを提供します。
これらの要件は、ポッド マネージャ インスタンスで使用されるサブスクリプションと、Unified Access Gateway インスタンスが独自のサブスクリプションにデプロイするときに使用するサブスクリプションの両方に適用されます。
Azure サブスクリプションで次の項目が満たされていない場合、オファー条件に同意するためのデプロイヤとアップグレード コードの API 呼び出しが失敗し、次の結果になります。
- そのサブスクリプションに関連する新しいデプロイの失敗。
- そのサブスクリプションにすでにデプロイされているポッド マネージャと Unified Access Gateway インスタンスのアップグレードに失敗する。
- Horizon Cloud のサポートがサポート リクエストのトラブルシューティングを行う必要がある場合に、トラブルシューティング ジャンプ ボックスをそのサブスクリプションにデプロイできない。
特別な状況の 1 つは、中国の Azure にある Horizon Cloud on Microsoft Azure のデプロイのシナリオです。Azure China では、Microsoft はサービスの API 呼び出しに必要な Microsoft.Marketplace.Ordering リソース タイプを提供しません。Horizon Cloud on Microsoft Azure の展開が Azure China にある場合は、「 Azure China - 特別な考慮事項」セクションのガイダンスをお読みください。
デプロイのサービス プリンシパルがカスタム ロールを使用する場合の要件
ここで説明するようにカスタム ロールを使用する場合は、カスタム ロールに次の権限が含まれている必要があります。
Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/read
Microsoft.MarketplaceOrdering/offertypes/publishers/offers/plans/agreements/write
- ポッド マネージャ インスタンスまたは Unified Access Gateway インスタンスの新しいデプロイの場合、ユーザー インターフェイスのデプロイ ウィザードは、サービス プリンシパルがサブスクリプションでこれらの権限を持っているかどうかを検証します。検証に失敗すると、ユーザー インターフェイスによって展開を開始できなくなります。
- アップグレードの場合、システムの事前チェックでは、サービス プリンシパルがサブスクリプションでこれらの権限を持っているかどうかが確認されます。見つからない場合、事前チェックで更新をブロックするエラーが報告されます。この問題を解決するには、カスタム ロールにこれらの権限を含めます。
- Horizon Cloud サポートがサポート リクエストに対応するためにトラブルシューティング用ジャンプ ボックスをデプロイする必要がある場合、ジャンプ ボックスのデプロイ プロセスは、権限がないことを Horizon Cloud サポートに通知します。
このシナリオでは、Horizon Cloud サポートには次のようなパターンでログ エラー メッセージが表示されます。 Could not proceed with upgrade as configured subscription has insufficient read permission to use marketplace image offers. Could not proceed with upgrade as configured subscription has insufficient write permission to use marketplace image offers.
Azure ポリシーがサブスクリプションで許可される Azure リソース タイプを制限する場合の要件
一部の IT 組織の Azure ポリシーでは、名前で明示的に許可される特定のリソース タイプを除き、Azure リソース タイプのすべての使用を禁止するように指定されている場合があります。
IT またはセキュリティ組織が、組織の Azure サブスクリプションで許可される Azure リソース タイプのタイプを制限するこのような Azure ポリシーを設定している場合、Azure ポリシーの AllowedResourceTypes セットには、リソース タイプ Microsoft.MarketplaceOrdering/* を許可することを含める必要があります。
サブスクリプションの Azure ポリシーに Microsoft.MarketplaceOrdering/*が含まれていない場合、Horizon Cloud Support には、 Offer with PublisherId: 'omnissallc', OfferId: 'omnissa-hcs-xxxxx' cannot be purchased due to validation errors. Sku 'omnissa-hcs-xxxxxx' of offer 'omnissa-hcs-xxxxxx' by publisher 'omnissallc' is not available to you for deployment per the policy set by your IT Admin などのパターンでログ エラー メッセージが表示されます。ここで、 xxxxx は前の表の planID のいずれかに対応します。
Microsoft.MarketplaceOrdering/* リソース タイプへのアクセスを許可すると、デプロイヤとアップグレード コードは、デプロイヤとアップグレード コードが使用する Azure Marketplace での Microsoft Azure オファー Horizon Cloudを受け入れるための API 呼び出しを行うことができます。
IT チームまたはセキュリティ チームがサブスクリプションでこのリソース タイプの許可を拒否した場合、エンタープライズの Azure プライベート ストア コレクションにオファーを追加するセクションで説明されているアクションを実行して、Horizon Cloud オファー SKU をエンタープライズの Azure プライベート ストアに追加するオプションを使用できます。その後、サービスの API 呼び出しはそこからオファーを取得できます。
エンタープライズ管理者が Azure エンタープライズ テナントの Azure Marketplace 購入をオフに切り替えた場合の要件
Microsoft Azure のドキュメントで説明されているように、エンタープライズ管理者は、エンタープライズ Azure テナントのすべての Azure サブスクリプションの Azure Marketplace 購入をオフに切り替えることができます。
これを行うと、Azure Marketplace の購入が Microsoft の発行元からのオファーに制限されます。この制限付き購入により、サービスの API 呼び出しがブロックされ、 omnissallc publisherID からHorizon Cloudオファーが取得されなくなり、その結果、これらの API 呼び出しを必要とする展開およびアップグレード プロセスが妨げられます。
このシナリオでは、Horizon Cloud サポートには、「 Cannot complete purchase as your enrollment for this subscription doesn't allow purchase of marketplace paid products. Your Azure enrollment administrator can enable purchase of paid marketplace products.」などのパターンでログ エラー メッセージが表示されます。
この状況の解決策は、エンタープライズ管理者にプライベート Azure Marketplace コレクションの作成と管理を要求し、 エンタープライズの Azure プライベート ストア コレクションへのオファーの追加セクションのアクションを実行して、Horizon Cloud オファーを追加することです。
エンタープライズの Azure プライベート ストア コレクションにオファーを追加する
Microsoft Azure は、サブスクリプションで使用するプライベート Azure Marketplace コレクションを作成および管理する機能を提供します。「プライベート Azure Marketplace の作成と管理」で説明されているように、この機能により、IT 管理者は、ユーザーがグローバル Azure Marketplace から使用できるサードパーティ ソリューションを事前に承認、キュレート、および制御できます。前の文でリンクされている Microsoft のドキュメント ページで説明されているように、プライベート ストアを管理する管理者に Marketplace 管理者ロールを割り当てる必要があります。
エンタープライズ Azure テナント用にプライベート ストアが作成されると、Marketplace 管理者ロールを持つ管理者は、プライベート ストア コレクションにオファーを追加できます。テナントのプライベート ストアにオファーを追加すると、サービスの API 呼び出しで、デプロイとアップグレードに使用されるオファーを取得できます。
Microsoft には、特定の発行元オファーをプライベート ストア コレクションに追加するための PowerShell コマンドが用意されています。
プライベート マーケットプレイスへのオファーの追加にある PowerShell コマンドを実行するための前提条件については、Microsoft のドキュメント リファレンスに従ってください。その Microsoft ページでは、Microsoft がこの目的のために提供する PowerShell コマンドについても説明されています。
次の例は、コマンドを実行するための前提条件が満たされた後に、そのプライベート ストアに Horizon Cloud オファーを追加するために使用する Microsoft PowerShell コマンドを示しています。最初の Get-AzMarketplacePrivateStore は、Azure テナントの privateStoreIdを取得するために使用されます。次に、 Set-AzMarketplacePrivateStoreOffer を使用して、そのプライベート ストアにHorizon Cloudオファーを追加します。
Get-AzMarketplacePrivateStore
-
Get-AzMarketplacePrivateStoreを使用して、次のコマンド セットで使用する Azure テナントのprivateStoreIdを取得します。Get-AzMarketplacePrivateStore -
返された
privateStoreIdをSet-AzMarketplacePrivateStoreOfferコマンドで使用して、omnissa-hcs-podmgr、omnissa-hcs-uag、omnissa-hcs-jumpboxのオファーを順番に追加します。-
ポッド マネージャ インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId omnissallc.omnissa-hcs-podmgr -SpecificPlanIdsLimitation @("omnissa-hcs-podmgr") -
Unified Access Gateway インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId omnissallc.omnissa-hcs-uag -SpecificPlanIdsLimitation @("omnissa-hcs-uag") -
トラブルシューティング用ジャンプ ボックス インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId omnissallc.omnissa-hcs-jumpbox -SpecificPlanIdsLimitation @("omnissa-hcs-jumpbox")
-
-
オファーがテナントのプライベート ストアにリストされているかどうかを確認します。
Get-AzMarketplacePrivateStoreOffer -PrivateStoreId your-tenant-privateStoreID
Azure China - 特別な考慮事項
Microsoft は Azure China で Microsoft.Marketplace.Ordering リソース タイプを提供していないため、Azure Marketplace で Horizon Cloud のオファーへの API 呼び出しを使用するサービスの機能はサポートされません。Microsoft.Marketplace.Ordering タイプは、 Azure China リソース プロバイダ向けのこの Microsoft ドキュメント リファレンスに記載されていません。
したがって、Horizon Cloud on Microsoft Azure 環境に Azure China のサブスクリプションを使用する場合は、次の特別な考慮事項に留意してください。
- Azure China の既存の Horizon Cloud on Microsoft Azure 環境の場合は、その環境をアップグレードする前に、Horizon Cloud のサポートからサポートを受け、Azure Marketplace への API 呼び出しなしで、以前のアップグレード方法を使用するように Horizon Cloud テナントを構成します。
- Azure China へのデプロイを計画する場合は、そのデプロイを開始する前に、Horizon Cloud のサポートからサポートを受けて、デプロイヤが Azure Marketplace への API 呼び出しなしで以前のデプロイ方法を使用するように Horizon Cloud テナントを構成します。
- Horizon Cloud サポートが Azure China にあるデプロイのトラブルシューティングのために一時的なジャンプ ボックスをデプロイする必要がある場合、Horizon Cloud サポートは Horizon Cloud テナントを一時的に構成して、Azure Marketplace へのサービスの API 呼び出しなしで一時的なジャンプ ボックスをサブスクリプションにデプロイする機能を有効にすることができます。トラブルシューティングのために一時的なジャンプ ボックスがデプロイされた後、テナントに Azure China に加えてリージョンにあるサブスクリプションにポッドがデプロイされている場合に備えて、Horizon Cloud サポートはサービスの API 呼び出しの機能を再度有効にすることができます。
Azure Marketplace を使用しないデプロイとアップグレードの完了には時間がかかります。また、このようなデプロイとアップグレードでは、一時的なジャンプ ボックスを使用して、デプロイとアップグレードのプロセスとサブスクリプションでのストレージ アカウントの使用を調整し、サービスの API 呼び出しが Azure Marketplace で Horizon Cloud オファーを使用する代わりに Horizon Cloud 制御プレーンから取得するイメージを保持する必要があります。
このページは役に立ちましたか?