Armazenar e compartilhar imagens em uma Galeria de Computação do Azure

Aplica-se a: ✔️ VMs do Linux ✔️ VMs do Windows ✔️ Conjuntos de dimensionamento flexíveis ✔️ Conjuntos de dimensionamento uniformes

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

Se você tem um grande número de imagens que precisa manter e gostaria de disponibilizá-las em toda a empresa, é possível usar a 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 Descrição
Origem da imagem Este é um recurso que pode ser usado para criar uma versão da imagem em uma galeria. Uma origem de imagem pode ser uma VM do Azure existente generalizada ou especializada, uma imagem gerenciada, um instantâneo, uma VHD ou uma versão de imagem em outra galeria.
Galeria Uma galeria é um repositório para gerenciar e compartilhar imagens, mas você controla quem tem acesso, como o Azure Marketplace.
Definição da imagem As definições de imagem são criadas dentro de uma galeria e elas transportam informações sobre a imagem e os requisitos para usá-la na criação de VMs. Isso inclui se a imagem é Windows ou Linux, notas sobre a 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 da imagem é usada para criar uma VM ao usar uma galeria. Você pode ter diversas versões de uma imagem conforme necessário para seu ambiente. Como uma imagem gerenciada, quando você usa uma versão da imagem para criar uma VM, a versão da imagem é usada para criar novos discos para a VM. Versões de imagem podem ser usadas várias vezes.

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

Definições da imagem

As definições de imagem são um agrupamento lógico de versões de uma imagem. A definição de imagem retém informações sobre o motivo pelo qual a imagem foi criada e contém metadados de imagem como, para qual sistema operacional é, recursos aos quais dá suporte e outras informações sobre como usar a imagem. Uma definição de imagem é como um plano de todos os detalhes sobre a criação de uma imagem específica. Você não implanta uma VM por meio de uma definição de imagem, mas por meio das versões de imagem criadas com base na definição.

Há três parâmetros para cada definição de imagem que são usados em combinação: Editor, Oferta e SKU. Eles são usados para localizar 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 de imagem Publisher Oferta Sku
myImage1 Contoso Finanças Back-end
myImage2 Contoso Finanças Front-end
myImage3 Testando Finanças Front-end

Todos os três têm conjuntos exclusivos de valores. O formato é semelhante a como você pode especificar atualmente o editor, a oferta e o 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 deve ter um conjunto exclusivo desses valores.

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

  • Estado do sistema operacional – Você pode definir o estado do sistema operacional para especializado ou generalizado. Esse campo é obrigatório.
  • Sistema operacional – Pode ser Windows ou Linux. Esse campo é obrigatório.
  • Geração do Hyper-V – especifique se a imagem foi criada com base em um VHD do Hyper-V de geração 1 ou geração 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 dão suporte aos mesmos recursos, plano, estado do sistema operacional, tipo de sistema operacional e outros. A seguir estão outros parâmetros que podem ser configurados na definição de imagem para que você possa acompanhar os seus recursos com mais facilidade:

  • Descrição – Use a descrição para fornecer informações mais detalhadas sobre por que a definição da imagem existe. Por exemplo, você pode ter uma definição de imagem para o seu servidor front-end que tem 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 de imagem.

  • Política de Privacidade e Notas sobre a versão – Armazene notas sobre a versão e declarações de privacidade no armazenamento do Azure e forneça um URI para acessá-las como parte da definição da imagem.

  • Data de fim da vida útil – 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 de imagem. As datas de fim da vida útil são informativas; os usuários ainda poderão criar VMs a partir de imagens e versões com a data de fim da vida útil vencida.

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

  • Recomendações de memória e de vCPU mínimas e máximas – Se sua imagem tiver recomendações de memória e de vCPU, você poderá anexar essas informações à definição de imagem.

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

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

  • Arquitetura

  • Os recursos permitem que você especifique recursos adicionais e SecurityType(s) compatíveis com a imagem, com base no tipo de galeria:

    Recursos Valores aceitos Definição Com suporte em
    IsHibernateSupported Verdadeiro, Falso Crie VMs com suporte para hibernação. Privado, direto compartilhado, comunidade
    IsAcceleratedNetworkSupported Verdadeiro, Falso Criar VMs com rede acelerada habilitada. Quando definido como True na definição de imagem, não há suporte para a captura de VMs que não dão suporte à rede acelerada. Privado, direto compartilhado, comunidade
    DiskControllerType ["SCSI", "NVMe"], ["SCSI"] Defina isso para usar o tipo de disco SCSI ou NVMe. VMs NVMe e discos só podem ser capturados em definições de imagem marcadas para dar suporte ao NVMe. Privado, direto compartilhado, comunidade

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

    SecurityType Definição Com suporte em
    ConfidentialVMSupported É uma imagem Gen2 genérica que não contém blob VMGS. A VM Gen2 ou a VM Confidencial podem ser criadas com base nesse tipo de imagem Privado, Direto compartilhado, Comunidade
    VM confidencial Somente VMs confidenciais podem ser criadas com base nesse tipo de imagem Privado
    TrustedLaunchSupported É uma imagem Gen2 genérica que não contém o blob do VMGS. A VM Gen2 ou a VM TrustedLaunch podem ser criadas com base nesse tipo de imagem. Privado, direto compartilhado, comunidade
    TrustedLaunch Somente a VM TrustedLaunch pode ser criada com base nesse tipo de imagem Privado
    TrustedLaunchAndConfidentialVmSupported É uma imagem Gen2 genérica que não contém o blob do VMGS. A VM Gen2, a VM TrustedLaunch ou uma ConfidentialVM podem ser criadas com base nesse tipo de imagem. Privado, direto compartilhado, comunidade

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

    **O ConfidentialVM tem suporte apenas nas regiões em que está disponível. Você pode encontrar as regiões com suporte aqui.

