Armazenar e partilhar imagens numa Galeria de Computação do Azure

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

Uma imagem é uma cópia de uma VM completa (incluindo quaisquer discos de dados anexados) ou apenas do disco do SO, dependendo de como é criada. Quando você cria uma VM a partir da imagem, uma cópia dos VHDs na imagem é usada para criar os discos para a nova VM. A imagem permanece no armazenamento e pode ser usada repetidamente para criar novas VMs.

Se você tiver um grande número de imagens que precisa manter e quiser disponibilizá-las em toda a sua empresa, poderá usar uma Galeria de Computação do Azure como um repositório.

Quando você usa uma galeria para armazenar imagens, vários tipos de recursos são criados:

Recurso Description
Fonte da imagem Este é um recurso que pode ser usado para criar uma versão de imagem em uma galeria. Uma fonte de imagem pode ser uma VM do Azure existente que é generalizada ou especializada, uma imagem gerenciada, um instantâneo, um VHD ou uma versão de imagem em outra galeria.
Galeria Como o Azure Marketplace, uma galeria é um repositório para gerenciar e compartilhar imagens e outros recursos, mas você controla quem tem acesso.
Definição de imagem As definições de imagem são criadas dentro de uma galeria e carregam informações sobre a imagem e quaisquer requisitos para usá-la para criar VMs. Isso inclui se a imagem é Windows ou Linux, notas de versão e requisitos mínimos e máximos de memória. É uma definição de um tipo de imagem.
Versão da imagem Uma versão de imagem é o que você usa para criar uma VM ao usar uma galeria. Você pode ter várias versões de uma imagem conforme necessário para seu ambiente. Como uma imagem gerenciada, quando você usa uma versão de imagem para criar uma VM, a versão da imagem é usada para criar novos discos para a VM. As versões de imagem podem ser usadas várias vezes.

Gráfico mostrando como você pode ter várias versões de uma imagem em sua galeria

Definições de imagem

As definições de imagem são um agrupamento lógico para versões de uma imagem. A definição da imagem contém informações sobre o motivo pelo qual a imagem foi criada e também contém metadados da imagem, tais como, para que sistema operacional, recursos suportados e outras informações sobre o uso da imagem. Uma definição de imagem é como um plano para todos os detalhes em torno da criação de uma imagem específica. Você não implanta uma VM a partir de uma definição de imagem, mas das versões de imagem criadas a partir da definição.

Existem três parâmetros para cada definição de imagem que são usados em combinação - Publisher, Offer e SKU. Estes são usados para encontrar uma definição de imagem específica. Você pode ter definições de imagem que compartilham um ou dois, mas não todos os três valores. Por exemplo, aqui estão três definições de imagem e seus valores:

Definição da Imagem Publisher Oferecer Sku
myImage1 Contoso Finance Back-end
myImage2 Contoso Finance Front-end
myImage3 Testar Finance Front-end

Todos estes três têm conjuntos únicos de valores. O formato é semelhante à forma como atualmente pode especificar o editor, a oferta e a SKU para imagens do Azure Marketplace no Azure PowerShell para obter a versão mais recente de uma imagem do Marketplace. Cada definição de imagem precisa ter um conjunto exclusivo desses valores.

Os parâmetros a seguir determinam quais tipos de versões de imagem eles podem conter:

  • Estado do sistema operacional - Você pode definir o estado do sistema operacional como generalizado ou especializado. Este campo é obrigatório.
  • Sistema operacional - pode ser Windows ou Linux. Este campo é obrigatório.
  • Geração Hyper-V - especifique se a imagem foi criada a partir de um VHD Hyper-V de geração 1 ou 2 . O padrão é a geração 1.

