Visão geral do 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

Usando imagens de VM (máquina virtual) padronizadas, sua organização pode migrar mais facilmente para a nuvem e ajudar a garantir a consistência em suas implantações. As imagens normalmente incluem segurança predefinida, definições de configuração e o software necessário. Configurar seu próprio pipeline de geração de imagens requer tempo, infraestrutura e diversos outros detalhes. Com o Construtor de Imagens de VM do Azure, você só precisa criar uma configuração que descreva sua imagem e enviá-la para o serviço onde a imagem é criada e, em seguida, distribuída.

Com o Construtor de Imagens, você pode migrar seu pipeline de personalização de imagens existente para o Azure enquanto continua a usar scripts, comandos e processos existentes para personalizar imagens. Você pode integrar seus aplicativos principais a uma imagem de VM para que suas VMs possam assumir cargas de trabalho após a criação das imagens. É possível adicionar configurações e criar imagens para a Área de Trabalho Virtual do Azure, como VHDs (discos rígidos virtuais) para uso no Azure Stack ou para facilitar a exportação.

O Construtor de Imagens de VM permite que você comece com as imagens do Windows ou do Linux, seja do Azure Marketplace, seja de imagens personalizadas existentes, e adicione então suas próprias personalizações. Você também pode especificar onde deseja que suas imagens resultantes sejam hospedadas na Galeria de Computação do Azure (conhecida como Galeria de Imagens Compartilhadas), como uma imagem gerenciada ou como um VHD.

Recursos

Embora seja possível criar imagens de VM personalizadas manualmente ou por outras ferramentas, o processo pode ser complicado e não confiável. O Construtor de Imagens de VM do Azure, criado no HashiCorp Packer, fornece os benefícios de um serviço gerenciado.

Simplicidade

Para reduzir a complexidade da criação de imagens de VM, o Construtor de Imagens de VM:

  • Elimina a necessidade de usar ferramentas complexas, processos e etapas manuais para criar uma imagem de VM. O Construtor de Imagens de VM abstrai todos esses detalhes e oculta requisitos específicos do Azure, como a necessidade de generalizar a imagem (Sysprep). E oferece aos usuários mais avançados a capacidade de substituir esses requisitos.

  • Pode ser integrado a pipelines de build de imagens existentes para uma experiência de clique-e-pronto. Para fazer isso, você pode chamar o Construtor de Imagens a partir da VM do pipeline ou usar uma tarefa de DevOps do serviço do Construtor de Imagens de VM do Azure (versão prévia).

  • Pode buscar dados de personalização de várias fontes, o que elimina a necessidade de coletar todos eles de um só lugar.

  • Pode ser integrado à Galeria de Computação, que cria um sistema de gerenciamento de imagens para distribuir, replicar, mostrar versão e dimensionar imagens globalmente. Além disso, você pode distribuir a mesma imagem resultante como um VHD ou como uma ou mais imagens gerenciadas sem recompilar do zero.

Infraestrutura como código

Com o Construtor de Imagens de VM, não é necessário gerenciar sua infraestrutura de longo prazo (por exemplo, contas de armazenamento com dados de personalização) ou infraestrutura transitória (por exemplo, VMs temporárias para a criação de imagens).

O Construtor de Imagens de VM armazena seus artefatos de compilação de imagens de VM como recursos do Azure. Essa funcionalidade elimina tanto a necessidade de manter definições offline quanto o risco de descompassos de ambiente causados por exclusões ou atualizações acidentais.

Segurança

Para ajudar a manter suas imagens seguras, o Construtor de Imagens de VM:

  • Permite criar imagens de linha de base (ou seja, configurações mínimas corporativas e de segurança) e permite que outros departamentos as personalizem ainda mais. Essas imagens podem ser mantidas seguras e em conformidade usando o Construtor de Imagens de VM para recriar rapidamente uma imagem de ouro usando a versão mais recente com patches de uma imagem de origem. O Construtor de Imagens de VM também facilita a criação de imagens que atendam à linha de base de segurança do Windows do Azure. Para obter mais informações, consulte Construtor de Imagens de VM - modelo de linha de base do Windows.

  • Permite que você busque seus artefatos de personalização sem precisar torná-los publicamente acessíveis. O Construtor de Imagens de VM pode usar sua Identidade Gerenciada do Azure para buscar esses recursos, e você pode restringir os privilégios dessa identidade com o rigor necessário usando o Azure-RBAC. Você pode manter seus artefatos em segredo e impedir a adulteração por atores não autorizados.

  • Cópias de artefatos de personalização, computação transitória e recursos de armazenamento e suas imagens resultantes são armazenados com segurança em sua assinatura, pois o acesso é controlado pelo Azure RBAC. Esse nível de segurança, que também se aplica à VM de build usada para criar a imagem personalizada, ajuda a impedir que seus scripts e arquivos de personalização sejam copiados para uma VM desconhecida em uma assinatura desconhecida. Além disso, você pode obter um alto grau de isolamento de cargas de trabalho de outros clientes usando ofertas de VM isoladas para a VM de build.

  • Permite conectar o Construtor de Imagens de VM às suas redes virtuais existentes, para que você possa se comunicar com servidores de configuração existentes, como DSC (servidor de pull de configuração de estado desejado), Chef e Puppet, compartilhamentos de arquivos ou qualquer outro servidor e serviço roteável.

  • Você pode configurar o Construtor de Imagens para fornecer as Identidades Atribuídas pelo Usuário à VM de build do Construtor de Imagens de VM (que é criada pelo serviço do Construtor de Imagens de VM na assinatura e usada para compilar e personalizar a imagem). Você pode usar essas identidades no momento da personalização para acessar recursos do Azure, incluindo segredos, na assinatura. Não é necessário atribuir acesso direto ao Construtor de Imagens de VM a esses recursos.

