Criar uma VM usando uma versão de imagem especializada

Aplica-se a: ✔️ VMs Linux VMs ✔️ Windows

Crie uma VM a partir de uma versão de imagem especializada armazenada em uma Galeria de Computação do Azure (anteriormente conhecida como Galeria de Imagens Compartilhadas). Se você quiser criar uma VM usando uma versão de imagem generalizada, consulte Criar uma VM a partir de uma versão de imagem generalizada.

Este artigo mostra como criar uma VM a partir de uma imagem especializada:

Importante

Quando você cria uma nova VM a partir de uma imagem especializada, a nova VM mantém o nome do computador da VM original. Outras informações específicas do computador, como o CMID, também são mantidas. Essas informações duplicadas podem causar problemas. Ao copiar uma VM, esteja ciente de quais tipos de informações específicas do computador seus aplicativos confiam.

Crie uma VM a partir de uma galeria interna.

Liste as definições de imagem em uma galeria usando az sig image-definition list para ver o nome e o ID das definições.

resourceGroup=myGalleryRG
gallery=myGallery
az sig image-definition list \
   --resource-group $resourceGroup \
   --gallery-name $gallery \
   --query "[].[name, id]" \
   --output tsv

Crie a VM usando az vm create usando o --specialized parâmetro para indicar que a imagem é uma imagem especializada.

Use o ID de definição de imagem para --image para criar a VM a partir da versão mais recente da imagem disponível. Você também pode criar a VM a partir de uma versão específica fornecendo o ID da versão da imagem para --image.

Neste exemplo, estamos criando uma VM a partir da versão mais recente da imagem myImageDefinition .

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
    --specialized

RBAC - dentro da sua organização

Se a assinatura onde a galeria reside estiver dentro do mesmo locatário, as imagens compartilhadas por meio do RBAC poderão ser usadas para criar VMs usando a CLI e o PowerShell.

Você precisará imageID da imagem que deseja usar e certifique-se de que a imagem seja replicada para a região onde deseja criar a VM.


image="/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition"
vmResourceGroup='myResourceGroup'
location='westus'
vmName='myVM'

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $image \
   --specialized

RBAC - de outro inquilino ou organização

Se a imagem que pretende utilizar estiver armazenada numa galeria que não esteja no mesmo inquilino (diretório), terá de iniciar sessão em cada inquilino para verificar se tem acesso.

Você precisará imageID da imagem que deseja usar e certifique-se de que a imagem seja replicada para a região onde deseja criar a VM. Você também precisará do tenantID para a galeria de origem e para onde tenantID deseja criar a VM.

Tem de iniciar sessão no inquilino onde a imagem está armazenada, obter um token de acesso e, em seguida, iniciar sessão no inquilino onde pretende criar a VM. É assim que o Azure autentica que você tem acesso à imagem.

tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'

az account clear
az login --tenant $tenant1
az account get-access-token 
az login --tenant $tenant2
az account get-access-token

Crie a VM usando az vm create usando o --specialized parâmetro para indicar que a imagem é uma imagem especializada.


imageid=""/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition""
resourcegroup="myResourceGroup"
location="West US 3"
name='myVM'

az group create --name $resourcegroup --location $location
az vm create --resource-group $resourcegroup \
    --name $name \
    --image $image \
    --specialized

Importante

A Microsoft não fornece suporte para imagens na galeria da comunidade.

Comunicar problemas com uma imagem da comunidade

O uso de imagens de máquina virtual enviadas pela comunidade tem vários riscos. As imagens podem conter malware, vulnerabilidades de segurança ou violar a propriedade intelectual de alguém. Para ajudar a criar uma experiência segura e confiável para a comunidade, você pode relatar imagens quando vir esses problemas.

A maneira mais fácil de relatar problemas com uma galeria da comunidade é usar o portal, que preencherá previamente as informações do relatório:

  • Para problemas com links ou outras informações nos campos de uma definição de imagem, selecione Denunciar imagem da comunidade.
  • Se uma versão de imagem contiver código mal-intencionado ou houver outros problemas com uma versão específica de uma imagem, selecione Relatório na coluna Versão do relatório na tabela de versões de imagem.

Você também pode usar os links a seguir para relatar problemas, mas os formulários não serão pré-preenchidos:

Para criar uma VM usando uma imagem compartilhada em uma galeria da comunidade, use a ID exclusiva da imagem para o --image, que estará no seguinte formato:

/CommunityGalleries/<community gallery name, like: ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f>/Images/<image name>/Versions/latest

Como usuário final, para obter o nome público de uma galeria da comunidade, você precisa usar o portal. Ir para Máquinas>virtuais Criar>imagem>de máquina>virtual do Azure Ver todas as imagens>Imagens da>comunidade Nome da galeria pública.

Liste todas as definições de imagem que estão disponíveis em uma galeria da comunidade usando az sig image-definition list-community. Neste exemplo, listamos todas as imagens na galeria ContosoImage no oeste dos EUA e, por nome, a ID exclusiva necessária para criar um estado de VM, SO e SO.

 az sig image-definition list-community \
   --public-gallery-name "ContosoImages-1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f" \
   --location westus \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Para criar uma VM a partir de uma imagem generalizada em uma galeria da comunidade, consulte Criar uma VM a partir de uma versão de imagem generalizada.

Crie a VM usando az vm create usando o --specialized parâmetro para indicar que a imagem é uma imagem especializada.

Neste exemplo, estamos criando uma VM a partir da versão mais recente da imagem myImageDefinition .

az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
    --name myVM \
    --image "/CommunityGalleries/ContosoImages-f61bb1d9-3c5a-4ad2-99b5-744030225de6/Images/LinuxSpecializedVersions/latest" \
    --specialized

Ao usar uma imagem da comunidade, você será solicitado a aceitar os termos legais. A mensagem terá esta aparência:

To create the VM from community gallery image, you must accept the license agreement and privacy statement: http://contoso.com. (If you want to accept the legal terms by default, please use the option '--accept-term' when creating VM/VMSS) (Y/n): 

Importante

Galeria de Computação do Azure – a galeria compartilhada direta está atualmente em VISUALIZAÇÃO e sujeita aos Termos de Visualização da Galeria de Computação do Azure.

Para publicar imagens em uma galeria compartilhada direta durante a visualização, você precisa se registrar em https://aka.ms/directsharedgallery-preview. A criação de VMs a partir de uma galeria compartilhada direta está aberta a todos os usuários do Azure.

Durante a visualização, você precisa criar uma nova galeria, com a propriedade sharingProfile.permissions definida como Groups. Ao usar a CLI para criar uma galeria, use o --permissions groups parâmetro. Você não pode usar uma galeria existente, a propriedade não pode ser atualizada no momento.

Para criar uma VM usando a versão mais recente de uma imagem compartilhada com sua assinatura ou locatário, você precisa da ID da imagem no seguinte formato:

/SharedGalleries/<uniqueID>/Images/<image name>/Versions/latest

Para encontrar a uniqueID galeria compartilhada com você, use az sig list-shared. Neste exemplo, estamos procurando galerias na região Oeste dos EUA.

region=westus
az sig list-shared --location $region --query "[].name" -o tsv

Use o nome da galeria para encontrar todas as imagens disponíveis. Neste exemplo, listamos todas as imagens no oeste dos EUA e, por nome, a ID exclusiva necessária para criar um estado de VM, SO e SO.

galleryName="1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-myDirectShared"
 az sig image-definition list-shared \
   --gallery-unique-name $galleryName \
   --location $region \
   --query [*]."{Name:name,ID:uniqueId,OS:osType,State:osState}" -o table

Certifique-se de que o estado da imagem é Specialized. Se você quiser usar uma imagem com o Generalized estado, consulte Criar uma VM a partir de uma versão generalizada da imagem.

Crie a VM usando az vm create usando o --specialized parâmetro para indicar que a imagem é uma imagem especializada.

Use o Id, anexado com /Versions/latest para usar a versão mais recente, como o valor para '--image'' para criar uma VM.

Neste exemplo, estamos criando uma VM a partir da versão mais recente da imagem myImageDefinition .

imgDef="/SharedGalleries/1a2b3c4d-1234-abcd-1234-1a2b3c4d5e6f-MYDIRECTSHARED/Images/myDirectDefinition/Versions/latest"
vmResourceGroup=myResourceGroup
location=westus
vmName=myVM

az group create --name $vmResourceGroup --location $location

az vm create\
   --resource-group $vmResourceGroup \
   --name $vmName \
   --image $imgDef \
   --specialized

Próximos passos