As definições de imagem contêm metadados para a imagem para permitir o agrupamento de imagens que suportam os mesmos recursos, plano, estado do sistema operacional, tipo de sistema operacional e outros. A seguir estão outros parâmetros que podem ser definidos em sua definição de imagem para que você possa rastrear mais facilmente seus recursos:

  • Descrição - use a descrição para fornecer informações mais detalhadas sobre por que a definição de imagem existe. Por exemplo, você pode ter uma definição de imagem para seu servidor front-end que tenha o aplicativo pré-instalado.

  • EULA - pode ser usado para apontar para um contrato de licença de usuário final específico para a definição da imagem.

  • Declaração de Privacidade e Notas de versão - armazena notas de versão e declarações de privacidade no armazenamento do Azure e fornece um URI para acessá-las como parte da definição de imagem.

  • Data de fim de vida - estabeleça uma data padrão após a qual a imagem não deve ser usada, para todas as versões de imagem na definição da imagem. As datas de fim de vida são informativas; os usuários ainda poderão criar VMs a partir de imagens e versões após a data de fim de vida.

  • Tag - você pode adicionar tags ao criar sua definição de imagem. Para obter mais informações sobre tags, consulte Usando tags para organizar seus recursos

  • Recomendações mínimas e máximas de vCPU e memória - se a sua imagem tiver recomendações de vCPU e memória, pode anexar essa informação à sua definição de imagem.

  • Tipos de disco não permitidos - você pode fornecer informações sobre as necessidades de armazenamento para sua VM. Por exemplo, se a imagem não for adequada para discos HDD padrão, adicione-os à lista de não permitidos.

  • Informações do plano de compra para imagens do Marketplace - -PurchasePlanPublisher, -PurchasePlanNamee -PurchasePlanProduct. Para obter mais informações sobre o plano de compra, consulte Localizar imagens no Azure Marketplace e Fornecer informações do plano de compra do Azure Marketplace ao criar imagens.

  • Arquitetura

    • Arquitetura x64 ou ARM64
  • As funcionalidades permitem-lhe especificar funcionalidades adicionais e SecurityType(s) suportados(s) na imagem, com base no tipo de galeria:

    Funcionalidades Valores aceites Definição Suportado em
    IsHibernateSupported True, False Crie VMs com suporte para hibernação. Comunidade privada, compartilhada diretamente
    IsAcceleratedNetworkSupported True, False Crie VMs com rede acelerada habilitada. Quando definido como True Definição de imagem, a captura de VMs que não suportam rede acelerada não é suportada. Comunidade privada, compartilhada diretamente
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Defina isso para usar o tipo de disco SCSI ou NVMe. VMs e discos NVMe só podem ser capturados em definições de imagem marcadas para suportar NVMe. Comunidade privada, compartilhada diretamente

    Quando você especifica um SecurityType usando o features parâmetro, ele limita os recursos de segurança habilitados na VM. Alguns tipos limitados, com base no tipo de galeria em que estão armazenados:

    Tipo de Segurança Definição Suportado em
    ConfidentialVMSupported É uma imagem Gen2 genérica que não contém o blob VMGS. A VM Gen2 ou a VM confidencial podem ser criadas a partir deste tipo de imagem Privado, Partilhado diretamente, Comunidade
    VM confidencial Somente VMs confidenciais podem ser criadas a partir desse tipo de imagem Privado
    TrustedLaunchSupported É uma imagem Gen2 genérica que não contém o blob VMGS. A VM Gen2 ou a VM TrustedLaunch podem ser criadas a partir desse tipo de imagem. Comunidade privada, compartilhada diretamente
    TrustedLaunch Somente a VM TrustedLaunch pode ser criada a partir desse tipo de imagem Privado
    TrustedLaunchAndConfidentialVmSupported É uma imagem Gen2 genérica que não contém o blob VMGS. Gen2 VM, TrustedLaunch VM ou uma ConfidentialVM podem ser criadas a partir desse tipo de imagem. Comunidade privada, compartilhada diretamente

    Para obter mais informações, consulte os exemplos da CLI para adicionar recursos de definição de imagem e SecurityType ou os exemplos do PowerShell.

    **ConfidentialVM só é suportado nas regiões onde está disponível, Você pode encontrar as regiões suportadas aqui.

Versões de imagem

Uma versão de imagem é o que você usa para criar uma VM. Você pode ter várias versões de uma imagem conforme necessário para seu ambiente. Quando você usa uma versão de imagem para criar uma VM, a versão da imagem é usada para criar novos discos para a VM. As versões de imagem podem ser usadas várias vezes.

As propriedades de uma versão de imagem são:

  • Número da versão. Este é usado como o nome da versão da imagem. Está sempre no formato: MajorVersion.MinorVersion.Patch. Quando você especifica usar o mais recente ao criar uma VM, a imagem mais recente é escolhida com base na versão majorVersion mais alta, depois em MinorVersion e depois em Patch.
  • Origem. A origem pode ser uma VM, disco gerenciado, instantâneo, imagem gerenciada ou outra versão de imagem.
  • Data de fim de vida. Indique a data de fim de vida da versão da imagem. As datas de fim de vida são informativas; os usuários ainda poderão criar VMs a partir de versões posteriores à data de fim de vida.

Imagens generalizadas e especializadas

Há dois estados do sistema operacional suportados pela Galeria de Computação do Azure. Normalmente, as imagens exigem que a VM usada para criar a imagem tenha sido generalizada antes de tirar a imagem. A generalização é um processo que remove informações específicas da máquina e do usuário da VM. Para Linux, você pode usar waagent-deprovision ou -deprovision+user parâmetros. Para Windows, a ferramenta Sysprep é usada.

