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. |
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
,-PurchasePlanName
e-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
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, usandosecrets
o . Isso pode causar problemas ao usar KeyVault, WinRM e outras funcionalidades que usamsecrets
noosProfile
. Em alguns casos, você pode usar identidades de serviço gerenciado (MSI) para contornar essas limitações.
Nota
As imagens de VM generalizadas e especializadas contêm um disco do sistema operacional e todos os discos conectados, se houver.
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 |
Permissões RBAC 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.
- VM como origem
- Disco/instantâneo como origem
- VHD como fonte
- Imagem gerenciada e versão da imagem da galeria como origem
- Os usuários precisarão de permissão de gravação na máquina virtual para criar uma versão ACG Image.
- Para o SDK do Azure, use a propriedade properties.storageProfile.source.virtualMachineId, Esta propriedade requer a API versão 2023-07-03 ou Versão 1.4.0 (ou superior) do SDK do .NET
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:
- Criar uma galeria
- Criar uma definição de imagem numa galeria
- Criar uma versão da imagem numa galeria
Perguntas mais frequentes
- Como posso listar todos os recursos da Galeria de Computação do Azure em assinaturas?
- Posso mover minha imagem existente para uma Galeria de Computação do Azure?
- Posso criar uma versão de imagem a partir de um disco especializado?
- Posso mover o recurso da Galeria de Computação do Azure para uma assinatura diferente depois que ele for criado?
- Posso replicar minhas versões de imagem em nuvens como o Microsoft Azure operado pela 21Vianet, Azure Alemanha ou Azure Government Cloud?
- Posso replicar as minhas versões de imagem entre subscrições?
- Posso compartilhar versões de imagem entre locatários do Microsoft Entra?
- Quanto tempo leva para replicar versões de imagem nas regiões de destino?
- Qual é a diferença entre região de origem e região de destino?
- Como posso especificar a região de origem ao criar a versão da imagem?
- Como posso especificar o número de réplicas de versão de imagem a serem criadas em cada região?
- Posso criar a galeria num local diferente daquele para a definição e versão da imagem?
- Quais são os encargos para usar uma Galeria de Computação do Azure?
- Que versão da API devo usar ao criar imagens?
- Qual versão da API devo usar para criar uma VM ou um conjunto de escala de máquina virtual a partir da versão da imagem?
- Posso atualizar meu Conjunto de Escala de Máquina Virtual criado usando imagem gerenciada para usar imagens da Galeria de Computação do Azure?
- Como posso atualizar meu código para usar a nova propriedade e garantir que as permissões sejam concedidas com precisão durante a criação da imagem da VM?
- A exclusão das imagens da Galeria de Computação do Azure afeta as VMs existentes criadas a partir dela?
Como posso listar todos os recursos da Galeria de Computação do Azure em assinaturas?
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:
- Abra o portal do Azure.
- Role a página para baixo e selecione Todos os recursos.
- Selecione todas as assinaturas nas quais você gostaria de listar todos os recursos.
- 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
Posso mover minha imagem existente para uma Galeria de Computação do Azure?
Sim. Existem 3 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 uma versão de imagem a partir dela. Para obter mais informações, consulte Criar e 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 a partir dela e, em seguida, criar uma definição de imagem e uma versão de imagem a partir dela.
Cenário 3: Se você tiver um VHD em seu sistema de arquivos local, precisará carregar o VHD para uma imagem gerenciada, então você pode criar uma definição de imagem e uma versão de imagem a partir dele.
- Se o VHD for de uma VM do Windows, consulte Carregar um VHD.
- Se o VHD for para uma VM Linux, consulte Carregar um VHD
Posso criar uma versão de imagem a partir de um disco especializado?
Sim, pode criar uma VM a partir de uma imagem especializada.
Posso mover o recurso da Galeria de Computação do Azure para uma assinatura diferente depois que ele for criado?
Não, não é possível mover o recurso de imagem da galeria para uma assinatura diferente. Você pode replicar as versões de imagem na galeria para outras regiões ou copiar uma imagem de outra galeria.
Posso replicar minhas versões de imagem em nuvens como o Azure operado pela 21Vianet ou o Azure Germany ou o Azure Government Cloud?
Não, não é possível replicar versões de imagem entre nuvens.
Posso replicar as minhas versões de imagem entre subscrições?
Não, você pode replicar as versões de imagem entre regiões em uma assinatura e usá-la em outras assinaturas por meio do RBAC.
Posso compartilhar versões de imagem entre locatários do Microsoft Entra?
Sim, você pode usar o RBAC para compartilhar com indivíduos entre 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 versões de imagem nas regiões de destino?
O tempo de replicação da versão da imagem depende inteiramente do tamanho da imagem e do número de regiões para as quais ela está sendo replicada. No entanto, como prática recomendada, é recomendável manter a imagem pequena e as regiões de origem e de destino próximas para obter 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?
A região de origem é a região na qual a versão da imagem será criada, e as regiões de destino são as regiões nas quais uma cópia da versão da imagem será armazenada. Para cada versão da imagem, você só pode ter uma região de origem. Além disso, certifique-se de passar o local da região de origem como uma das regiões de destino ao criar uma versão de imagem.
Como posso especificar a região de origem ao criar a versão da imagem?
Ao criar 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 mesmo local em que você pretende criar a versão da imagem. Além disso, certifique-se de passar o local da região de origem como uma das regiões de destino ao criar uma versão de imagem.
Como posso especificar o número de réplicas de versão de imagem a serem criadas em cada região?
Há duas maneiras de especificar o número de réplicas de versão de imagem a serem criadas em cada região:
- A contagem de réplicas regionais que especifica o número de réplicas que você deseja criar por região.
- A contagem de réplicas comum, 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 o local junto com o número de réplicas que você deseja criar nessa região: "South Central US=2".
Se a contagem de réplicas regionais não for especificada com cada local, o número padrão de réplicas será a contagem de réplicas comum especificada.
Para especificar a contagem de réplicas comum na CLI do Azure, use o argumento --replica-count no az sig image-version create
comando.
Posso criar a galeria num local diferente daquele para a definição e versão da imagem?
Sim, é possível. Mas, como prática recomendada, recomendamos que você mantenha o grupo de recursos, a galeria, a definição da imagem e a versão da imagem no mesmo local.
Quais são os encargos para usar uma Galeria de Computação do Azure?
Não há cobranças pelo uso de uma Galeria de Computação do Azure, exceto as taxas de armazenamento para armazenar as versões de imagem e as cobranças de saída de rede para replicar as versões de imagem da região de origem para as regiões de destino.
Que versão da API devo usar ao criar imagens?
Para trabalhar com galerias, definições de imagem e versões de imagem, recomendamos que você use a versão da API 2018-06-01. O Armazenamento com Redundância de Zona (ZRS) requer a versão 2019-03-01 ou posterior.
Qual versão da API devo usar para criar uma VM ou um conjunto de escala de máquina virtual a partir da versão da imagem?
Para implantações de VM e Conjunto de Dimensionamento de Máquina Virtual usando uma versão de imagem, recomendamos que você use a versão da API 2018-04-01 ou superior.
Posso atualizar meu Conjunto de Escala de Máquina Virtual criado usando imagem gerenciada para usar imagens da Galeria de Computação do Azure?
Sim, você pode atualizar a referência de imagem do conjunto de escala de uma imagem gerenciada para uma imagem da Galeria de Computação do Azure, desde que o tipo de sistema operacional, a geração do Hyper-V e o layout do disco de dados correspondam entre as imagens.
Como posso atualizar meu código para usar a nova propriedade e garantir que as permissões sejam concedidas com precisão durante a criação da imagem da VM?
Para o campo ID da Máquina Virtual, use o campo VirtualMachineId em GallerySource(GalleryImageVersionStorageProfile.GallerySource.VirtualMachineID). A nova propriedade requer api-versão 2023-07-03 ou versão 1.4.0 (ou superior) do .NET SDK
StorageProfile = new GalleryImageVersionStorageProfile()
{
GallerySource = new GalleryArtifactVersionFullSource()
{
VirtualMachineId = new ResourceIdentifier(virtualMachineId),
}
},
Para VHD como origem, use o campo StorageAccountID em GallerySource em OSDiskImage ou Data disk Image (GalleryImageVersionStorageProfile.OSDiskImage.GallerySource.StorageAccountId). A nova propriedade requer api-versão 2022-03-03
StorageProfile = new GalleryImageVersionStorageProfile()
{
OSDiskImage = new GalleryOSDiskImage()
{
GallerySource = new GalleryDiskImageSource()
{
StorageAccountId = new ResourceIdentifier(storageAccountId),
Uri = new Uri(blobUri),
}
}
},
A exclusão da Galeria de Computação do Azure afeta as VMs criadas a partir dela?
As VMs criadas a partir da imagem da Galeria de Computação do Azure permanecem inalteradas devido aos seus discos persistentes. No entanto, a operação de dimensionamento do VMSS falhará, pois eles dependem da referência de ID da imagem de origem, que seria perdida quando a imagem da Galeria de Computação do Azure fosse excluída.
Resolver problemas
Se você tiver problemas com a execução de quaisquer 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 em azure-virtual-machines-images
P&R.
Próximos passos
Saiba como implantar imagens usando a Galeria de Computação do Azure.