Partilhar via


Compilações de Imagens Isoladas para o Azure VM Image Builder

Compilações de Imagem Isoladas é um recurso do Construtor de Imagens de VM do Azure (AIB). Ele faz a transição do processo principal de personalização/validação de imagens de VM da infraestrutura de plataforma compartilhada para recursos dedicados de Instâncias de Contêiner do Azure (ACI) em sua assinatura, fornecendo computação e isolamento de rede.

Vantagens das compilações de imagens isoladas

As compilações de imagem isolada permitem a defesa em profundidade, limitando o acesso à rede da sua VM de compilação apenas à sua assinatura. Isolated Image Builds também fornece mais transparência, permitindo que sua inspeção do processamento feito pelo AIB para personalizar/validar sua imagem de VM. Além disso, as compilações de imagens isoladas facilitam a visualização de logs de compilação ao vivo. Especificamente:

  1. Isolamento de computação: as compilações de imagens isoladas executam a maior parte do processamento de criação de imagens em recursos ACI em sua assinatura, em vez de nos recursos de plataforma compartilhada do AIB. O ACI fornece isolação de hipervisor para cada grupo de contentores para garantir que os contentores executam isolados sem partilhar um kernel.

  2. Isolamento de rede: Compilações de imagem isoladas remove toda a comunicação direta do WinRM/ssh de rede entre sua VM de compilação e os componentes de back-end do serviço AIB.

    • Se você estiver provisionando um modelo AIB sem sua própria sub-rede para criar VM, um recurso de Endereço IP Público não será mais provisionado em seu grupo de recursos de preparo no momento da criação da imagem.
    • Se você estiver provisionando um modelo AIB com uma sub-rede existente para criar VM, um canal de comunicação baseado em Link Privado não será mais configurado entre sua VM de compilação e os recursos da plataforma de back-end do AIB. Em vez disso, o canal de comunicação é configurado entre o ACI e os recursos de VM de compilação - ambos residem no grupo de recursos de preparo em sua assinatura.
    • Iniciando a API versão 2024-02-01, você pode especificar uma segunda sub-rede para implantar a ACI, além da sub-rede para a VM de compilação. Se especificado, o AIB implanta o ACI nessa sub-rede e não há necessidade de o AIB configurar o canal de comunicação baseado em Link Privado entre o ACI e a VM de compilação. Para obter mais informações sobre a segunda sub-rede, consulte a seção aqui.
  3. Transparência: AIB é construído sobre HashiCorp Packer. Isolated Image Builds executa Packer no ACI em sua assinatura, o que permite que você inspecione o recurso ACI e seus contêineres. Da mesma forma, ter todo o pipeline de comunicação de rede em sua assinatura permite que você inspecione todos os recursos de rede, suas configurações e suas franquias.

  4. Melhor visualização de logs dinâmicos: o AIB grava logs de personalização em uma conta de armazenamento no grupo de recursos de preparo em sua assinatura. As Compilações de Imagem Isolada fornecem outra maneira de seguir os mesmos logs diretamente no portal do Azure, o que pode ser feito navegando até o contêiner do AIB no recurso ACI.

Nota

Para acessar os logs dinâmicos durante a compilação da imagem ou os arquivos de log de personalização e validação após a conclusão da compilação, consulte o guia de solução de problemas.

Topologias de rede

Isolated Image Builds implanta o ACI e a VM de compilação no grupo de recursos de preparo em sua assinatura. Para que o AIB personalize/valide sua imagem, as instâncias de contêiner em execução no ACI precisam ter um caminho de rede para a VM de compilação. Com base em suas necessidades e políticas de rede personalizadas, você pode configurar o AIB para usar diferentes topologias de rede para essa finalidade:

Não traga sua própria sub-rede Build VM

  • Você pode selecionar essa topologia não especificando o vnetConfig campo no Modelo de Imagem ou especificando o campo, mas sem subnetId e containerInstanceSubnetId subcampos.
  • Nesse caso, o AIB implanta uma Rede Virtual no grupo de recursos de preparo junto com duas sub-redes e NSGs (Grupos de Segurança de Rede). Uma das sub-redes é usada para implantar a ACI, enquanto a outra sub-rede é usada para implantar a VM de compilação. Os NSGs são configurados para permitir a comunicação entre as duas sub-redes.
  • Neste caso, o AIB não implanta um recurso IP público ou um pipeline de comunicação baseado em link privado.