Versões da imagem

Uma versão da imagem é usada para criar uma VM. Você pode ter diversas versões de uma imagem conforme necessário para seu ambiente. Quando você usa uma versão da imagem para criar uma VM, a versão da imagem é usada para criar novos discos para a VM. 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. Isso é usado como o nome da versão da imagem. Ele está sempre no formato: MajorVersion.MinorVersion.Patch. Quando você especifica o uso do mais recente ao criar uma VM, a imagem mais recente é escolhida com base na MajorVersion mais alta, depois em MinorVersion e em Patch.
  • Fonte. A origem pode ser uma VM, um disco gerenciado, um instantâneo, uma imagem gerenciada ou outra versão da imagem.
  • Data de fim da vida útil. Indicar a data de fim da vida útil para a versão da imagem. As datas de fim da vida útil são informativas; os usuários ainda poderão criar VMs a partir de versões com a data de fim da vida útil vencida.

Imagens generalizadas e especializadas

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

As VMs especializadas não passaram por um processo para remover informações e contas específicas do computador. Além disso, as VMs criadas 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 de imagens especializadas podem ser colocados em funcionamento mais rapidamente. Como elas são criadas de uma origem que já passou pela primeira inicialização, as VMs criadas dessas imagens são inicializadas mais rapidamente.
  • As contas que poderiam ser usadas para fazer logon na VM também podem ser usadas em qualquer VM criada usando a imagem especializada que é criada usando essa VM.
  • As VMs terão o Nome do computador da VM da qual a imagem foi obtida. Você deve alterar o nome do computador para evitar colisões.
  • O osProfile é como algumas informações confidenciais são passadas para a VM, usando secrets. Isso pode causar problemas ao usar o KeyVault, o WinRM e outras funcionalidades que usam secrets no osProfile. Em alguns casos, você pode usar as MSIs (identidades de serviço gerenciadas) para contornar essas limitações.

Atualização de recursos

Depois de criados, você pode fazer algumas alterações nos recursos da galeria. Elas são limitadas a:

Galeria de Computação do Azure:

  • Descrição

definição da imagem:

  • vCPUs recomendadas
  • Memória recomendada
  • Descrição
  • Data de fim da vida útil
  • ReleaseNotes

Versão da imagem:

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

Compartilhamento

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

Compartilhamento com: Pessoas Grupos Entidade de Serviço Todos os usuários em uma assinatura (ou) um locatário específico Publicamente com todos os usuários do Azure
Compartilhamento RBAC Sim Sim Sim Não No
RBAC + galeria compartilhada direta Sim Sim Sim Sim No
RBAC + galeria da comunidade Sim Sim Sim Não Sim

Quais permissões de controle de acesso baseado em função (RBAC) são necessárias para criar uma imagem da Galeria de Computação do Azure (ACG):

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

Tipo de origem Permissões Necessárias
Máquina virtual Gravar
Disco/instantâneo Gravar
VHD Gravação (listKeys)
Imagem Gerenciada Ler
Imagem da galeria Ler

Confira nossa documentação para obter mais informações 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 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 a SDK

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

Modelos

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

Perguntas frequentes

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

  1. Abra o Portal do Azure.
  2. Role para baixo na página e selecione Todos os recursos.
  3. Selecione todas as assinaturas sob as 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 entre as 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