VMs especializadas não passaram por um processo para remover informações e contas específicas da máquina. Além disso, as VMs criadas a partir de imagens especializadas não têm um osProfile associado a elas. Isso significa que imagens especializadas terão algumas limitações, além de alguns benefícios.

  • As VMs e os conjuntos de dimensionamento criados a partir de imagens especializadas podem estar ativos e funcionando mais rapidamente. Como elas são criadas a partir de uma fonte que já passou pela primeira inicialização, as VMs criadas a partir dessas imagens inicializam mais rapidamente.
  • As contas que podem ser usadas para fazer logon na VM também podem ser usadas em qualquer VM criada usando a imagem especializada criada a partir dessa VM.
  • As VMs terão o nome do computador da VM da qual a imagem foi retirada. Você deve alterar o nome do computador para evitar colisões.
  • É osProfile como algumas informações confidenciais são passadas para a VM, usando secretso . Isso pode causar problemas ao usar KeyVault, WinRM e outras funcionalidades que usam secrets no osProfile. Em alguns casos, você pode usar identidades de serviço gerenciado (MSI) para contornar essas limitações.

Atualizando recursos

Uma vez criado, você pode fazer algumas alterações nos recursos da galeria. Estas limitam-se a:

Galeria de Computação do Azure:

  • Description

Definição da imagem:

  • VCPUs recomendadas
  • Memória recomendada
  • Description
  • Data de fim de vida
  • Notas de versão

Versão da imagem:

  • Contagem de réplicas regionais
  • Regiões de destino
  • Excluir do mais recente
  • Data de fim de vida

Partilhar

Há três maneiras principais de compartilhar imagens na Galeria de Computação do Azure, dependendo de com quem você deseja compartilhar:

Partilhar com: Pessoas Grupos Principal de Serviço Todos os usuários em uma assinatura (ou) locatário específico Publicamente com todos os usuários no Azure
Compartilhamento RBAC Sim Sim Sim No Não
RBAC + Direct galeria compartilhada Sim Sim Sim Sim No
RBAC + Galeria da Comunidade Sim Sim Sim No Sim

Quais permissões RBAC são necessárias para criar uma imagem ACG:

As imagens ACG podem ser criadas por usuários de várias fontes, incluindo máquinas virtuais, discos/instantâneos e VHDs. A seção descreve as várias permissões de usuário necessárias para criar uma imagem da Galeria de Computação do Azure. Identifica sem as permissões necessárias não será capaz de criar imagens ACG.

Source type Permissões necessárias
Máquina virtual Escrita
Disco/instantâneo Escrita
VHD Escrever (listKeys)
Imagem gerenciada Lida
Imagem de Galeria Lida

Consulte nossa documentação para obter informações adicionais sobre funções internas do Azure, para conceder permissões RBAC

Replicação superficial

Ao criar uma versão de imagem, você pode definir o modo de replicação como superficial para desenvolvimento e teste. A replicação superficial ignora a cópia da imagem, para que a versão da imagem fique pronta mais rapidamente. Mas, isso também significa que você não pode implantar um grande número de VMs a partir dessa versão de imagem. Isso é semelhante à maneira como as imagens gerenciadas mais antigas funcionavam.

A replicação superficial também pode ser útil se você tiver imagens grandes (até 32 TB) que não são implantadas com frequência. Como a imagem de origem não é copiada, discos maiores podem ser usados. Mas, eles também não podem ser usados para implantar um grande número de VMs simultaneamente.

Para definir uma imagem para replicação superficial, use --replication-mode Shallow com a CLI do Azure.

Suporte SDK

Os seguintes SDKs dão suporte à criação de Galerias de Computação do Azure:

Modelos

Você pode criar o recurso da Galeria de Computação do Azure usando modelos. Existem vários modelos de início rápido disponíveis:

Perguntas mais frequentes

Para listar todos os recursos da Galeria de Computação do Azure em assinaturas às quais você tem acesso no portal do Azure, siga as etapas abaixo:

  1. Abra o portal do Azure.
  2. Role a página para baixo e selecione Todos os recursos.
  3. Selecione todas as assinaturas nas quais você gostaria de listar todos os recursos.
  4. Procure recursos do tipo Galeria de Computação do Azure.

Para listar todos os recursos da Galeria de Computação do Azure, em assinaturas para as quais você tem permissões, use o seguinte comando na CLI do Azure:

   az account list -otsv --query "[].id" | xargs -n 1 az sig list --subscription