適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット
Azure Compute Gallery を使用すると、Azure リソース (イメージ、アプリケーション) の構造と体系を構築することができます。 Compute Gallery には次の特長があります:
- グローバル レプリケーション。1
- 容易な管理のためのリソースのバージョン管理とグループ化。
- 可用性ゾーンがサポートされるリージョンでのゾーン冗長ストレージ (ZRS) アカウントによる高可用性リソース。 ZRS により、ゾーンの障害に対する回復性を得られます。
- Premium Storage でサポートされるのは、ローカル冗長ストレージ (LRS) です。
- コミュニティへの共有、サブスクリプション間の共有、Active Directory テナント間の共有。
- 各リージョン内のリソース レプリカを使用したデプロイのスケーリング。
ギャラリーを使用すると、すべてのユーザーとリソースを共有できます。 または、組織内の特定のユーザー、サービス プリンシパル、または Active Directory グループへの共有を制限することもできます。 リソースを複数のリージョンにレプリケートすることで、デプロイのスケーリングにかかる時間を短縮することができます。
1 Azure Compute Gallery サービスはグローバル リソースではありません。 ディザスター リカバリー シナリオでは、少なくとも 2 つのギャラリーを別のリージョンに配置することをお勧めします。
画像
Azure Compute Gallery へのイメージの格納について詳しくは、「Azure Compute Gallery でイメージを格納、共有する」を参照してください。
VM アプリ
アプリが事前インストールされている仮想マシン (VM) のイメージを作成することはできますが、その場合はアプリケーションを変更するたびにイメージを更新する必要があります。 VM イメージからアプリケーションのインストールを分離することは、コードを変更するたびに新しいイメージを公開する必要がないことを意味します。
Azure Compute Gallery へのアプリケーションの格納について詳しくは、VM アプリケーションに関するページを参照してください。
地域のサポート
すべてのパブリック リージョンはターゲット リージョンにすることができますが、一部のリージョンでは、アクセスを取得するために顧客が要求プロセスを経る必要があります。 オーストラリア中部、オーストラリア中部 2 などのリージョンの許可リストにサブスクリプションを追加するよう要求するには、アクセス要求を送信します。
制限
Azure Compute Gallery を使用してリソースをデプロイする場合は、次の制限が適用されます。
- 各リージョンで Azure サブスクリプションごとに最大 100 個のギャラリーを持つことができます。
- 各リージョンでサブスクリプションごとに最大 1,000 個のイメージ定義を持つことができます。
- 各リージョンでサブスクリプションごとに最大 10,000 個のイメージ バージョンを持つことができます。
- イメージ バージョンごとに最大 100 個のレプリカを使用できます。 ただし、ほとんどのユース ケースでは、50 個のレプリカで十分です。
- イメージ サイズは 2 TB 未満にする必要がありますが、浅いレプリケーションを使用して、より大きなイメージ サイズ (最大 32 TB) をサポートできます。
- リソース移動は、Azure Compute Gallery リソースではサポートされていません。
詳細および現在の使用量を確認する方法の例については、「制限に照らしたリソース使用量の確認」を参照してください。
Azure コンピューティング ギャラリー リソースの既定の制限に達した場合は、引き上げを要求できます。 これを行うには、Azure portal からサポート インシデントを開きます。
スケーリング
Azure Compute Gallery を使用して、保持したいレプリカの数を指定できます。 複数の VM のデプロイ シナリオでは、VM のデプロイを他のレプリカに分散できます。 このアクションにより、単一レプリカのオーバーロードによってインスタンス作成プロセスが調整される可能性が減少します。
Compute Gallery では、スケール セットに最大 1,000 個の VM インスタンスをデプロイできます。 そのリージョンでのスケールのニーズに基づいて、各ターゲット リージョンで異なるレプリカ数を設定できます。 各レプリカはご利用のリソースのコピーであるため、このアプローチによりそれぞれの追加のレプリカで線形的にデプロイをスケーリングできます。
2 つのリソースまたはリージョンが同じでないことは理解していますが、1 つのリージョンで複数のレプリカを使用する方法についての一般的なガイドラインを次に示します:
- 同時に作成する VM 20 個ごとに、1 つのレプリカを保持することをお勧めします。 たとえば、リージョン内で同じイメージを使用して 1,000 個の VM を同時に作成する場合は、イメージのレプリカを少なくとも 50 個保持することをお勧めします。
- 同時に作成するスケール セットごとに、1 つのレプリカを保持することをお勧めします。
常に、リソース サイズ、コンテンツ、OS の種類などの要因で、レプリカの数を過剰プロビジョニングすることをお勧めします。
高可用性
Azure ZRS は、リージョン内の可用性ゾーンの障害に対する回復性を提供します。 Azure Compute Gallery の一般的な可用性では、可用性ゾーンでリージョン内の ZRS アカウントに自分のイメージを格納することを選択できます。
また、ターゲット リージョンごとにアカウントの種類を選ぶこともできます。 既定のストレージ アカウントの種類は Standard_LRS ですが、可用性ゾーンでリージョンに Standard ZRS を選ぶことができます。 ZRS のリージョン別可用性の詳細については、「Azure Storage の冗長性」を参照してください。
レプリケーション
Azure Compute Gallery では、他の Azure リージョンにリソースを自動的にレプリケートすることもできます。 各イメージ バージョンは、組織の目的に応じて、さまざまなリージョンにレプリケートできます。 たとえば、最新のイメージは常に複数のリージョンにレプリケートし、それよりも古い他の全イメージ バージョンの提供は 1 つのリージョンに限定するようにします。 この方法は、ストレージ コストを節約するのに役立ちます。
作成時点後、リソースのレプリケート先のリージョンを更新できます。 他のリージョンへのレプリケーションにかかる時間は、コピーするデータの量と、バージョンがレプリケートされるリージョンの数によって異なります。 場合によっては、このプロセスに 2 ~ 3 時間かかることがあります。
レプリケーションの実行中は、リージョンごとの状態を表示できます。 リージョンでイメージのレプリケーションが完了すると、以降はリージョン内でそのリソースを使うことにより、VM またはスケール セットをデプロイできます。
Azure Compute Gallery イメージのトラステッド起動検証 (プレビュー)
Azure Compute Gallery イメージのトラステッド起動検証は現在プレビュー段階です。 このプレビューは、テスト、評価、フィードバックのみを目的としています。 運用環境のワークロード用にはお勧めしません。
プレビューに登録すると、追加の使用条件に同意したことになります。 この機能の一部の側面は、一般公開前に変更される可能性があります。
変更点
API 2025-03-03 以降、すべての新しい Compute Gallery イメージ定義の既定値は次のとおりです。
-
hyperVGeneration:V2 -
SecurityType:TrustedLaunchSupported
トラステッドローンチの検証方法
Compute Gallery イメージ定義で TrustedLaunchSupported または TrustedLaunchandConfidentialVMSupported を指定すると、プラットフォームはイメージがトラステッド起動に対応していることを自動的に検証します。 プラットフォームは、検証結果をイメージ バージョン プロパティに追加します。 このアクションにより、検証が成功した場合に、これらのイメージを使用する VM とスケール セットのデプロイが既定でトラステッド起動に設定されるようになります。
プレビューを有効にする方法
Compute Gallery イメージのトラステッド起動の検証を試すには、次の手順を実行します。
- トラステッド起動に既定の機能に登録します。
- トラステッド起動検証プレビューに登録します。
2 つの機能を有効にした後、Compute Gallery イメージ バージョンを使用し、トラステッド起動に対して正常に検証されるすべての新しい VM とスケール セットのデプロイは、既定でトラステッド起動セキュリティの種類に設定されます。
Azure Compute Gallery イメージからの VM デプロイ
次のセクションでは、トラステッド起動の検証に応じて、Compute Gallery イメージからの VM デプロイの現在と新しい動作を比較します。
トラステッドローンチ検証を使用しない現在の動作
Compute Gallery 用のトラステッド起動がサポートされている Gen2 OS イメージ定義を作成するには、デプロイに次の features 要素を追加する必要があります。
"features": [
{
"name": "SecurityType",
"value": "TrustedLaunchSupported"
}
],
"hyperVGeneration": "V2"
信頼された起動検証を使用した新しい動作
TrustedLaunchSupported は、デプロイが次のいずれかの条件を満たしている場合、新しい Compute Gallery イメージ定義で既定で有効になります。
-
Microsoft.Compute/galleriesリソースに対する API バージョン 2025-03-03 以降の使用 -
SecurityType機能がない -
null機能のSecurityType値
さらに、Azure プラットフォームは OS イメージの検証をトリガーして、トラステッド起動機能を確実にサポートします。 検証には少なくとも 1 時間かかります。 結果はイメージ バージョン プロパティとして使用できます。
"validationsProfile": {
"executedValidations": [
{
"type": "TrustedLaunch",
"status": "Succeeded",
"version": "0.0.2",
"executionTime": "2025-07-10T21:27:33.0113984+00:00"
}
],
}
StandardのSecurityTypeの値としてfeaturesを設定することで、新しい Compute Gallery イメージ定義の既定値を明示的にバイパスすることができます。
"features": [
{
"name": "SecurityType",
"value": "Standard"
}
],
"hyperVGeneration": "V2"
共有
Azure Compute Gallery でイメージを共有する主な方法は、共有するユーザーに応じて 3 つあります。
| 共有相手: | 人々 | グループ | サービス プリンシパル | 特定のサブスクリプションまたはテナント内のすべてのユーザー | Azure のすべてのユーザーと公に |
|---|---|---|---|---|---|
| ロールベースのアクセス制御 (RBAC) 共有 | はい | はい | はい | いいえ | いいえ |
| RBAC + ダイレクト共有ギャラリー | はい | はい | はい | はい | いいえ |
| RBAC + コミュニティ ギャラリー | はい | はい | はい | いいえ | はい |
注記
イメージに対する読み取りアクセス許可を持つイメージを使用して、仮想マシンとディスクをデプロイできます。
直接共有ギャラリーを使用すると、イメージはサブスクリプションまたはテナント内のすべてのユーザーに広く配布されます。 コミュニティ ギャラリーは、画像を公開します。 知的財産を含む画像を共有する場合は、広く配布されないように注意してください。
RBAC
ギャラリー、定義、バージョンはすべてリソースであるため、組み込みの Azure RBAC ロールを使用して共有できます。 Azure RBAC ロールを使用することにより、他のユーザー、サービス プリンシパル、グループなどに、これらのリソースを共有できます。 リソースを作成したテナントの外部の個人とアクセス権を共有することもできます。
ユーザーがリソースのバージョンへのアクセス権を取得した後、それを使用して VM または仮想マシン スケール セットをデプロイできます。 ユーザーがアクセスできる内容を理解するのに役立つ共有マトリックスを次に示します。
| ユーザーとの共有 | コンピューティング ギャラリー | イメージ定義 | イメージ バージョン |
|---|---|---|---|
| コンピューティング ギャラリー | はい | はい | はい |
| イメージ定義 | いいえ | はい | はい |
最良のエクスペリエンスのために、ギャラリー レベルで共有することをお勧めします。 個別のイメージ バージョンの共有はお勧めできません。 Azure RBAC の詳細については、「RBAC を使用した Azure ロールと共有の割り当て」を参照してください。
テナントまたはサブスクリプションと直接共有する
特定のサブスクリプションまたはテナントに直接共有ギャラリーへのアクセス権を付与できます。 テナントおよびサブスクリプションとギャラリーを共有することで、テナントおよびサブスクリプションによるギャラリーへの読み取り専用アクセスが可能になります。 詳細については、「サブスクリプションまたはテナント内のすべてのユーザーとギャラリーを共有する」を参照してください。
重要な考慮事項
直接共有ギャラリーの機能は現在プレビュー段階であり、 Azure コンピューティング ギャラリーのプレビュー条件に従います。
プレビュー期間中にイメージを直接共有ギャラリーに発行するには、プレビューに 登録する必要があります。 直接共有ギャラリーからの VM の作成は、すべての Azure ユーザーに開放されています。
プレビュー中は、
sharingProfile.permissionsプロパティ をGroupsに設定して、新しいギャラリーを作成する必要があります。 Azure CLI を使用してギャラリーを作成する場合は、--permissions groupsパラメーターを使用します。 既存のギャラリーを使用することはできません。プロパティは現在更新できません。現在、別のテナントによって共有されたイメージから Flexible 仮想マシン スケール セットを作成することはできません。
制限事項
プレビュー期間中:
共有できる相手は、同じくプレビュー段階であるサブスクリプションのみです。
最大 30 個のサブスクリプションと 5 つのテナントを共有できます。
直接共有ギャラリーに暗号化されたイメージ バージョンを含めることはできません。
サブスクリプションの所有者、またはサブスクリプションまたはギャラリー レベルでコンピューティング ギャラリー共有管理者ロールに割り当てられているユーザーまたはサービス プリンシパルのみが、グループベースの共有を有効にすることができます。
コミュニティ ギャラリー
ギャラリーをすべての Azure ユーザーと共有するには、コミュニティ ギャラリー を作成できます。 Azure サブスクリプションを持っているユーザーは誰でもコミュニティ ギャラリーを使用できます。 VM を作成するユーザーは、Azure portal、REST API、または Azure CLI を使用して、コミュニティと共有されているイメージを参照できます。 コミュニティへのイメージの共有は、Compute Gallery の新機能です。
イメージ ギャラリーをパブリックにして、Azure の顧客と共有することができます。 ギャラリーがコミュニティ ギャラリーとしてマークされると、そのギャラリー内のすべてのイメージが、 Microsoft.Compute/communityGalleriesの新しいリソースの種類としてすべての Azure ユーザーが使用できるようになります。 Azure のお客様はギャラリーを表示し、それらを使用して VM を作成できます。
Microsoft.Compute/galleriesの種類の元のリソースは、依然としてサブスクリプション経由でアクセス可能なプライベート状態にあります。
詳細については、「コミュニティ ギャラリーを使用してイメージを共有する」を参照してください。
アクティビティ ログ
アクティビティ ログには、ギャラリー、イメージ、またはバージョンの最近のアクティビティが表示されます。 この情報には、構成の変更と、アイテムが作成および削除された日時が含まれます。
Azure portal でアクティビティ ログを表示するか、Log Analytics ワークスペースにログを送信する診断設定を作成できます。 ワークスペースでは、経時的にイベントを表示したり、他の収集されたデータと共にイベントを分析したりできます。
次の表に、アクティビティ ログでのギャラリー操作に関連する操作のいくつかの例を示します。 使用可能なログ エントリの完全な一覧については、Microsoft.Compute リソース プロバイダー オプションに関する記事を参照してください。
| 操作 | 説明 |
|---|---|
Microsoft.Compute/galleries/write |
新しいギャラリーを作成するか、既存のギャラリーを更新します |
Microsoft.Compute/galleries/delete |
ギャラリーを削除します |
Microsoft.Compute/galleries/share/action |
ギャラリーを別のスコープに共有します |
Microsoft.Compute/galleries/images/read |
ギャラリー イメージのプロパティを取得します |
Microsoft.Compute/galleries/images/write |
新しいギャラリー イメージを作成するか、既存のギャラリー イメージを更新します |
Microsoft.Compute/galleries/images/versions/read |
ギャラリー イメージ バージョンのプロパティを取得します |
請求
Azure Compute Gallery サービスを使用するための追加料金はかかりません。 ただし、次のリソースに対して課金されます。
- 各レプリカのストレージ コスト。 イメージの場合、ストレージ コストはスナップショットとして課金されます。 これは、イメージ バージョンの占有サイズ、イメージ バージョンのレプリカの数、およびバージョンがレプリケートされるリージョンの数に基づいています。
- ソース リージョンからレプリケート先のリージョンに最初のリソース バージョンをレプリケートするための、ネットワーク エグレスの料金。 後続のレプリカはリージョン内で処理されるので、追加料金は発生しません。
たとえば、次のようにします:
- 10 GB のストレージのみを占有する 127 GB の OS ディスクのイメージがあり、空の 32 GB データ ディスクが 1 つ存在します。 各イメージの占有サイズは 10 GB のみです。
- イメージは 3 つのリージョンにレプリケートされ、各リージョンには 2 つのレプリカがあります。 合計 6 つのスナップショットがあり、それぞれ 10 GB を使用します。
この例では、10 GB の占有サイズに基づいて、各スナップショットのストレージ コストに対して課金されます。 最初のレプリカが追加の 2 つのリージョンにコピーされるまでのネットワーク エグレス料金が課金されます。
各リージョンのスナップショットの価格の詳細については、「Managed Disks の価格」を参照してください。 ネットワーク エグレスの詳細については、「帯域幅の料金詳細」を参照してください。
ベスト プラクティス
イメージが誤って削除されないようにするには、ギャラリー レベルでリソース ロックを使用します。 詳細については、「 Azure リソースをロックしてインフラストラクチャを保護する」を参照してください。
高可用性のために使用可能な場所であれば、ZRS を使用します。 イメージまたは VM アプリケーションのバージョンを作成するときに、レプリケーション タブで ZRS を構成できます。 ZRS をサポートするリージョンの詳細については、「Azure リージョンの一覧」を参照してください。
運用イメージのレプリカは、少なくとも 3 つ保持してください。 同時に作成する VM 20 個ごとに、1 つのレプリカを保持することをお勧めします。
たとえば、1,000 個の VM を同時に作成する場合は、50 個のレプリカを保持する必要があります。 (リージョンあたり最大 50 個のレプリカを使用できます)。レプリカ数を更新するには、ギャラリーに移動し、[イメージ定義]>[イメージ バージョン]>[レプリケーションの更新] を選択します。
運用イメージとテスト イメージ用に個別のギャラリーを維持します。 両方のイメージの種類を 1 つのギャラリーに配置しないでください。
ディザスター リカバリー シナリオの場合は、少なくとも 2 つのギャラリーを別々のリージョンに配置します。 他のリージョンでもイメージ バージョンを使用できますが、1 つのギャラリーが存在するリージョンがダウンした場合は、新しいギャラリー リソースを作成したり、既存のギャラリー リソースを更新したりすることはできません。
イメージ定義を作成するときは、パブリッシャー、オファー、およびSKU の値を Azure Marketplace イメージと一貫させて、OS のバージョンを簡単に識別できるようにします。
たとえば、Azure Marketplace から Windows Server 2019 イメージをカスタマイズし、それをコンピューティング ギャラリー イメージとして保存する場合は、Azure Marketplace イメージで使用したのと同じ パブリッシャー、 オファー、 SKU の値を使用します。
VM またはスケール セットの作成中に特定のイメージ バージョンを除外する場合は、イメージを発行するときに
excludeFromLatestを使用します。 「ギャラリー イメージ バージョン - 作成または更新」を参照してください。特定のリージョンのバージョンを除外する場合は、グローバル
regionalExcludeFromLatestの代わりにexcludeFromLatestを使用します。 グローバル フラグとリージョンexcludeFromLatestフラグの両方を設定できますが、リージョン フラグが優先されます。"publishingProfile": { "targetRegions": [ { "name": "brazilsouth", "regionalReplicaCount": 1, "regionalExcludeFromLatest": false, "storageAccountType": "Standard_LRS" }, { "name": "canadacentral", "regionalReplicaCount": 1, "regionalExcludeFromLatest": true, "storageAccountType": "Standard_LRS" } ], "replicaCount": 1, "excludeFromLatest": true, "storageAccountType": "Standard_LRS" }レプリケートされたリージョンが誤って削除されるのを防ぎ、停止を防ぐには、イメージ バージョンで
safetyProfile.allowDeletionOfReplicatedLocationsをfalseに設定します。 このプロパティは、Azure CLI でallow-replicated-location-deletionを使用して設定することもできます。{ "properties": { "publishingProfile": { "targetRegions": [ { "name": "West US", "regionalReplicaCount": 1, "storageAccountType": "Standard_LRS", // encryption info } ], "replicaCount": 1, "publishedDate": "2018-01-01T00:00:00Z", "storageAccountType": "Standard_LRS" }, "storageProfile": { "source": { "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}" }, }, "safetyProfile": { "allowDeletionOfReplicatedLocations" : false }, }, "location": "West US", "name": "1.0.0" }サポート終了日より前のイメージの削除をブロックするには、
BlockDeletionBeforeEndOfLifeを設定します。 この機能は、誤って削除されないように保護するのに役立ちます。blockdeletionbeforeendoflife(REST API で) を使用して設定します。
SDK のサポート
次の SDK では、ギャラリーの作成がサポートされています。
テンプレート
Azure Compute Gallery リソースは、クイックスタート テンプレート テンプレートを使用して作成できます。