このドキュメント ページでは、Horizon Cloud on Microsoft Azure のデプロイおよびアップグレード プロセスでの Azure Marketplace の使用に関連する要件、およびサポート リクエストで VMware のサポートによるトラブルシューティング ジャンプ ボックスのデプロイが必要な場合について説明します。
この情報は、ユーザーまたはユーザーの IT 組織またはセキュリティ組織が Horizon Cloud on Microsoft Azure 環境のサブスクリプションに Azure Marketplace オファーまたは Azure Marketplace の注文の使用に関する制限を設定している場合に関係します。
また、Azure China に Horizon Cloud on Microsoft Azure 環境がある場合は、このページのAzure China でのデプロイセクションで説明されているように、VMware のサポート チームによるサポートが必要になる場合があります。
簡単な紹介
2022 年初頭から、このサービスは、Azure Marketplace で提供される VMware オファーをプログラムで使用するための Horizon Cloud on Microsoft Azure デプロイヤとアップグレード コードを強化しました。
この機能強化により、最初のデプロイ プロセスとアップグレード プロセスがより迅速に実行され、ポッド マネージャ インスタンスと Unified Access Gateway インスタンスのダウンタイムがほぼゼロのアップグレードが実現されます。
また、この機能強化により、追加のストレージ アカウントを使用せずに、App Volumes 機能に使用される 1 つのストレージ アカウントだけでデプロイとアップグレードを実行することもできます。
Azure Marketplace とデプロイ、アップグレード、およびサポート ジャンプ ボックスの関係
デプロイおよびアップグレード中に、デプロイヤとアップグレード コードは、API 呼び出しによって、プログラムで、vmware-inc という名前の VMware の publisherID に対応する Azure Marketplace での VMware オファーの条件に同意しようとします。
関連エンティティ | publisherID | offerID | planID |
---|---|---|---|
ポッド マネージャ | vmware-inc | euc-hcs-podmgr | euc-hcs-podmgr |
Unified Access Gateway | vmware-inc | euc-hcs-uag | euc-hcs-uag |
ジャンプ ボックス(トラブルシューティングを行うために VMware のサポートで必要な場合) | vmware-inc | euc-hcs-jumpbox | euc-hcs-jumpbox |
サービスの API 呼び出しの要件
このプログラムによる方法が成功するには、Horizon Cloud on Microsoft Azure 環境の Azure サブスクリプションは以下のセクションで説明する要件を満たす必要があります。
これらの項目は、上記の表に記載されている VMware の publisherID、offerID、および planID に対応する Azure Marketplace での VMware オファーの条件に同意するために、デプロイヤおよびアップグレード API 呼び出しに提供されます。
これらの要件は、ポッド マネージャ インスタンスで使用されるサブスクリプションと、Unified Access Gateway インスタンスが独自のサブスクリプションにデプロイするときに使用するサブスクリプションの両方に適用されます。
Azure サブスクリプションで次の項目が満たされていない場合、オファー条件に同意するためのデプロイヤとアップグレード コードの API 呼び出しが失敗し、次の結果になります。
- そのサブスクリプションに関連する新しいデプロイに失敗する。
- そのサブスクリプションにすでにデプロイされているポッド マネージャと Unified Access Gateway インスタンスのアップグレードに失敗する。
- VMware のサポートによるサポート リクエストのトラブルシューティングに必要なトラブルシューティング ジャンプ ボックスをそのサブスクリプションにデプロイできない。
1 つの特別な状況は、Azure China に配置された 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 インスタンスの新しいデプロイの場合、ユーザー インターフェイスのデプロイ ウィザードで、サービス プリンシパルがサブスクリプションでこれらの権限を持っているかどうかを検証します。検証に失敗すると、ユーザー インターフェイスによってデプロイが開始されません。
- アップグレードの場合、システムの事前確認は、サービス プリンシパルがサブスクリプションでこれらの権限を持っているかどうかを確認しようとします。持っていない場合、事前確認で更新をブロックするエラーが報告されます。このエラーを解決するには、これらの権限をカスタム ロールに含めます。
- VMware のサポートがサポート リクエストに対応するためにトラブルシューティング用のジャンプ ボックスをデプロイする必要がある場合、ジャンプ ボックスのデプロイ プロセスは、権限がないことを VMware のサポートに示します。
このシナリオでは、VMware のサポート チームは、「構成済みのサブスクリプションにマーケットプレイスのイメージ オファーを使用するための十分な読み取り権限がないため、アップグレードを続行できませんでした。構成済みのサブスクリプションにマーケットプレイスのイメージ オファーを使用するための十分な書き込み権限がないため、アップグレードを続行できませんでした」のようなパターンでログに記録されたエラー メッセージを確認します。
Azure ポリシーがサブスクリプションで許可される Azure リソース タイプを制限する場合の要件
一部の IT 組織の Azure ポリシーでは、名前で明示的に許可されている特定のリソース タイプを除き、Azure リソース タイプのすべての使用を禁止するように指定されている場合があります。
IT またはセキュリティ組織が、組織の Azure サブスクリプションで許可される Azure リソース タイプを制限する Azure ポリシーを設定している場合、Azure ポリシーの AllowedResourceTypes セットに、リソース タイプ Microsoft.MarketplaceOrdering/* を含める必要があります。
サブスクリプションの Azure ポリシーに Microsoft.MarketplaceOrdering/* が含まれていない場合、VMware のサポート チームは、「検証エラーのため、PublisherId: 'vmware-inc'、OfferId: 'euc-hcs-xxxxx' のオファーを購入できません。IT 管理者が設定したポリシーに従って、発行者 'vmware-inc' のオファー 'euc-hcs-xxxxxx' の Sku 'euc-hcs-xxxxxx' は利用できません」のようなパターンでログに記録されたエラー メッセージを確認します。ここで xxxxx は前述の表の planIDs のいずれかに対応します。
Microsoft.MarketplaceOrdering/* リソース タイプへのアクセスを許可すると、デプロイヤとアップグレード コードは、デプロイヤとアップグレード コードが使用する Azure Marketplace の VMware Horizon Cloud on Microsoft Azure オファーを受け入れる API 呼び出しを行うことができます。
IT チームまたはセキュリティ チームがサブスクリプションでこのリソース タイプの許可を拒否した場合、次のセクションエンタープライズの Azure プライベート ストア コレクションへの VMware オファーの追加で説明するアクションを実行して、VMware オファー SKU をエンタープライズの Azure プライベート ストアに追加するオプションを使用できます。その後、サービスの API 呼び出しは、そこから VMware オファーを取得できます。
エンタープライズ管理者が Azure Enterprise テナントの Azure Marketplace 購入をオフに切り替えた場合の要件
Microsoft Azure のドキュメントで説明されているように、エンタープライズ管理者は、エンタープライズ Azure テナントのすべての Azure サブスクリプションの Azure Marketplace 購入をオフに切り替えることができます。
この操作を行うと、Azure Marketplace の購入が Microsoft の発行元からのオファーに制限されます。この制限付き購入により、サービスの API 呼び出しがブロックされ、vmware-inc publisherID から VMware オファーが取得されなくなり、その結果、これらの API 呼び出しを必要とするデプロイおよびアップグレード プロセスが妨げられます。
このシナリオでは、VMware のサポート チームに「このサブスクリプションの登録ではマーケットプレイス有料製品の購入が許可されていないため、購入を完了できません。Azure 登録管理者がマーケットプレイス有料製品の購入を有効にすることができます」のようなパターンでログに記録されたエラー メッセージが表示されます。
この状況を解決するには、エンタープライズ管理者にプライベート Azure Marketplace コレクションを作成および管理し、エンタープライズの Azure プライベート ストア コレクションへの VMware オファーの追加のアクションを実行して VMware オファーを追加するよう依頼します。
エンタープライズの Azure プライベート ストア コレクションへの VMware オファーの追加
Microsoft Azure は、サブスクリプションで使用するプライベート Azure Marketplace コレクションを作成および管理する機能を提供します。プライベート Azure Marketplace の作成と管理で説明されているように、この機能により、IT 管理者は、ユーザーがグローバル Azure Marketplace から使用できるサードパーティ ソリューションを事前に承認、キュレート、および制御できます。前の文でリンクされている Microsoft のドキュメント ページで説明されているように、プライベート ストアを管理する管理者に Marketplace 管理者ロールを割り当てる必要があります。
エンタープライズ Azure テナント用にプライベート ストアが作成されると、Marketplace 管理者ロールを持つ管理者は、プライベート ストア コレクションに VMware オファーを追加できます。テナントのプライベート ストアに VMware オファーを追加すると、サービスの API 呼び出しで、デプロイおよびアップグレードに使用される VMware オファーを取得できます。
Microsoft は、特定の発行者オファーをプライベート ストア コレクションに追加するための PowerShell コマンドを提供します。
プライベート マーケットプレイスにオファーを追加するにある PowerShell コマンドを実行するための前提条件に関する Microsoft のドキュメント参照に従います。この Microsoft ページでは、Microsoft がこの目的のために提供する PowerShell コマンドについても説明されています。
次の例は、コマンドを実行するための前提条件が満たされた後に、そのプライベート ストアに VMware オファーを追加するために使用する Microsoft PowerShell コマンドを示しています。まず、Get-AzMarketplacePrivateStore を使用して Azure テナントの privateStoreId を取得します。次に、Set-AzMarketplacePrivateStoreOffer を使用して、VMware オファーをそのプライベート ストアに追加します。
Get-AzMarketplacePrivateStore
- Get-AzMarketplacePrivateStore を使用して、次のコマンド セットで使用する Azure テナントの privateStoreId を取得します。
Get-AzMarketplacePrivateStore
- 返された privateStoreId を Set-AzMarketplacePrivateStoreOffer コマンドで使用して、euc-hcs-podmgr、euc-hcs-uag、および euc-hcs-jumpbox の VMware オファーを追加します。
- ポッド マネージャ インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId vmware-inc.euc-hcs-podmgr -SpecificPlanIdsLimitation @("euc-hcs-podmgr")
- Unified Access Gateway インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId vmware-inc.euc-hcs-uag -SpecificPlanIdsLimitation @("euc-hcs-uag")
- トラブルシューティング用ジャンプ ボックス インスタンスのオファーを追加します。
Set-AzMarketplacePrivateStoreOffer -privateStoreId your-tenant-privateStoreID -offerId vmware-inc.euc-hcs-jumpbox -SpecificPlanIdsLimitation @("euc-hcs-jumpbox")
- ポッド マネージャ インスタンスのオファーを追加します。
- VMware オファーがテナントのプライベート ストアに表示されていることを確認します。
Get-AzMarketplacePrivateStoreOffer -PrivateStoreId your-tenant-privateStoreID
Azure China - 特別な考慮事項
Microsoft は Azure China で Microsoft.Marketplace.Ordering リソース タイプを提供していないため、Azure Marketplace で VMware オファーへの API 呼び出しを使用するサービスの機能はサポートされません。Microsoft.Marketplace.Ordering タイプは、Azure China リソース プロバイダ向けのこの Microsoft ドキュメント参照に記載されていません。
したがって、Horizon Cloud on Microsoft Azure 環境向けに Azure China のサブスクリプションを使用している場合は、次の特別な考慮事項に注意してください。
- Azure China の既存の Horizon Cloud on Microsoft Azure 環境の場合、その環境をアップグレードする前に、VMware のサポートからサポートを受け、Azure Marketplace への API 呼び出しなしで、以前のアップグレード方法を使用するように Horizon Cloud テナントを構成します。
- Azure China へのデプロイを計画する場合は、そのデプロイを開始する前に、VMware のサポートからサポートを受けて、Azure Marketplace への API 呼び出しなしでデプロイヤが以前のデプロイ方法を使用するように Horizon Cloud テナントを構成します。
- VMware のサポートが Azure China にある環境のトラブルシューティングのために一時的なジャンプ ボックスをデプロイする必要がある場合、VMware のサポートは、サービスの Azure Marketplace への API 呼び出しなしで一時的なジャンプ ボックスをサブスクリプションにデプロイできるように、Horizon Cloud テナントを一時的に構成できます。トラブルシューティングのために一時的なジャンプ ボックスをデプロイした後、テナントで Azure China に加えて、複数のリージョンにあるサブスクリプションにポッドがデプロイされている場合に備えて、VMware のサポートはサービスの API 呼び出しの機能を再度有効にできます。
Azure Marketplace を使用しないデプロイとアップグレードの完了には時間がかかります。また、このようなデプロイとアップグレードでは、一時的なジャンプ ボックスを使用して、デプロイとアップグレードのプロセスとサブスクリプション内のストレージ アカウントの使用を調整し、サービスの API 呼び出しが Azure Marketplace で提供される VMware オファーを使用する代わりに、Horizon Cloud 制御プレーンから取得するイメージを保持する必要があります。