適用対象: ✔️ Linux VM ✔️ Windows VM ✔️ フレキシブル スケール セット ✔️ 均一スケール セット
この記事には、Azure VM Image Builder サービスに関するすべての主要な API 変更と機能更新プログラムが含まれています。
更新プログラム
2024 年 9 月
トリガーによるイメージの自動作成は、イメージ テンプレートのビルドが連続して複数回失敗した場合に非アクティブ化されます。 この非アクティブ化により、不要なビルド エラーが回避されます。
イメージ テンプレートは引き続き手動でビルドできます。 手動ビルドが成功すると、自動トリガーが再アクティブ化されます。
この動作は、イメージ テンプレート リソースに使用する API バージョンに関係なく同じです。
2024 年 5 月
破壊的変更: 大文字と小文字の区別
2024 年 5 月 21 日の時点で、VM Image Builder API バージョン 2024-02-01 以降では、すべてのフィールドに大文字と小文字の区別が適用されます。 API 要求での文字の大文字化は、想定される形式と正確に一致する必要があります。
重要
VM イメージ ビルダーの既存のユーザーである場合、この変更は既存のリソースには影響 しません 。 大文字と小文字の区別の適用は、API バージョン 2024-02-01 以降を使用する新しく作成されたリソースにのみ適用されます。 既存のリソースは、変更なしで引き続き期待どおりに機能します。
大文字小文字の識別に関連する問題が発生した場合は、更新されたVM Image Builder APIのドキュメントを確認してください。
以前は、VM Image Builder API は、ケースに関してより寛容でした。 今後は精度が重要です。 API 呼び出しを行うときは、フィールド名、パラメーター、および値に正しい大文字を使用してください。 たとえば、フィールドの名前が vmBoot の場合は、(vmBootやVMBootではなく) vmbootを使用する必要があります。
不適切なケースまたは認識されないフィールドを使用して、VM Image Builder API バージョン 2024-02-01 以降に API 要求を送信すると、サービスによって拒否されます。 要求が無効であることを示すエラー応答が表示されます。 エラーは次の例のようになります。
Unmarshalling entity encountered error: unmarshalling type *v2024_02_01.ImageTemplate: struct field Properties: unmarshalling type *v2024_02_01.ImageTemplateProperties: struct field Optimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize: unmarshalling type *v2024_02_01.ImageTemplatePropertiesOptimize, unknown field \"vmboot\". There is an issue with the syntax with the JSON template you are submitting. Please check the JSON template for syntax and grammar. For more information on the syntax and grammar of the JSON template, visit http://aka.ms/azvmimagebuildertmplref.
"不明なフィールド" というエラー メッセージが表示され、公式ドキュメント 「 Azure VM Image Builder Bicep または Azure Resource Manager JSON テンプレートを作成する」に移動します。
注
VM Image Builder サービスに対して API 呼び出しを行う場合は、常に Swagger のドキュメントを参照してください。 このドキュメントは、VM Image Builder API 仕様の信頼できる情報源として機能します。 パブリック ドキュメントは、API リリースの前に適切な大文字とフィールド名を含むように更新されましたが、Swagger 定義には各 VM Image Builder API に関する正確な詳細が含まれています。 これらの詳細は、サービスを正しく呼び出す際に役立ちます。
次のドキュメントは、API バージョン 2024-02-01 のフィールド名と一致するように変更されました。
Create an Azure VM Image Builder Bicep または Azure Resource Manager JSON テンプレートのドキュメントには、この操作に関する詳細が記載されています。
更新されたフィールド:
-
vmbootのいくつかのメンションをvmBootに置き換えた。 -
imageVersionIDの 1 つのメンションをimageVersionIdに置き換えた。
-
フィールドが削除されました:
-
apiVersion: このフィールドは API で明示的に指定されていないため、要求にこのフィールドを含めないようにすることをお勧めします。 JSON テンプレートに含めると、イメージ ビルドでエラーが発生する可能性があります。
-
「Azure VM Image Builder のネットワーク オプション」ドキュメント内では次のとおりです。
更新されたフィールド:
-
VirtualNetworkConfigの 1 つのメンションをvnetConfigに置き換えた。
-
削除されたフィールド:
-
subnetNamevnetConfigプロパティ: このフィールドは非推奨です。 新しいフィールドがsubnetId。 -
resourceGroupNamevnetConfigプロパティ: このフィールドは非推奨です。 新しいフィールドがsubnetId。
-
以前の VM Image Builder API バージョンへのピン留め
新しい大文字と小文字を区別する規則のためにイメージ テンプレートのプロパティを変更しないようにする場合は、Azure VM Image Builder API 呼び出しを以前の API バージョンにピン留めするオプションがあります。 このピン留めにより、使い慣れた動作を変更せずに引き続き使用できます。
重要
古い VM Image Builder API バージョンにピン留めすると、既存のテンプレートとの互換性が得られますが、次の要因により推奨されません。
- 古い API バージョンは、最終的に非推奨になる可能性があります。
- 古い API バージョンにピン留めすることで、新しいバージョンで導入された最新の機能と機能強化が見逃されます。 これらの機能強化により、多くの場合、パフォーマンス、セキュリティ、および機能が向上します。
イメージ テンプレートの作成時または更新時に既存のテンプレートとの互換性を確保するには、サービスの呼び出しに api-version パラメーターを含めることで、目的の API バージョンを指定します。 例えば次が挙げられます。
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01
コードのテスト
古い API バージョンにピン留めした後、コードをテストして、想定どおりに動作することを確認します。 既存のテンプレートが引き続き正しく機能することを確認します。
2023 年 11 月
VM Image Builder では、Azure Container Instances 経由の分離イメージ ビルドを段階的に有効にしています。 ロールアウトは 2024 年初めまでに完了する予定です。 既存のイメージ テンプレートは引き続き機能し、新しいイメージ テンプレートを作成またはビルドする方法に変更はありません。
ステージング リソース グループに一時的に表示される一時的な Azure リソースの異なるセットが観察される場合があります。 実際のビルドや VM イメージ ビルダーとの対話方法には影響しません。 詳しくは、Isolated Image Builds に関する記事をご覧ください。
分離イメージ ビルドを使用するには、次の点を確認します。
- サブスクリプションは、
Microsoft.ContainerInstanceプロバイダーに登録されています。 - Azure Container Instances リソースのデプロイをブロックするポリシーはありません。
- クォータは、Azure Container Instances リソースで使用できます。
2023 年 4 月
VM イメージ ビルダー用の新しいポータル機能が追加されました。 Azure portal で イメージ テンプレート を検索し、[ 作成] を選択します。 このテンプレート構成を使用して、ポータル内でのカスタム イメージの構築と検証を開始することもできます。
API リリース
バージョン 2024-02-01
改善点
新しい
autoRunプロパティを使用して、テンプレートの作成または更新時にイメージ ビルドを実行できます。 詳細については、「プロパティ:autoRun」を参照してください。新しい
managedResourceTagsプロパティを使用して、イメージのビルド中に VM Image Builder サービスがステージング リソース グループに作成するリソースにタグを適用できます。 詳細については、「プロパティ:managedResourceTags」を参照してください。新しい
containerInstanceSubnetIdプロパティを使用して、分離イメージ ビルド用に Azure Container Instances をデプロイするサブネットを指定できます。 このフィールドは、subnetIdを指定する場合にのみ指定できます。 このフィールドは、subnetIdで指定されたサブネットと同じ仮想ネットワーク上にある必要があります。 詳細については、「 独自のビルド VM サブネットを持ち込み、独自の Container Instances サブネットを持ち込む」を参照してください。このバージョンでは、次のフィールドを含む、
vmProfileプロパティの更新のサポートが追加されています。vmSizeosDiskSizeGBuserAssignedIdentitiesvnetConfigsubnetIdcontainerInstanceSubnetId
vmProfileプロパティの詳細については、vmProfile を参照してください。
変遷
API バージョン 2024-02-01 では、すべてのフィールドに大文字と小文字の区別を適用する破壊的変更が導入されています。 API 要求での文字の大文字化は、想定される形式と正確に一致する必要があります。 VM Image Builder API バージョン 2024-02-01 以降に不適切なケースまたは認識されないフィールドを含む API 要求を送信すると、サービスによって拒否されます。 要求が無効であることを示すエラー応答が表示されます。 詳細については、この記事の「破壊的変更: 大文字と小文字の区別」を参照してください。
バージョン 2023-07-01
変遷
新しい errorHandling プロパティを使用すると、イメージの構築プロセス中にエラーがどのように処理されるかをより詳細に制御できます。 詳細については、「 errorHandling」を参照してください。
バージョン 2022-07-01
改善点
- このバージョンでは、Azure Compute Gallery に格納されている最新のイメージ バージョンをイメージ テンプレートのソースとして使用するためのサポートが追加されています。
- このバージョンでは、イメージ配布のバージョン番号の生成をサポートする
versioningが追加されます。 詳細については、「プロパティ:versioning」を参照してください。 - このバージョンでは、Azure コンピューティング ギャラリーに配布するときに、リージョンごとの構成のサポートが追加されます。 詳細については、「配布: targetRegions」を参照してください。
- このバージョンでは、新しい
File検証の種類が追加されます。 詳細については、「プロパティ:validate」を参照してください。 - 仮想ハード ディスク (VHD) をカスタム ストレージ アカウント内のカスタム BLOB またはコンテナーに配布できるようになりました。 詳細については、「 配布: VHD」を参照してください。
- このバージョンでは、イメージ テンプレートのソースとして 直接共有ギャラリー イメージを使用するためのサポートが追加されています。
変遷
-
replicationRegionsは、ギャラリー ディストリビューションでは非推奨になりました。 代わりにgallery-replication-regionsを使用してください。 - これで、VHD をカスタム ストレージ アカウント内のカスタム BLOB またはコンテナーに配布できるようになりました。
- このバージョンでは、
targetRegions配列が追加されます。これは、ディストリビューションのSharedImage型にのみ適用されます。targetRegionsの詳細については、「Azure コンピューティング ギャラリーでのリソースの格納と共有」を参照してください。 - このバージョンでは、イメージ テンプレートのソースとして 直接共有ギャラリー イメージを使用するためのサポートが追加されています。 直接共有ギャラリーは現在プレビュー段階です。
- トリガーをプレビューで使用して、自動イメージ ビルドを設定できるようになりました。 詳細については、「 Azure VM Image Builder トリガーを使用してイメージの自動作成を有効にする方法」を参照してください。
バージョン 2022-02-14
改善点
-
検証のサポート
- Shell (Linux): スクリプトまたはインライン
- PowerShell (Windows): スクリプトまたはインライン、管理者特権で実行、システムとして実行
- ソース検証専用モード
- ステージング リソース グループのカスタマイズされたサポート
バージョン 2021-10-01
重大な変更
API バージョン 2021-10-01 では、今後のすべての API リリースに含まれるエラー スキーマが変更されています。 Azure VM Image Builder の自動化がある場合は、API バージョン 2021-10-01 以降に切り替えるとき、新しいエラー出力に注意してください。
最新の API バージョンに切り替えた後は、以前のバージョンに戻さないようにすることをお勧めします。 元に戻す場合は、以前のエラー スキーマを生成するためにオートメーションをもう一度変更する必要があります。 今後のリリースでは、エラー スキーマが再び変更される予定はありません。
バージョン 2020-02-14 以前のエラー出力
{
"code": "ValidationFailed",
"message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template."
}
バージョン 2021-10-01 以降のエラー出力
{
"error": {
"code": "ValidationFailed",
"message": "Validation failed: 'ImageTemplate.properties.source': Field 'imageId' has a bad value: '/subscriptions/subscriptionID/resourceGroups/resourceGroupName/providers/Microsoft.Compute/images/imageName'. Please review http://aka.ms/azvmimagebuildertmplref for details on fields requirements in the Image Builder Template."
}
}
改善点
- ビルド VM のマネージド ID のサポートを追加しました。
- プロキシ VM サイズのカスタマイズのサポートを追加しました。
バージョン 2020-02-14
改善点
- 次のソースからイメージを作成するためのサポートが追加されました。
- マネージド イメージ
- Azure Compute Gallery
- プラットフォーム イメージ リポジトリ (プラットフォーム イメージ購入プランを含む)
- 次のカスタマイズのサポートが追加されました。
- Shell (Linux): スクリプトまたはインライン
- PowerShell (Windows): スクリプトまたはインライン、管理者特権で実行、システムとして実行
- ファイル (Linux と Windows)
- Windows の再起動 (Windows)
- Windows Update (Windows): 検索基準、フィルター、更新上限
- 次のディストリビューション タイプのサポートが追加されました。
- VHD
- マネージド イメージ
- Azure Compute Gallery
- お客様が独自の仮想ネットワークを使用するためのサポートを追加しました。
- ビルド VM (VM サイズ、オペレーティング システム のディスク サイズ) をカスタマイズするためのサポートが追加されました。
- ユーザー割り当てマネージド ID のサポートが追加されました (カスタマイズ/配布手順用)。
- 第 2 世代イメージのサポートを追加しました。
プレビュー API
次の API は非推奨ですが、引き続きサポートされています。
- バージョン 2019-05-01-プレビュー