Criar uma VM usando uma versão de imagem especializada

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

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

Este artigo mostra como criar uma VM com base em uma imagem especializada:

Importante

Quando você criar uma nova VM a partir de uma imagem especializada, a nova VM reté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 dependem.

Crie uma VM por meio de uma galeria interna.

Liste as definições de imagem em uma galeria usando az sig image-definition list para ver o nome e a 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 e o parâmetro --specialized para indicar que se trata de uma imagem especializada.

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

Neste exemplo, estamos criando uma VM com base na 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 – Na sua organização

Se a assinatura em que a galeria se encontra estiver no mesmo locatário, as imagens compartilhadas por meio do RBAC poderão ser usadas para criar VMs com a CLI e o PowerShell.

Você precisará da imageID da imagem que deseja usar e verificar se ela foi replicada na região em que 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 – Em outro locatário ou outra organização

Se a imagem que você deseja usar estiver armazenada em uma galeria que não esteja no mesmo locatário (diretório), você precisará entrar em cada locatário para verificar se tem acesso.

Você precisará da imageID da imagem que deseja usar e verificar se ela foi replicada na região em que deseja criar a VM. Você também precisará da tenantID da galeria de origem e da tenantID do local em que deseja criar a VM.

Você precisa entrar no locatário em que a imagem está armazenada, obter um token de acesso e entrar no locatário em que deseja 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 e o parâmetro --specialized para indicar que se trata de 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 dá suporte para imagens na galeria da comunidade.

Relatar problemas com uma imagem da comunidade

Há vários riscos no uso de imagens da máquina virtual enviadas pela comunidade. 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, relate as imagens quando você 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 Relatar 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 Relatar na coluna Relatar versão 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 preenchidos previamente:

Para criar uma máquina virtual usando uma imagem compartilhada com uma galeria da comunidade, use a ID exclusiva da imagem do --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. Acesse Máquinas virtuais>Criar>Máquina virtual do Azure>Imagem>Ver todas as imagens>Imagens da Comunidade>Nome da galeria pública.

Listar todas as definições de imagem 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 uma VM, um sistema operacional e um estado de sistema operacional.

 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 máquina virtual de uma imagem generalizada em uma galeria da comunidade, consulte Criar uma VM de uma versão de imagem generalizada.

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

Neste exemplo, estamos criando uma VM com base na 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 – as galerias compartilhadas diretas estão atualmente em VERSÃO PRÉVIA e sujeitas aos Termos de Versão Prévia da Galeria de Computação do Azure.

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

Durante a versão prévia, você precisará criar uma galeria, com a propriedade sharingProfile.permissions definida como Groups. Ao usar a CLI para criar uma galeria, use o parâmetro --permissions groups. 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ê precisará da ID da imagem no seguinte formato:

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

Para localizar a uniqueID de uma 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 localizar 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 uma VM, um sistema operacional e um estado de sistema operacional.

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

Se certifique de que o estado da imagem seja Specialized. Se você quiser usar uma imagem com o estado Generalized, consulte Criar uma VM com base em uma versão de imagem generalizada.

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

Use Id, acrescentado de /Versions/latest para usar a versão mais recente, como o valor de `--image`` para criar uma VM.

Neste exemplo, estamos criando uma VM com base na 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óximas etapas