Novidades do Azure VM Image Builder

Aplica-se a: ✔️ VMs ✔️ Linux VMs ✔️ do Windows Conjuntos ✔️ de escala flexíveis Conjuntos de balanças uniformes

Este artigo contém todas as principais alterações de API e atualizações de recursos para o serviço Azure VM Image Builder (AIB).

Atualizações

Setembro de 2024

A criação automática de imagens por meio de gatilhos será desativada se a compilação do modelo de imagem tiver falhado várias vezes consecutivas, a fim de evitar falhas de compilação desnecessárias.

Você ainda pode criar manualmente o modelo de imagem. Quando uma compilação manual for bem-sucedida, os gatilhos automáticos serão reativados.

Observe que esse comportamento é o mesmo, independentemente da versão da API usada para o recurso de modelo de imagem.

maio de 2024

Quebrando a mudança: sensibilidade a maiúsculas e minúsculas

A partir de 21 de maio de 2024, a API do Azure VM Image Builder versão 2024-02-01 e posterior imporá a diferenciação de maiúsculas e minúsculas para todos os campos. Isso significa que o uso de maiúsculas/minúsculas das letras nos seus pedidos de API deve corresponder exatamente ao formato esperado.

Importante

Observação importante para usuários existentes do Azure Image Builder

Se você for um usuário existente do Azure VM Image Builder, tenha certeza de que essa alteração não afetará seus recursos existentes. A imposição de diferenciação de maiúsculas e minúsculas aplica-se apenas a recursos recém-criados usando a versão da API 2024-02-01 e posterior. Os recursos existentes continuarão a funcionar conforme o esperado, sem alterações.

Se você encontrar algum problema relacionado à diferenciação de maiúsculas e minúsculas, consulte a documentação atualizada da API do Azure Image Builder para obter orientações.

Anteriormente, a API do Azure Image Builder era mais tolerante em termos de casos, mas no futuro, a precisão é crucial. Ao fazer chamadas de API, certifique-se de usar a maiúscula correta para nomes de campos, parâmetros e valores. Por exemplo, se um campo for chamado "vmBoot", você deverá usar "vmBoot" (não "VMBoot" ou "vmboot").

Se você enviar uma solicitação de API para a API do Azure Image Builder versão 2024-02-01 e posterior com maiúsculas e minúsculas incorretas ou campos não reconhecidos, o serviço a rejeitará. Você receberá uma resposta de erro indicando que a solicitação é inválida. O erro terá a seguinte aparência:

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.

A mensagem de erro mencionará um "campo desconhecido" e direcionará você para a documentação oficial: Criar um modelo JSON do Azure Image Builder Bicep ou ARM.

Nota

Referenciar o Swagger do Azure Image Builder para chamadas de API

Ao fazer chamadas para o serviço Azure Image Builder, sempre faça referência à documentação do Swagger, que serve como a fonte definitiva de verdade para as especificações de API do Azure Image Builder. Embora a documentação pública tenha sido atualizada para incluir a capitalização adequada e os nomes de campo antes do lançamento da API, a definição do Swagger contém detalhes precisos sobre cada API AIB para garantir que você esteja fazendo chamadas para o serviço corretamente.

Abaixo está uma lista das alterações na documentação que foram feitas para corresponder aos nomes de campo na versão da API 2024-02-01:

Na documentação Criar um modelo JSON do Azure Image Builder Bicep ou ARM:

Campos Atualizados:

  • Substituídas várias menções de vmboot por vmBoot
  • Substituída uma menção de imageVersionID por imageVersionId

Campo removido:

  • apiVersion: Recomendamos evitar a inclusão deste campo em suas solicitações porque ele não está explicitamente especificado em nossa API, portanto, incluí-lo em seu modelo JSON pode levar a erros na construção da imagem.

Na documentação de opções de rede do Azure VM Image Builder:

Campo Atualizado:

  • Substituída uma menção de VirtualNetworkConfig por vnetConfig

Campos removidos:

  • subnetNamevnetConfig na propriedade – este campo foi preterido e o novo campo ésubnetId
  • resourceGroupNamevnetConfig na propriedade – este campo foi preterido e o novo campo ésubnetId

Como fixar em uma versão mais antiga da API do Azure Image Builder

Consideração importante para fixar em versões mais antigas da API