Regiões

O Serviço do Construtor de Imagens de VM está disponível nessas regiões:

Observação

Você ainda pode distribuir imagens fora dessas regiões.

  • Leste dos EUA
  • Leste dos EUA 2
  • Centro-Oeste dos EUA
  • Oeste dos EUA
  • Oeste dos EUA 2
  • Oeste dos EUA 3
  • Centro-Sul dos Estados Unidos
  • Norte da Europa
  • Europa Ocidental
  • Sudeste da Ásia
  • Australia Southeast
  • Leste da Austrália
  • Sul do Reino Unido
  • Oeste do Reino Unido
  • Brazil South
  • Canadá Central
  • Índia Central
  • Centro dos EUA
  • França Central
  • Centro-Oeste da Alemanha
  • Leste do Japão
  • Centro-Norte dos EUA
  • Leste da Noruega
  • Norte da Suíça
  • Oeste da Índia JIO
  • Norte dos EAU
  • Leste da Ásia
  • Coreia Central
  • Norte da África do Sul
  • Catar Central
  • US Gov – Arizona (versão prévia pública)
  • US Gov – Virgínia (versão prévia pública)
  • Norte da China 3 (visualização pública)
  • Suécia Central
  • Polônia Central
  • Norte da Itália

Registre o recurso Microsoft.VirtualMachineImages/FairfaxPublicPreview para acessar a versão prévia pública do Construtor de Imagens de VM do Azure nas regiões de Fairfax (US Gov – Arizona e US Gov – Virgínia). Para fazer isso, execute o seguinte comando no PowerShell ou na CLI do Azure:

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name FairfaxPublicPreview

Para acessar a visualização pública do Construtor de Imagens de VM do Azure na região Norte da China 3, registre o recurso Microsoft.VirtualMachineImages/MooncakePublicPreview. Para fazer isso, execute o seguinte comando no PowerShell ou na CLI do Azure:

Register-AzProviderPreviewFeature -ProviderNamespace Microsoft.VirtualMachineImages -Name MooncakePublicPreview

Suporte a SO

O Construtor de Imagens de VM foi projetado para funcionar com todas as imagens de sistemas operacionais básicos do Azure Marketplace.

Observação

Agora você pode usar o serviço do Construtor de Imagens do Azure dentro do portal a partir de março de 2023. Comece agora a criar e validar imagens personalizadas dentro do portal.

Suporte à VM Confidencial e ao Início Confiável

O Construtor de Imagens de VM ampliou o suporte de modo a incluir as imagens TrustedLaunchSupported e ConfidentialVMSupported, com algumas restrições. Abaixo temos a lista de restrições:

SecurityType Status de suporte
TrustedLaunchSupported Suporte como imagem de origem para builds de imagem
ConfidentialVMSupported Suporte como imagem de origem para builds de imagem
TrustedLaunch Sem suporte como imagem de origem
ConfidentialVM Sem suporte como imagem de origem

Observação

Ao usar imagens TrustedLaunchSupported, é importante que tanto a imagem de origem quanto a distribuída sejam TrustedLaunchSupported, para ter suporte. Os cenários em que a de origem for normal e a distribuída for TrustedLaunchSupported, ou a origem for TrustedLaunchSupported e a distribuída for uma Gen2 normal, não têm suporte.

Como ele funciona

O Construtor de Imagens de VM do Azure é um serviço Azure totalmente gerenciado e acessível a provedores de recursos do Azure. Os provedores de recursos o configuram especificando uma imagem de origem, uma personalização a ser executada e o local onde a nova imagem deve ser distribuída. O fluxo de trabalho de alto nível é ilustrado no diagrama a seguir:

Diagrama da visão geral conceitual do AIB

Você pode passar configurações de modelo usando o Azure PowerShell, a CLI do Azure, os modelos do Azure Resource Manager, ou usar uma tarefa de DevOps do Construtor de Imagens de VM. Quando você envia a configuração para o serviço, o Azure cria um recurso de modelo de imagem. Quando o recurso de modelo de imagem for criado, você verá um grupo de recursos de preparo criado na sua assinatura, no seguinte formato: IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID). O grupo de recursos de preparo contém arquivos e scripts referenciados na personalização em Arquivo, Shell e PowerShell na propriedade ScriptURI.

Para executar o build, você invoca Run no recurso de modelo do Construtor de Imagens de VM. Em seguida, o serviço implanta recursos adicionais para build, como uma VM, rede, disco e adaptador de rede.

