Visão geral do Azure VM Image Builder
Aplica-se a: ✔️ VMs ✔️ Linux VMs ✔️ do Windows Conjuntos ✔️ de escala flexíveis Conjuntos de balanças uniformes
Usando imagens padronizadas de máquina virtual (VM), sua organização pode migrar mais facilmente para a nuvem e ajudar a garantir a consistência em suas implantações. Normalmente, as imagens incluem segurança predefinida, definições de configuração e qualquer software necessário. Configurar seu próprio pipeline de geração de imagens requer tempo, infraestrutura e muitos outros detalhes. Com o Azure VM Image Builder, 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 VM Image Builder, você pode migrar seu pipeline de personalização de imagem existente para o Azure à medida que continua a usar scripts, comandos e processos existentes. Você pode integrar seus aplicativos principais em uma imagem de VM, para que suas VMs possam assumir cargas de trabalho depois que as imagens forem criadas. Você pode até adicionar configurações para 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-lhe começar com imagens do Windows ou Linux a partir do Azure Marketplace ou como imagens personalizadas existentes e, em seguida, adicionar as suas próprias personalizações. Você também pode especificar onde deseja que as imagens resultantes sejam hospedadas na Galeria de Computação do Azure (anteriormente Galeria de Imagens Compartilhadas), como imagens gerenciadas ou como VHDs.
Funcionalidades
Embora seja possível criar imagens VM personalizadas manualmente ou por outras ferramentas, o processo pode ser complicado e não confiável. O VM Image Builder, que é construído no HashiCorp Packer, oferece os benefícios de um serviço gerenciado.
Simplicidade
Para reduzir a complexidade da criação de imagens de VM, o VM Image Builder:
Remove a necessidade de usar ferramentas, processos e etapas manuais complexas para criar uma imagem de VM. O VM Image Builder abstrai todos esses detalhes e oculta requisitos específicos do Azure, como a necessidade de generalizar a imagem (Sysprep). E dá aos usuários mais avançados a capacidade de substituir tais requisitos.
Pode ser integrado com pipelines de construção de imagem existentes para uma experiência click-and-go. Para fazer isso, você pode chamar o Construtor de Imagens de VM do seu pipeline ou usar uma tarefa de DevOps do serviço do Construtor de Imagens de VM do Azure (visualização).
Pode buscar dados de personalização de várias fontes, o que elimina a necessidade de coletá-los todos de um só lugar.
Pode ser integrado com a Galeria de Computação, que cria um sistema de gerenciamento de imagens com o qual distribuir, replicar, versionar 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 ter que reconstruí-las do zero.
Infraestrutura como código
Com o VM Image Builder, não há necessidade de gerenciar sua infraestrutura de longo prazo (por exemplo, contas de armazenamento que contêm dados de personalização) ou infraestrutura transitória (por exemplo, VMs temporárias para criação de imagens).
O Construtor de Imagens de VM armazena seus artefatos de compilação de imagem de VM como recursos do Azure. Esse recurso elimina a necessidade de manter definições offline e o risco de desvios de ambiente causados por exclusões ou atualizações acidentais.
Segurança
Para ajudar a manter suas imagens seguras, o VM Image Builder:
Permite criar imagens de linha de base (ou seja, sua segurança mínima e configurações corporativas) e permite que outros departamentos as personalizem ainda mais. Você pode ajudar a manter essas imagens seguras e compatíveis usando o VM Image Builder para reconstruir rapidamente uma imagem dourada que usa a versão corrigida mais recente de uma imagem de origem. O Construtor de Imagens de VM também facilita a criação de imagens que atendem à linha de base de segurança do Windows do Azure. Para obter mais informações, consulte VM Image Builder - modelo de linha de base do Windows.
Permite que você busque seus artefatos de personalização sem precisar torná-los acessíveis publicamente. 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 tão rigorosamente quanto necessário usando o controle de acesso baseado em função do Azure (Azure RBAC). Você pode manter seus artefatos em segredo e impedir a adulteração por atores não autorizados.
Armazena com segurança cópias de artefatos de personalização, recursos transitórios de computação e armazenamento e suas imagens resultantes em sua assinatura, porque o acesso é controlado pelo RBAC do Azure. Esse nível de segurança, que também se aplica à VM de compilação 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. E você pode obter um alto grau de separação das cargas de trabalho de outros clientes usando ofertas de VM isolada para a VM de compilação.
Permite conectar o VM Image Builder às suas redes virtuais existentes, para que você possa se comunicar com servidores de configuração existentes, como DSC (servidor pull de configuração de estado desejado), Chef e Puppet, compartilhamentos de arquivos ou quaisquer outros servidores e serviços roteáveis.
Pode ser configurado para atribuir suas identidades atribuídas pelo usuário à VM de compilação do Construtor de Imagens de VM (ou seja, a VM que o serviço Construtor de Imagens de VM cria em sua assinatura e usa para criar e personalizar a imagem). Em seguida, você pode usar essas identidades no momento da personalização para acessar recursos do Azure, incluindo segredos, em sua assinatura. Não há necessidade de atribuir acesso direto ao Construtor de Imagens de VM a esses recursos.
Regiões
O serviço VM Image Builder está disponível nas seguintes regiões:
Nota
Você ainda pode distribuir imagens fora dessas regiões.
- E.U.A. Leste
- E.U.A. Leste 2
- E.U.A. Centro-Oeste
- E.U.A. Oeste
- E.U.A. Oeste 2
- EUA Oeste 3
- E.U.A. Centro-Sul
- Europa do Norte
- Europa Ocidental
- Ásia Sudeste
- Austrália Sudeste
- Leste da Austrália
- Sul do Reino Unido
- Oeste do Reino Unido
- Sul do Brasil
- Canadá Central
- Índia Central
- E.U.A. Central
- França Central
- Alemanha Centro-Oeste
- Leste do Japão
- E.U.A. Centro-Norte
- Leste da Noruega
- Norte da Suíça
- Jio, Oeste da Índia
- Norte dos E.A.U.
- Ásia Leste
- Coreia do Sul Central
- Norte da África do Sul
- Catar Central
- USGov Arizona (pré-visualização pública)
- USGov Virginia (pré-visualização pública)
- China Norte 3 (pré-visualização pública)
- Suécia Central
- Polónia Central
- Norte da Itália
- Israel Central
Para acessar a visualização pública do Construtor de Imagens de VM do Azure nas regiões de Fairfax (USGov Arizona e USGov Virginia), você deve registrar o recurso Microsoft.VirtualMachineImages/FairfaxPublicPreview . 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 China Norte 3, você deve registrar 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 concebido para funcionar com todas as imagens do sistema operativo base do Azure Marketplace.
Nota
Agora você pode usar o serviço Azure Image Builder dentro do portal a partir de março de 2023. Comece a criar e validar imagens personalizadas dentro do portal.
VM confidencial e suporte de inicialização confiável
O VM Image Builder estendeu o suporte para imagens TrustedLaunchSupported e ConfidentialVMSupported, com certas restrições. Abaixo está a lista de restrições:
Tipo de Segurança | Estado do suporte |
---|---|
TrustedLaunchSupported | Suporte como imagem de origem para compilações de imagens |
ConfidentialVMSupported | Suporte como imagem de origem para compilações de imagens |
TrustedLaunch | Não suportado como imagem de origem |
VM confidencial | Não suportado como imagem de origem |
Nota
Ao usar imagens TrustedLaunchSupported, é importante que a origem e a distribuição sejam ambas TrustedLaunchSupported para que ela seja suportada. Se a fonte for normal e a distribuição for TrustedLaunchSupported, ou se a fonte for TrustedLaunchSupported e a distribuição for Gen2 normal, ela não será suportada.
Como funciona
O Construtor de Imagens de VM é um serviço do Azure totalmente gerenciado que pode ser acessado pelos provedores de recursos do Azure. Os provedores de recursos a configuram especificando uma imagem de origem, uma personalização a ser executada e onde a nova imagem deve ser distribuída. Um fluxo de trabalho de alto nível é ilustrado no diagrama a seguir:
Você pode passar configurações de modelo usando o Azure PowerShell, a CLI do Azure ou modelos do Azure Resource Manager ou usando 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 é criado, um grupo de recursos de preparo é criado em sua assinatura, no seguinte formato: IT_\<DestinationResourceGroup>_\<TemplateName>_\(GUID)
. O grupo de recursos de preparo contém arquivos e scripts, que são referenciados na personalização File, Shell e PowerShell na propriedade ScriptURI.
Para executar a compilação, invoque Run
no recurso de modelo do Construtor de Imagens de VM. Em seguida, o serviço implanta recursos adicionais para a compilação, como uma VM, rede, disco e adaptador de rede.
Se você criar 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 e se conectará à VM de compilação usando o protocolo Secure Shell (SSH) ou o Windows Remote Management (WinRM).
Se você selecionar uma rede virtual existente, o serviço será implantado por meio do Azure Private Link e um endereço IP público não será necessário. Para obter mais informações, consulte Visão geral da rede do VM Image Builder.
Quando a compilação é concluída, todos os recursos sã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 lugar para executar a compilação novamente.
Para obter vários exemplos, guias passo a passo, modelos de configuração e soluções, vá para o repositório GitHub do VM Image Builder.
Suporte para movimentação
O recurso de modelo de imagem é imutável e contém links para recursos e o grupo de recursos de preparação. Portanto, esse tipo de recurso não suporta ser movido.
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 Construtor de Imagens de VM, você está concedendo permissão ao serviço para criar, gerenciar e excluir um grupo de recursos de preparo, que é prefixado com IT_*
. E você tem o direito de adicionar a ele quaisquer recursos necessários para a construção da imagem. Isso acontece porque um nome principal 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 VM distribua imagens para as imagens gerenciadas ou para a Galeria de Computação, você precisa criar uma identidade atribuída pelo usuário do Azure que tenha permissões para ler e gravar imagens. Se você estiver acessando o Armazenamento do Azure, precisará de permissões para ler contêineres públicos e privados.
Na API versão 2021-10-01 e posterior, o Construtor de Imagens de VM dá suporte à adição de identidades atribuídas pelo usuário do Azure à VM de compilação para habilitar cenários em que você precisa se autenticar com serviços como o Azure Key Vault em sua assinatura.
Para obter mais informações sobre permissões, consulte
- Configurar permissões do Construtor de Imagens de VM usando o PowerShell
- Configurar permissões do Construtor de Imagens de VM usando a CLI do Azure
- Criar um modelo de Construtor de Imagens de VM
Custos
Você incorrerá em alguns custos de computação, rede e armazenamento ao criar, criar e armazenar imagens usando o VM Image Builder. Esses custos são semelhantes aos que você incorre quando cria imagens personalizadas manualmente. Seus recursos são cobrados de acordo com suas taxas do Azure.
Nota
O serviço Azure Image Builder atualmente não oferece suporte ao Benefício Híbrido do Azure para Windows Server no momento.
Durante o processo de criação de imagens, os arquivos são baixados e armazenados no grupo de recursos, o IT_<DestinationResourceGroup>_<TemplateName>
que incorre em 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 cria uma VM usando o tamanho de VM Standard_D1_v2 padrão para imagens Gen1 e Standard_D2ds_v4 para imagens Gen2, juntamente com o armazenamento e a rede necessários para a VM. Esses recursos duram durante o processo de compilação e são excluídos depois que o VM Image Builder terminar de criar a imagem.
O Construtor de Imagens de VM distribui a imagem para as regiões escolhidas, o que pode incorrer em cobranças de saída de rede.
Geração Hyper-V
Atualmente, o VM Image Builder oferece suporte à criação de imagens Hyper-V Gen1 e Gen2 em uma Galeria de Computação e como imagens gerenciadas ou VHDs. 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, o SKU para uma imagem do Ubuntu Server 18.04 Gen2 seria 18_04-lts-gen2. O SKU para uma imagem do Ubuntu Server 18.04 Gen1 seria 18.04-lts.
Veja como encontrar SKUs baseadas no editor de imagens:
# 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 que suportam Gen2, consulte Imagens de VM Gen2 no Azure Marketplace.
Próximos passos
Para experimentar o VM Image Builder, consulte os artigos sobre como criar imagens do Linux ou do Windows .