Fixar em uma versão mais antiga da API do Azure Image Builder pode fornecer compatibilidade com seus modelos existentes, mas não é recomendado devido aos seguintes fatores:

  • Risco de descontinuação: versões mais antigas da API podem eventualmente ser preteridas.

  • Recursos ausentes: Ao fixar em uma versão mais antiga da API, você perde os recursos e melhorias mais recentes introduzidos em versões mais recentes. Esses aprimoramentos geralmente melhoram o desempenho, a segurança e a funcionalidade.

Se quiser evitar fazer alterações nas propriedades em seus modelos de imagem devido às novas regras de diferenciação de maiúsculas e minúsculas, você tem a opção de fixar suas chamadas de API do Construtor de Imagens de VM do Azure em uma versão anterior da API. Isso permite que você continue usando o comportamento familiar sem modificações.

Para garantir a compatibilidade com seus modelos existentes, ao criar ou atualizar um modelo de imagem, especifique a versão desejada da API (por exemplo, api-version=2022-07-01) incluindo o api-version parâmetro em sua chamada para o serviço. Exemplo:

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

Teste seu código

Depois de fixar na versão mais antiga da API, teste seu código para verificar se ele se comporta conforme o esperado. Certifique-se de que os modelos existentes continuam a funcionar corretamente.

Novembro de 2023

O Azure Image Builder está habilitando Compilações de Imagem Isoladas usando Instâncias de Contêiner do Azure de maneira faseada. Espera-se que a implantação seja concluída no início de 2024. Seus modelos de imagem existentes continuarão a funcionar e não haverá nenhuma alteração na maneira como você cria ou constrói novos modelos de imagem.

Você pode observar um conjunto diferente de recursos transitórios do Azure aparecer temporariamente no grupo de recursos de preparação, mas isso não afeta suas compilações reais ou a maneira como você interage com o Azure Image Builder. Para obter mais informações, consulte Compilações de imagens isoladas.

Importante

Verifique se sua assinatura está registrada para o provedor e se não há políticas que bloqueiem a Microsoft.ContainerInstance implantação de recursos de Instâncias de Contêiner do Azure. Verifique também se a cota está disponível para recursos de Instâncias de Contêiner do Azure.

Abril de 2023

Nova funcionalidade de portal foi adicionada para o Azure Image Builder. Pesquisar "Modelos de Imagem" no portal do Azure e clique em "Criar". Você também pode começar aqui com a criação e validação de imagens personalizadas dentro do portal.

Versões da API

Versão 2024-02-01

Melhorias

  • Nova autoRun propriedade que permite executar a construção da imagem na criação ou atualização do modelo. Para obter mais informações, consulte Propriedades: autoRun.
  • Nova managedResourceTags propriedade que permite aplicar marcas aos recursos que o serviço Azure Image Builder cria no grupo de recursos de preparo durante a compilação da imagem. Para obter mais informações, consulte Propriedades: managedResourceTags.
  • Nova containerInstanceSubnetId propriedade que permite especificar uma sub-rede na qual a Instância de Contêiner do Azure será implantada para Compilações Isoladas. Este campo só pode ser especificado se subnetId também for especificado e deve estar na mesma rede virtual que a sub-rede especificada em subnetId. Para obter mais informações, consulte Traga sua própria sub-rede Build VM e traga sua própria sub-rede ACI.
  • Adicionado suporte para atualizar a vmProfile propriedade, incluindo os seguintes campos:
    • vmSize
    • osDiskSizeGB
    • userAssignedIdentities
    • vnetConfig
      • subnetId
      • containerInstanceSubnetId Para obter mais informações sobre a vmProfile propriedade, consulte vmProfile.

A versão 2024-02-01 da API de alterações introduz uma alteração significativa que impõe a diferenciação de maiúsculas e minúsculas para todos os campos. Isso significa que o uso de maiúsculas/minúsculas das letras nos seus pedidos de API deve corresponder exatamente ao formato esperado. Se você enviar uma solicitação de API para a API do Azure Image Builder versão 2024-02-01 e posterior com maiúsculas e minúsculas incorretas ou campos não reconhecidos, o serviço a rejeitará. Você receberá uma resposta de erro indicando que a solicitação é inválida. Para obter mais informações, consulte Quebrando alterações: diferenciação de maiúsculas e minúsculas.

