Criar uma VM com uma versão de imagem especializada

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

Crie uma VM a partir de uma versão de imagem especializada armazenada numa Galeria de Computação do Azure (anteriormente conhecida como Shared Image Gallery). Se quiser criar uma VM com uma versão de imagem generalizada, veja 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 cria uma nova VM a partir de uma imagem especializada, a nova VM retém o nome do computador da VM original. Também são mantidas outras informações específicas do computador, como o CMID. Estas informações duplicadas podem causar problemas. Ao copiar uma VM, tenha em atenção os tipos de informações específicas do computador em que as suas aplicações dependem.

Criar uma VM a partir de uma galeria interna.

Liste as definições de imagem numa galeria com 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 com az vm create com o --specialized parâmetro para indicar que a imagem é uma imagem especializada.

Utilize o ID de definição de imagem para --image para criar a VM a partir da versão mais recente da imagem que está disponível. Também pode criar a VM a partir de uma versão específica ao fornecer o ID da versão da imagem para --image.

Neste exemplo, estamos a criar 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 - na sua organização

Se a subscrição onde reside a galeria estiver no mesmo inquilino, as imagens partilhadas através do RBAC podem ser utilizadas para criar VMs com a CLI e o PowerShell.

Precisará da imageID imagem que pretende utilizar e certifique-se de que a imagem é replicada para a região onde pretende 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.

Precisará da imageID imagem que pretende utilizar e certifique-se de que a imagem é replicada para a região onde pretende criar a VM. Também irá precisar do para a tenantID galeria de origem e do tenantID para onde pretende 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 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 com az vm create com 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

A utilização de imagens de máquinas virtuais submetidas pela comunidade tem vários riscos. As imagens podem conter software maligno, vulnerabilidades de segurança ou violar a propriedade intelectual de alguém. Para ajudar a criar uma experiência segura e fiável para a comunidade, pode comunicar imagens quando vir estes problemas.

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

  • Para problemas com ligações ou outras informações nos campos de uma definição de imagem, selecione Imagem da comunidade de relatórios.
  • Se uma versão de imagem contiver código malicioso ou existirem 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.

Também pode utilizar as seguintes ligações para comunicar problemas, mas os formulários não serão preenchidos previamente:

Para criar uma VM com uma imagem partilhada numa galeria de comunidade, utilize o ID exclusivo 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 utilizador final, para obter o nome público de uma galeria de comunidade, tem de utilizar o portal. Aceda a Máquinas> virtuaisCriar> máquina >virtual do AzureImagem>Veja todas as imagens>Imagens da Comunidade Nome>da galeria pública.

Liste todas as definições de imagem disponíveis numa galeria de comunidade com az sig image-definition list-community. Neste exemplo, listamos todas as imagens na galeria ContosoImage nos E.U.A. Oeste e, por nome, o ID exclusivo necessário para criar uma VM, o SO e o estado do 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 numa galeria de comunidade, veja Criar uma VM a partir de uma versão de imagem generalizada.

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

Neste exemplo, estamos a criar 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 utilizar uma imagem da comunidade, ser-lhe-á pedido que aceite os termos legais. A mensagem terá o seguinte aspeto:

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 partilhada direta está atualmente em PRÉ-VISUALIZAÇÃO e está sujeita aos Termos de Pré-visualização da Galeria de Computação do Azure.

Para publicar imagens numa galeria partilhada diretamente durante a pré-visualização, tem de se registar em https://aka.ms/directsharedgallery-preview. A criação de VMs a partir de uma galeria partilhada direta está aberta a todos os utilizadores do Azure.

Durante a pré-visualização, tem de criar uma nova galeria, com a propriedade sharingProfile.permissions definida como Groups. Ao utilizar a CLI para criar uma galeria, utilize o --permissions groups parâmetro . Não pode utilizar uma galeria existente, a propriedade não pode ser atualizada atualmente.

Para criar uma VM com a versão mais recente de uma imagem partilhada com a sua subscrição ou inquilino, precisa do ID da imagem no seguinte formato:

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

Para encontrar a uniqueID de uma galeria que é partilhada consigo, utilize az sig list-shared. Neste exemplo, estamos à procura de galerias na região E.U.A. Oeste.

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

Utilize o nome da galeria para localizar todas as imagens disponíveis. Neste exemplo, listamos todas as imagens nos E.U.A. Oeste e pelo nome, o ID exclusivo necessário para criar uma VM, o SO e o estado do 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 quiser utilizar uma imagem com o Generalized estado , veja Criar uma VM a partir de uma versão de imagem generalizada.

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

Utilize o Id, anexado com /Versions/latest para utilizar a versão mais recente, como o valor de "--image" para criar uma VM.

Neste exemplo, estamos a criar 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

Passos seguintes