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 é uma cópia de uma VM completa (incluindo quaisquer 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, para qual sistema operacional 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 versõ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 Publicador 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.

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.

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.
  • Excluir a versão dos mais recentes. Você pode impedir que uma versão seja usada como a versão mais recente 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 criados 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

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 em uma Galeria de Computação do Azure, dependendo de com quem você deseja compartilhar:

Compartilhar com: Opção
Pessoas, grupos ou entidades de serviço específicas O RBAC (controle de acesso baseado em função) permite compartilhar recursos com pessoas, grupos ou entidades de serviço específicas em um nível granular.
Assinaturas ou locatários Uma galeria compartilhada direta (versão prévia) permite compartilhar com todos em uma assinatura ou locatário.
Todos A galeria da comunidade (versão prévia) permite compartilhar toda a galeria publicamente com todos os usuários do Azure.

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 esteja pronta muito 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 muito 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

Para obter mais informações, confira Listar, atualizar e excluir recursos de imagem.

Sim. Há três cenários com base nos tipos de imagens que você pode ter.

Cenário 1: se você tiver uma imagem gerenciada, poderá criar uma definição de imagem e a versão da imagem usando essa definição. Para obter mais informações, confira Criar uma definição de imagem e uma versão de imagem.

Cenário 2: Se você tiver uma imagem não gerenciada, poderá criar uma imagem gerenciada com base nela e, em seguida, criar uma definição de imagem e a versão da imagem com base nela.

Cenário 3: Se você tiver um VHD no seu sistema de arquivos local, precisará carregar o VHD para uma imagem gerenciada e, em seguida, criar uma definição da imagem e uma versão da imagem com base nela.

Posso criar uma versão da imagem de um disco especializado?

Sim, pode criar uma VM em uma imagem especializada.

Não, não é possível mover o recurso de imagem da galeria para uma assinatura diferente. Você pode replicar as versões da imagem na galeria para outras regiões ou copiar uma imagem de outra galeria.

Posso replicar as minhas versões de imagem entre nuvens, como o Azure China 21Vianet, Azure Alemanha e Nuvem do Azure Government?

Não, você não pode replicar as versões de imagem entre nuvens.

Posso replicar minhas versões de imagem entre assinaturas?

Não, você não pode replicar as versões de imagem entre regiões em uma assinatura e usá-las em outras assinaturas por meio de RBAC.

Posso compartilhar versões de imagens entre os locatários do Azure AD?

Sim, você pode usar o RBAC para compartilhar com indivíduos entre os locatários. Mas, para compartilhar em escala, consulte "Compartilhar imagens da galeria entre locatários do Azure" usando o PowerShell ou a CLI.

Quanto tempo leva para replicar as versões de imagem entre todas as regiões de destino?

O tempo de replicação de versão de imagem depende inteiramente do tamanho da imagem e do número de regiões para as quais ela está sendo replicada. No entanto, como uma melhor prática, é recomendável manter a imagem pequena e as regiões de origem e destino perto para melhores resultados. Você pode verificar o status da replicação usando o sinalizador -ReplicationStatus.

Qual é a diferença entre região de origem e região de destino?

Região de origem é a região em que sua versão da imagem será criada e regiões de destino são as regiões em que uma cópia da sua versão da imagem será armazenada. Para cada versão de imagem, você pode ter apenas uma região de origem. Além disso, passe o local da região de origem como uma das regiões de destino ao criar uma versão da imagem.

Como faço para especificar a região de origem ao criar a versão da imagem?

Durante a criação de uma versão de imagem, você pode usar o argumento --location na CLI e o parâmetro -Location no PowerShell para especificar a região de origem. Verifique se a imagem gerenciada que você está usando como imagem base para criar a versão da imagem está no local em que você pretende criar a versão da imagem. Além disso, passe o local da região de origem como uma das regiões de destino ao criar uma versão da imagem.

Como faço para especificar o número de réplicas de versão da imagem a serem criadas em cada região?

Há duas maneiras de especificar o número de réplicas de versão da imagem a serem criadas em cada região:

  1. A contagem de réplica regionais que especifica o número de réplicas que você deseja criar por região.
  2. A contagem de réplicas comuns, que é a contagem padrão por região caso a contagem de réplicas regionais não seja especificada.

Para especificar a contagem de réplicas regionais, passe a localização junto com o número de réplicas que você deseja criar nessa região: "Centro-Sul dos EUA=2".

Se a contagem de réplicas regionais não for especificada com cada local, o número de réplicas padrão será a contagem de réplicas comuns que você especificou.

Para especificar a contagem de réplicas comuns na CLI do Azure, use o argumento --replica-count no comando az sig image-version create.

Sim, isso é possível. Porém, como uma melhor prática, incentivamos que você mantenha o grupo de recursos, a galeria, a definição da imagem e a versão da imagem na mesma localização.

Não há encargos para usar uma Galeria de Computação do Azure, exceto pelos encargos de armazenamento para armazenar as versões de imagem e os encargos de saída de rede para replicar as versões de imagem da região de origem para as regiões de destino.

Qual versão da API devo usar ao criar imagens?

Para trabalhar com galerias, definições de imagem e versões de imagem, é recomendável usar a API versão 01/06/2018. O ZRS (Armazenamento com Redundância de Zona) requer a versão de 01/03/2019 ou mais recente.

Qual versão da API devo usar para criar uma VM ou um Conjunto de Dimensionamento de Máquinas Virtuais da versão da imagem?

Para implantações de conjunto de dimensionamento de máquina virtual e VM usando uma versão de imagem, recomendamos usar a versão da API 2018-04-01 ou superior.

Sim, você pode atualizar a referência da imagem do conjunto de dimensionamento de uma imagem gerenciada para uma imagem da Galeria de Computação do Azure, desde que o tipo do OS, a geração do Hyper-V e o layout do disco de dados sejam correspondentes entre as imagens.

Solucionar problemas

Se tiver problemas com a execução de operações nos recursos da galeria, consulte a lista de erros comuns no Guia de solução de problemas.

Além disso, você pode postar e marcar sua pergunta com azure-virtual-machines-images em P&R.

Próximas etapas

Saiba como implantar imagens usando a Galeria de Computação do Azure.