Versão 2023-07-01

Brevemente

Suporte para atualizar destinos de distribuição da Galeria de Computação do Azure.

Alterações

Imóvel novo errorHandling . Essa propriedade fornece aos usuários mais controle sobre como os erros são tratados durante o processo de criação da imagem. Para obter mais informações, consulte errorHandling

Versão 2022-07-01

Melhorias

  • Suporte adicionado para usar a versão de imagem mais recente armazenada na Galeria de Computação do Azure como a fonte para o modelo de imagem
  • Adicionado versioning para suportar a geração de números de versão para distribuições de imagem. Para obter mais informações, consulte Propriedades: controle de versão
  • Adicionado suporte para configuração por região ao distribuir para a Galeria de Computação do Azure. Para obter mais informações, consulte Distribute:targetRegions
  • Adicionado novo tipo de validação 'Arquivo'. Para obter mais informações, consulte validar propriedades
  • Os VHDs agora podem ser distribuídos para um blob ou contêiner personalizado em uma conta de armazenamento personalizada. Para obter mais informações, consulte Distribuir: VHD
  • Adicionado suporte para usar uma imagem da Galeria Compartilhada Direta como fonte para o modelo de imagem

Alterações

  • replicationRegions agora foi preterido para distribuições de galeria. Para obter mais informações, use gallery-replicated-regions
  • Os VHDs agora podem ser distribuídos para um blob ou contêiner personalizado em uma conta de armazenamento personalizada
  • targetRegions matriz adicionada e aplicada somente ao tipo "SharedImage" distribute. Para obter mais informações sobre targetRegionso , consulte Galeria de Computação do Azure
  • Adicionado suporte para usar uma imagem da Galeria Compartilhada Direta como fonte para o modelo de imagem. A Galeria Compartilhada Direta está atualmente em visualização.
  • Os gatilhos agora estão disponíveis na visualização pública para configurar compilações automáticas de imagens. Para obter mais informações, consulte Como usar gatilhos AIB

Versão 2022-02-14

Melhorias

Versão 2021-10-01

Quebrando a mudança

A versão da API 2021-10-01 introduz uma alteração no esquema de erro que fará parte de todas as versões futuras da API. Se você tiver qualquer automação do Construtor de Imagens de VM do Azure, esteja ciente da nova saída de erro quando alternar para a versão da API 2021-10-01 ou posterior. Recomendamos, depois de mudar para a versão mais recente da API, que você não reverta para uma versão anterior, porque você terá que alterar sua automação novamente para produzir o esquema de erro anterior. Não prevemos que alteraremos o esquema de erro novamente em versões futuras.

Saída de erro para a versão 2020-02-14 e anterior
{ 
  "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." 
} 
Saída de erro para a versão 2021-10-01 e posterior
{ 
  "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." 
  }
}

Melhorias

  • Adicionado suporte para Build VM MSIs.
  • Adicionado suporte para personalização do tamanho da VM de proxy.

Versão 2020-02-14

Melhorias

  • Adicionado suporte para a criação de imagens a partir das seguintes fontes:
    • Imagem gerenciada
    • Azure Compute Gallery
    • Repositório de imagens da plataforma (incluindo o plano de compra de imagens da plataforma)
  • Adicionado suporte para as seguintes personalizações:
    • Shell (Linux): Script ou inline
    • PowerShell (Windows): Script ou inline, executar elevado, executar como sistema
    • Arquivo (Linux e Windows)
    • Reiniciar o Windows (Windows)
    • Windows Update (Windows): critérios de pesquisa, filtros e limite de atualização
  • Adicionado suporte para os seguintes tipos de distribuição:
    • VHD (disco rígido virtual)
    • Imagem gerenciada
    • Azure Compute Gallery
  • Outras características:
    • Adicionado suporte para os clientes usarem sua própria rede virtual
    • Adicionado suporte para os clientes personalizarem a VM de compilação (tamanho da VM, tamanho do disco do sistema operacional)
    • Adicionado suporte para Microsoft Windows Installer (MSI) atribuído pelo usuário (para etapas de personalização/distribuição)
    • Adicionado suporte para imagens Gen2

APIs de visualização

As seguintes APIs foram preteridas, mas ainda são suportadas:

  • Versão 2019-05-01-preview

Próximos passos

Saiba mais sobre o VM Image Builder.