Traga sua própria sub-rede Build VM, mas não traga sua própria sub-rede ACI

  • Você pode selecionar essa topologia especificando o vnetConfig campo junto com o subnetId subcampo, mas não o containerInstanceSubnetId subcampo no Modelo de Imagem.
  • Nesse caso, o AIB implanta uma Rede Virtual temporária no grupo de recursos de preparo, juntamente com duas sub-redes e NSGs (Grupos de Segurança de Rede). Uma das sub-redes é usada para implantar a ACI, enquanto a outra sub-rede é usada para implantar o recurso Private Endpoint. A VM de compilação é implantada em sua sub-rede especificada. Um pipeline de comunicação baseado em link privado que consiste em um Ponto de Extremidade Privado, Serviço de Link Privado, Balanceador de Carga do Azure e Máquina Virtual de Proxy também é implantado no grupo de recursos de preparo para facilitar a comunicação entre a sub-rede ACI e sua sub-rede VM de compilação.

Traga sua própria sub-rede Build VM e traga sua própria sub-rede ACI

  • Você pode selecionar essa topologia especificando o vnetConfig campo junto com os subnetId subcampos & containerInstanceSubnetId no Modelo de Imagem. Esta opção (e subcampo containerInstanceSubnetId) está disponível a partir da versão 2024-02-01 da API. Você também pode atualizar seus modelos existentes para usar essa topologia.
  • Nesse caso, o AIB implanta a VM de compilação na sub-rede de VM de compilação especificada e a ACI na sub-rede ACI especificada.
  • O AIB não implanta nenhum dos recursos de rede no grupo de recursos de preparo, incluindo IP Público, Rede Virtual, sub-redes, Grupos de Segurança de Rede, Ponto de Extremidade Privado, Serviço de Link Privado, Balanceador de Carga do Azure e Máquina Virtual de Proxy. Essa topologia pode ser usada se você tiver restrições de cota ou políticas que não permitam a implantação desses recursos.
  • A sub-rede ACI deve atender a certas condições para permitir seu uso com compilações de imagem isoladas.

Você pode ver detalhes sobre esses campos na referência do modelo. As opções de rede são discutidas em detalhes aqui.

Compatibilidade com versões anteriores

Isolated Image Builds é uma alteração no nível da plataforma e não afeta as interfaces do AIB. Assim, seus recursos existentes de Modelo de Imagem e Gatilho continuam a funcionar e não há nenhuma alteração na maneira como você implanta novos recursos desses tipos. Você precisa criar novos modelos ou atualizar modelos existentes se quiser usar a topologia de rede que permite trazer sua própria sub-rede ACI.

Suas compilações de imagem são migradas automaticamente para compilações de imagem isoladas e você não precisa tomar nenhuma ação para aceitar. Além disso, os logs de personalização continuam disponíveis na conta de armazenamento.

Dependendo da topologia de rede especificada no Modelo de Imagem, você pode observar alguns novos recursos aparecerem temporariamente no grupo de recursos de preparo (por exemplo, ACI, Rede Virtual, Grupo de Segurança de Rede e Ponto de Extremidade Privado) enquanto alguns outros recursos não aparecem mais (por exemplo, Endereço IP Público). Como anteriormente, esses recursos temporários existem apenas durante a compilação e o AIB os exclui posteriormente.

Importante

Certifique-se de que a sua subscrição está registada para Microsoft.ContainerInstance provider:

  • CLI do Azure: az provider register -n Microsoft.ContainerInstance
  • PowerShell: Register-AzResourceProvider -ProviderNamespace Microsoft.ContainerInstance

Depois de registrar com êxito sua assinatura, verifique se não há Políticas do Azure em sua assinatura que neguem a implantação de recursos ACI. Políticas que permitam apenas um conjunto restrito de tipos de recursos que não incluam ACI causariam falha nas Compilações de Imagem Isolada.

Certifique-se de que sua assinatura também tenha uma cota suficiente de recursos necessários para a implantação de recursos ACI.

Importante

Dependendo da topologia de rede especificada no Modelo de Imagem, o AIB pode precisar implantar recursos temporários relacionados à rede no grupo de recursos de preparo em sua assinatura. Certifique-se de que nenhuma Política do Azure negue a implantação de tais recursos (Rede Virtual com Sub-redes, Grupo de Segurança de Rede, Ponto de extremidade Privado) no grupo de recursos.

Se você tiver Políticas do Azure aplicando planos de proteção contra DDoS a qualquer Rede Virtual recém-criada, relaxe a Política para o grupo de recursos ou verifique se a Identidade Gerenciada de Modelo tem permissões para ingressar no plano. Como alternativa, você pode usar a topologia de rede que não requer a implantação de uma nova Rede Virtual pelo AIB.

Importante

Certifique-se de seguir todas as práticas recomendadas ao usar o AIB.

Nota

A AIB está no processo de implementar essa mudança para todos os locais e clientes. Alguns desses detalhes (especialmente em torno da implantação de novos recursos relacionados à rede) podem mudar à medida que o processo é ajustado com base na telemetria do serviço e no feedback. Para quaisquer erros, consulte o guia de solução de problemas.

Próximos passos