Share via


Azure VM Image Builder의 새로운 기능

적용 대상: ✔️ Linux VM ✔️ Windows VM ✔️ 유연한 확장 집합 ✔️ 균일한 확장 집합

이 문서에는 Azure VM Image Builder(AIB) 서비스에 대한 모든 주요 API 변경 내용 및 기능 업데이트가 포함되어 있습니다.

업데이트

2024년 5월

호환성이 손상되는 변경: 대/소문자 구분

2024년 5월 21일부터 Azure VM Image Builder의 API 버전 2024-02-01 이상에서는 모든 필드에 대/소문자 구분을 적용합니다. 즉, API 요청에 포함된 문자의 대/소문자가 예상 형식과 정확히 일치해야 합니다.

기존 Azure Image Builder 사용자를 위한 중요 참고 사항

Azure VM Image Builder의 기존 사용자인 경우 이 변경 내용이 기존 리소스에 영향을 미치지 않습니다. 대/소문자 구분 적용은 API 버전 2024-02-01 이상을 사용하여 새로 생성된 리소스에만 적용됩니다. 기존 리소스는 변경 없이 예상대로 계속 작동합니다.

대/소문자 구분과 관련된 문제가 발생하는 경우 Azure Image Builder의 업데이트된 API 설명서에서 지침을 참조하세요.

이전에는 Azure Image Builder의 API가 사례에 따라 좀 더 관대했지만 앞으로는 정확성이 매우 중요합니다. API를 호출할 때 필드 이름, 매개 변수 및 값의 대/소문자를 정확히 구분해 사용해야 합니다. 예를 들어 필드 이름이 “vmBoot”인 경우 반드시 “vmBoot”(“VMBoot” 또는 “vmboot” 불가)를 입력해야 합니다.

잘못된 대/소문자 또는 인식할 수 없는 필드를 사용하여 Azure 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 Image Builder Bicep 또는 ARM 템플릿 JSON 템플릿을 만드세요.

API 호출에 대한 Azure Image Builder의 Swagger 참조

Azure Image Builder 서비스를 호출할 때 항상 Swagger 설명서를 참조하세요. 이 설명서는 Azure Image Builder의 API 사양에 대한 확실한 소스 역할을 합니다. API 릴리스에 앞서 공개 설명서가 올바른 대문자와 필드 이름을 포함하도록 업데이트된 반면, Swagger 정의에는 서비스를 올바르게 호출할 수 있도록 각 AIB API에 대한 정확한 세부 정보가 포함되어 있습니다.

다음은 API 버전 2024-02-01의 필드 이름과 일치하도록 변경된 문서 목록입니다.

Azure Image Builder Bicep 또는 ARM 템플릿 JSON 템플릿 만들기 설명서 내:

업데이트된 필드:

  • vmboot에 대한 여러 멘션을 vmBoot(으)로 대체
  • imageVersionID에 대한 하나의 멘션을 imageVersionId(으)로 대체

제거된 필드:

  • apiVersion: 이 필드가 API에 명시적으로 지정되지 않았으므로 요청에 이 필드가 포함되지 않도록 하는 것이 좋습니다. 따라서 JSON 템플릿에 포함하면 이미지 빌드에 오류가 생길 수 있습니다.

Azure VM Image Builder 네트워킹 옵션 설명서 내:

업데이트된 필드:

  • VirtualNetworkConfig에 대한 하나의 멘션을 vnetConfig(으)로 대체

제거된 필드:

  • vnetConfig 속성의 subnetName - 이 필드는 더 이상 사용되지 않으며 새 필드는 subnetId
  • vnetConfig 속성의 resourceGroupName - 이 필드는 더 이상 사용되지 않으며 새 필드는 subnetId

이전 Azure Image Builder API 버전에 고정하는 방법

이전 API 버전에 고정에 대한 중요한 고려 사항

이전 Azure Image Builder API 버전에 고정하면 기존 템플릿과의 호환성이 제공되나 다음 요인으로 인해 권장되지 않습니다.

  • 사용 중단 위험: 이전 API 버전은 결국 완전히 사용 중단될 수 있습니다.

  • 누락된 기능: 이전 API 버전에 고정하면 최신 버전에 도입된 최신 기능과 향상된 기능을 놓칠 수 있습니다. 이러한 향상된 기능은 종종 성능, 보안 및 기능을 향상시킵니다.

새로운 대/소문자 구분 규칙으로 인해 이미지 템플릿의 속성을 변경하지 않으려면 Azure VM Image Builder API 호출을 이전 API 버전에 고정하는 옵션을 사용할 수 있습니다. 이렇게 하면 수정 없이 익숙한 동작으로 계속 사용할 수 있습니다.

기존 템플릿과의 호환성을 보장하려면 이미지 템플릿을 만들거나 업데이트할 때 서비스 호출에 api-version 매개 변수를 포함하여 원하는 API 버전(예: api-version=2022-07-01)을 지정합니다. 예시:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VirtualMachineImages/imageTemplates/{imageTemplateName}?api-version=2022-07-01