Se você compilar uma imagem sem usar uma rede virtual existente, o Construtor de Imagens de VM também implantará um IP público e um grupo de segurança de rede, para então se conectar à VM de build usando o protocolo SSH (Secure Shell) ou o WinRM (Gerenciamento Remoto do Windows).

Se você selecionar uma rede virtual existente, o serviço será implantado por meio de Link Privado do Azure, e não será necessário um endereço IP público. Para obter mais informações, consulte Visão geral de rede do Construtor de Imagens de VM.

Quando a compilação for concluída, todos os recursos serão excluídos, exceto o grupo de recursos de preparo e a conta de armazenamento. Você pode removê-los excluindo o recurso de modelo de imagem ou pode deixá-los no local para executar a compilação novamente.

Para ver vários exemplos, guias passo a passo, modelos de configuração e soluções, acesse o repositório GitHub do Construtor de Imagens de VM.

Suporte de movimentação

O recurso de modelo de imagem é imutável e contém links para recursos e para o grupo de recursos de preparo. Portanto, esse tipo de recurso não dá suporte à movimentação.

Se você quiser mover o recurso de modelo de imagem, certifique-se de ter uma cópia do modelo de configuração ou, se não tiver uma cópia, extraia a configuração existente do recurso. Em seguida, crie um novo recurso de modelo de imagem no novo grupo de recursos com um novo nome e exclua o recurso de modelo de imagem anterior.

Permissões

Ao se registrar no serviço de Construtor de imagens de VM, você está concedendo a permissão de serviço para criar, gerenciar e excluir um grupo de recursos de preparo, que é prefixado com IT_*. Você também tem direitos para adicionar a ele todos os recursos necessários para a compilação da imagem. Isso acontece porque um nome de entidade de serviço do Construtor de Imagens de VM é disponibilizado em sua assinatura depois que você se registra com êxito.

Para permitir que o Construtor de Imagens de VM do Azure distribua imagens para as imagens gerenciadas ou para uma Galeria de Computação, você precisará criar uma identidade atribuída pelo usuário do Azure que tenha permissões para ler e gravar imagens. Caso você esteja acessando o Armazenamento do Azure, precisará de permissões para ler contêineres públicos ou privados.

Na versão 2021-10-01 da API e posteriores, o Construtor de Imagens de VM dá suporte à adição de identidades atribuídas pelo usuário do Azure à VM de build para habilitar cenários em que você precisará autenticar com serviços como o Azure Key Vault na sua assinatura.

Para obter mais informações sobre permissões, consulte

Custos

Você incorrerá em alguns custos de computação, rede e armazenamento ao criar, compilar e armazenar imagens usando o Construtor de Imagens de VM. Esses custos são semelhantes aos que você incorre ao criar imagens personalizadas manualmente. Seus recursos são cobrados com base nas suas tarifas do Azure.

Observação

O serviço do Construtor de Imagens do Azure atualmente não dá suporte ao Benefício Híbrido do Azure para Windows Server no momento.

Durante o processo de criação de imagem, os arquivos são baixados e armazenados no grupo de recursos IT_<DestinationResourceGroup>_<TemplateName>, o que gera um pequeno custo de armazenamento. Se você não quiser manter esses arquivos, exclua o modelo de imagem depois de criar a imagem.

O Construtor de Imagens de VM do Azure cria uma VM usando o tamanho padrão Standard_D1_v2 VM para imagens Gen1 e o padrão Standard_D2ds_v4 para imagens Gen2, junto com o uso de espaço e de rede necessários para a VM. Esses recursos tem a mesma duração que o processo de build, e são excluídos assim que o Construtor de Imagens de VM termina a criação da imagem.

O Construtor de Imagens do Azure distribuirá a imagem para suas regiões escolhidas, o que poderá incorrer em encargos de saída de rede.

Geração do Hyper-V

Atualmente, o Construtor de Imagens dá suporte apenas à criação de imagens Hyper-V Gen1 e Gen2 na Galeria de Computação do Azure e como imagens gerenciadas ou VHD. Tenha em mente que a imagem distribuída está sempre na mesma geração que a imagem fornecida.

Para imagens Gen2, verifique se você está usando a SKU correta. Por exemplo, a SKU para uma imagem de Gen2 do Ubuntu Server 18.04 seria 18_04-lts-gen2. A SKU para uma imagem do Ubuntu Server 18.04 Gen1 seria 18.04-lts.

Veja como encontrar SKUs baseadas no editor de imagem:

# Find all Gen2 SKUs published by Microsoft Windows Desktop
az vm image list --publisher MicrosoftWindowsDesktop --sku g2 --output table --all

# Find all Gen2 SKUs published by Canonical
az vm image list --publisher Canonical --sku gen2 --output table --all

Para obter mais informações sobre imagens de VM do Azure com suporte à Gen2, consulte Imagens de VM Gen2 no Azure Marketplace.

Próximas etapas

Para experimentar o Construtor de Imagens de VM, confira os artigos para compilar imagens do Linux ou do Windows.