Novidades no Construtor de Imagens de VM do Azure
Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes
Este artigo contém todas as principais alterações de API e atualizações de recursos para o serviço do Construtor de Imagens de VM do Azure (AIB).
Atualizações
Setembro de 2024
A criação automática de imagem por meio de gatilhos será desativada se o build do modelo de imagem falhar várias vezes consecutivamente, a fim de evitar falhas de build desnecessárias.
Você ainda pode criar manualmente o modelo de imagem. Depois que um build manual for bem-sucedido, os gatilhos automáticos serão reativados.
Observe que esse comportamento é o mesmo, independentemente de qual versão da API você usa para o recurso de modelo de imagem.
Maio de 2024
Alteração interruptiva: Diferenciação de maiúsculas e minúsculas
A partir de 21 de maio de 2024, a API do Construtor de Imagens da VM do Azure versão 2024-02-01 e posterior imporá a confidencialidade de maiúsculas e minúsculas para todos os campos. Isso significa que a capitalização de letras em suas solicitações de API deve corresponder exatamente ao formato esperado.
Importante
Nota importante para usuários existentes do Construtor de Imagens do Azure
Se você for um usuário existente do Construtor de Imagens de VM do Azure, tenha certeza de que essa alteração nãoafetará seus recursos existentes. A imposição de confidencialidade de maiúsculas e minúsculas aplica-se apenas a recursos recém-criados usando API versão 2024-02-01 e além. Seus recursos existentes continuarão funcionando conforme o esperado sem nenhuma alteração.
Se você encontrar problemas relacionados à confidencialidade de caso, consulte a documentação atualizada da API do Construtor de Imagens do Azure para obter diretrizes.
Anteriormente, a API do Construtor de Imagens do Azure era mais tolerante em termos de caso, mas avançar, a precisão é crucial. Ao fazer chamadas à API, certifique-se de usar a capitalização correta para nomes de campo, 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 será semelhante a este:
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 modelo do Azure Image Builder ou do ARM.
Observação
Referenciar o Swagger do Construtor de Imagens do Azure para chamadas à API
Ao fazer chamadas para o serviço do Construtor de Imagens do Azure, sempre faça referência à documentação do Swagger, que serve como a fonte definitiva da verdade para as especificações da API do Construtor de Imagens do Azure. Embora a documentação pública tenha sido atualizada para incluir os nomes de capitalização e de campo adequados antes da versão 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.
Veja abaixo uma lista das alterações de documentação feitas para corresponder aos nomes de campo na API versão 2024-02-01:
Na documentação Criar um modelo JSON do Azure Image Builder Bicep ou ARM:
Campos atualizados:
- Substituiu várias menções de
vmboot
porvmBoot
- Substituiu uma menção de
imageVersionID
porimageVersionId
Campo Removido:
apiVersion
: é recomendável evitar a inclusão desse campo em suas solicitações porque ele não é especificado explicitamente em nossa API, portanto, incluí-lo em seu modelo JSON pode levar a erros no build de imagem.
Na documentação das opções de rede do Azure VM Image Builder:
Campo Atualizado:
- Substituiu uma menção de
VirtualNetworkConfig
porvnetConfig
Campos removidos:
subnetName
na propriedadevnetConfig
- este campo foi preterido e o novo campo ésubnetId
resourceGroupName
na propriedadevnetConfig
- este campo foi preterido e o novo campo ésubnetId
Como fixar em uma versão mais antiga da API do Construtor de Imagens do Azure
Consideração importante para fixar em versões de API mais antigas
Fixar a uma versão mais antiga da API do Construtor de Imagens do Azure pode fornecer compatibilidade com seus modelos existentes, mas isso não é recomendado devido aos seguintes fatores:
Risco de substituição: versões de API mais antigas podem eventualmente ser preteridas.
Recursos ausentes: ao fixar 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 você quiser evitar fazer alterações nas propriedades em seus modelos de imagem devido às novas regras de confidencialidade de caso, terá a opção de fixar as chamadas à API do Construtor de Imagens da VM do Azure para uma versão anterior da API. Isso permite que você continue usando o comportamento familiar sem nenhuma modificação.
Para garantir a compatibilidade com seus modelos existentes, ao criar ou atualizar um modelo de imagem, especifique a versão da API desejada (por exemplo, api-version=2022-07-01) incluindo o parâmetro api-version
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
Testar 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. Verifique se os modelos existentes continuam funcionando corretamente.
novembrod e 2023
O Construtor de Imagens do Azure está habilitando as Compilações de imagem isoladas usando Instâncias de Contêiner do Azure em fases. A distribuição deve ser concluída no início de 2024. Os modelos de imagem existentes continuarão funcionando e a maneira como você criará ou compilará novos modelos de imagem não será alterada.
Você pode observar que um conjunto diferente de recursos transitórios do Azure aparece temporariamente no grupo de recursos de preparo, mas isso não afeta seus builds reais ou a maneira como você interage com o Construtor de Imagens do Azure. Para obter mais informações, consulte Compilações de imagem isoladas.
Importante
Verifique se sua assinatura está registrada para o provedor de Microsoft.ContainerInstance
e se não há políticas bloqueando a implantação de recursos das Instâncias de Contêiner do Azure. Verifique também se a cota está disponível para recursos das Instâncias de Contêiner do Azure.
Abril de 2022
A nova funcionalidade do portal foi adicionada no Construtor de Imagens do Azure. Pesquise "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 propriedade
autoRun
que permite executar o build de imagem na criação ou atualização do modelo. Para obter mais informações, consulte painel Propriedades: autoRun. - Nova propriedade
managedResourceTags
que permite aplicar marcas aos recursos que o serviço do Construtor de Imagens do Azure cria no grupo de recursos de preparo durante o build de imagem. Para obter mais informações, consulte painel Propriedades: managedResourceTags. - Nova propriedade
containerInstanceSubnetId
que permite especificar uma sub-rede na qual a Instância de Contêiner do Azure será implantada para Builds Isolados. Esse campo só poderá ser especificado sesubnetId
também for especificado e deve estar na mesma Rede Virtual que a sub-rede especificada emsubnetId
. Para obter mais informações, consulte Traga sua própria sub-rede de VM de compilação e traga sua própria sub-rede de ACI . - Adicionado suporte para atualizar a propriedade
vmProfile
incluindo os seguintes campos:vmSize
osDiskSizeGB
userAssignedIdentities
vnetConfig
subnetId
containerInstanceSubnetId
Para obter mais informações sobre a propriedadevmProfile
, consulte vmProfile.
Alterações API versão 2024-02-01 introduz uma alteração interruptiva que impõe a diferenciação de maiúsculas e minúsculas para todos os campos. Isso significa que a capitalização de letras em suas solicitações 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 Alteração interruptiva: diferenciação de maiúsculas e minúsculas.
Versão 2023-07-01
Em breve
Suporte para atualizar destinos de distribuição da Galeria de Computação do Azure.
Alterações
Nova propriedade 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, confira errorHandling
Versão 2022-07-01
Melhorias
- Foi adicionado suporte para usar a versão de imagem mais recente armazenada na Galeria de Computação do Azure como a origem do modelo de imagem
versioning
foi adicionado para dar suporte à geração de números de versão para distribuições de imagem. Para obter mais informações, confira propriedades: controle de versão- Foi adicionado suporte para a configuração por região ao distribuir para a Galeria de Computação do Azure. Para obter mais informações, confira Distribute:targetRegions.
- Foi adicionado o novo tipo de validação "Arquivo". Para obter mais informações, confira 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, confira Distribuir: VHD.
- Foi adicionado suporte para usar uma imagem da Galeria Compartilhada Direta como a origem do modelo de imagem
Alterações
replicationRegions
agora está 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 à distribuição do tipo "SharedImage". Para obter mais informações sobretargetRegions
, confira Galeria de Computação do Azure.- Foi adicionado suporte para usar uma imagem da Galeria Compartilhada Direta como a origem do modelo de imagem. A Galeria Compartilhada Direta está atualmente em versão prévia.
- Os gatilhos agora estão disponíveis na visualização pública para configurar builds de imagem automáticas. Para obter mais informações, confira Como usar os gatilhos AIB
Versão 2022-02-14+
Melhorias
- Suporte à validação
- Shell (Linux)?: script ou embutido
- PowerShell (Windows): script ou embutido, execução elevada, execução como sistema
- Modo somente validação de origem
- Tem suporte personalizado ao grupo de recursos de preparo
Versão 2021-10-01
Alterações da falha
A versão de 01-10-2021 da API apresenta uma alteração no esquema de erro que fará parte de cada versão futura da API. Se você tiver alguma automação do Construtor de Imagens de VM do Azure, lembre-se da nova saída de erro ao alternar para a versão 2021-10-01 ou posterior da API. Recomendamos que, depois de alternar para a versão mais recente da API, você não reverta para uma versão anterior, pois precisará alterar sua automação novamente para produzir o esquema de erro anterior. Não prevemos que o esquema de erro seja alterado 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 MSIs de VM de build.
- Adicionado suporte para personalização de tamanho da VM de proxy.
Versão 2020-02-14
Melhorias
- Adicionado suporte para criar imagens a partir das seguintes fontes:
- Imagem gerenciada
- Galeria de Computação do Azure
- Repositório de imagens de plataforma (incluindo o Plano de Compra de Imagens de Plataforma)
- Adicionado suporte para as seguintes personalizações:
- Shell (Linux)?: script ou embutido
- PowerShell (Windows): script ou embutido, execução elevada, execução como sistema
- Arquivo (Linux e Windows)
- Reiniciar 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
- Galeria de Computação do Azure
- Outros recursos:
- Adicionado suporte para os clientes usarem uma rede virtual própria
- Adicionado suporte para os clientes personalizarem a VM de build (tamanho da VM, tamanho do disco do sistema operacional)
- Adicionado suporte para MSI (Microsoft Windows Installer) atribuído pelo usuário (para personalizar/distribuir etapas)
- Adicionado suporte para Imagens Gen2
APIs de pré-visualização
As seguintes APIs estão preteridas, mas ainda têm suporte:
- Versão 2019-05-01-preview
Próximas etapas
Saiba mais sobre o Construtor de Imagens de VM.