Criar uma VM usando uma versão de imagem especializada
Artigo
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:
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.
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
Depois de ter uma versão de imagem especializada, você pode criar uma ou mais novas VMs usando o cmdlet New-AzVM .
Neste exemplo, estamos usando o ID de definição de imagem para garantir que sua nova VM use a versão mais recente de uma imagem. Você também pode usar uma versão específica usando o ID da versão da imagem para Set-AzVMSourceImage -Id. Por exemplo, para usar a imagem versão 1.0.0 , digite: Set-AzVMSourceImage -Id "/subscriptions/<subscription ID where the gallery is located>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition/versions/1.0.0".
Usar uma versão de imagem específica significa que a automação pode falhar se essa versão específica da imagem não estiver disponível porque foi excluída ou removida da região. Recomendamos usar o ID de definição de imagem para criar sua nova VM, a menos que uma versão de imagem específica seja necessária.
Substitua nomes de recursos conforme necessário neste exemplo.
# Create some variables for the new VM.
$resourceGroup = "mySIGSpecializedRG"
$location = "South Central US"
$vmName = "mySpecializedVM"
# Get the image. Replace the name of your resource group, gallery, and image definition. This will create the VM from the latest image version available.
$imageDefinition = Get-AzGalleryImageDefinition `
-GalleryName myGallery `
-ResourceGroupName myResourceGroup `
-Name myImageDefinition
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $imageDefinition.Id | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Agora você pode criar uma ou mais novas VMs. Este exemplo cria uma VM chamada myVM, no myResourceGroup, no datacenter do Leste dos EUA .
Vá para a definição da sua imagem. Você pode usar o filtro de recursos para mostrar todas as definições de imagem disponíveis.
Na página da definição da imagem, selecione Criar VM no menu na parte superior da página.
Para Grupo de recursos, selecione Criar novo e digite myResourceGroup para o nome.
Em Nome da máquina virtual, digite myVM.
Em Região, selecione Leste dos EUA.
Para as opções de Disponibilidade, deixe o padrão Sem necessidade de redundância de infraestrutura.
O valor de Image é preenchido automaticamente com a versão da latest imagem se você tiver começado a partir da página para a definição da imagem.
Em Tamanho, escolha um tamanho de VM na lista de tamanhos disponíveis e, em seguida, escolha Selecionar.
Em Conta de administrador, o nome de usuário está esmaecido porque o nome de usuário e as credenciais da VM de origem são usados.
Se quiser permitir o acesso remoto à VM, em Portas de entrada públicas, escolha Permitir portas selecionadas e, em seguida, selecione SSH (22) ou RDP (3389) na lista suspensa. Se você não quiser permitir o acesso remoto à VM, deixe Nenhum selecionado para Portas de entrada públicas.
Quando terminar, selecione o botão Rever + criar na parte inferior da página.
Depois que a VM passar na validação, selecione Criar na parte inferior da página para iniciar a implantação.
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.
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
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.
Crie a VM. Substitua as informações do exemplo pelas suas. Antes de criar a VM, certifique-se de que a imagem é replicada na região onde você deseja criar a VM.
# Create some variables for the new VM.
$resourceGroup = "myResourceGroup"
$location = "South Central US"
$vmName = "myVM"
# Set a variable for the image version in Tenant 1 using the full image ID of the image version
$image = "/subscriptions/<Tenant 1 subscription>/resourceGroups/<Resource group>/providers/Microsoft.Compute/galleries/<Gallery>/images/<Image definition>/versions/<version>"
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create the network resources.
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name mySubnet `
-AddressPrefix 192.168.1.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name MYvNET `
-AddressPrefix 192.168.0.0/16 `
-Subnet $subnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name "mypublicdns$(Get-Random)" `
-AllocationMethod Static `
-IdleTimeoutInMinutes 4
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig `
-Name myNetworkSecurityGroupRuleRDP `
-Protocol Tcp `
-Direction Inbound `
-Priority 1000 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
$nsg = New-AzNetworkSecurityGroup `
-ResourceGroupName $resourceGroup `
-Location $location `
-Name myNetworkSecurityGroup `
-SecurityRules $nsgRuleRDP
$nic = New-AzNetworkInterface `
-Name $vmName `
-ResourceGroupName $resourceGroup `
-Location $location `
-SubnetId $vnet.Subnets[0].Id `
-PublicIpAddressId $pip.Id `
-NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration using Set-AzVMSourceImage -Id $imageDefinition.Id to use the latest available image version.
$vmConfig = New-AzVMConfig `
-VMName $vmName `
-VMSize Standard_D1_v2 | `
Set-AzVMSourceImage -Id $image | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM `
-ResourceGroupName $resourceGroup `
-Location $location `
-VM $vmConfig
Galeria da comunidade
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:
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):
Digite máquinas virtuais na pesquisa.
Em Serviços, selecione Máquinas virtuais.
Na página Máquinas virtuais, selecione Criar e, em seguida, Máquina virtual. A página Criar uma máquina virtual é aberta.
Na guia Noções básicas, em Detalhes do projeto, verifique se a assinatura correta está selecionada e escolha Criar novo grupo de recursos ou selecione um na lista suspensa.
Em Detalhes da instância, digite um nome para o nome da máquina virtual.
Para Tipo de segurança, verifique se Padrão está selecionado.
Para a sua Imagem, selecione Ver todas as imagens. A página Selecionar uma imagem será aberta.
No menu à esquerda, em Outros itens, selecione Imagens da comunidade. Os Outros Itens | A página Imagens da comunidade será aberta.
Selecione uma imagem na lista. Certifique-se de que o estado do SO é Especializado. Se você quiser usar uma imagem especializada, consulte Criar uma VM usando uma versão de imagem generalizada. Dependendo da imagem escolhida, a região em que a VM será criada será alterada para corresponder à imagem.
Conclua o restante das opções e selecione o botão Revisar + criar na parte inferior da página.
Na página Criar uma máquina virtual, você pode ver os detalhes sobre a VM que está prestes a criar. Quando estiver pronto, selecione Criar.
Galeria compartilhada direta
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:
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
Nota
Problema conhecido: no portal do Azure, se você selecionar uma região, selecionar uma imagem e, em seguida, alterar a região, receberá uma mensagem de erro: "Você só pode criar VM nas regiões de replicação desta imagem", mesmo quando a imagem for replicada para essa região. Para se livrar do erro, selecione uma região diferente e volte para a região desejada. Se a imagem estiver disponível, deve limpar a mensagem de erro.
Você também pode usar a CLI do Azure para verificar quais imagens são compartilhadas com você. Por exemplo, você pode usar 'az sig list-shared --location westus" para ver quais imagens são compartilhadas com você na região Oeste dos EUA.
Digite máquinas virtuais na pesquisa.
Em Serviços, selecione Máquinas virtuais.
Na página Máquinas virtuais, selecione Criar e, em seguida, Máquina virtual. A página Criar uma máquina virtual é aberta.
Na guia Noções básicas, em Detalhes do projeto, verifique se a assinatura correta está selecionada e escolha Criar novo grupo de recursos ou selecione um na lista suspensa.
Em Detalhes da instância, digite um nome para o nome da máquina virtual.
Para Tipo de segurança, verifique se Padrão está selecionado.
Para a sua Imagem, selecione Ver todas as imagens. A página Selecionar uma imagem será aberta.
No menu à esquerda, em Outros itens, selecione Imagens compartilhadas diretas (VISUALIZAÇÃO). Os Outros Itens | A página Direct Shared Images (PREVIEW) será aberta.
Selecione uma imagem na lista. Certifique-se de que o estado do SO é Especializado. Se você quiser usar uma imagem generalizada, consulte Criar uma VM usando uma versão de imagem generalizada. Dependendo da imagem escolhida, a região na qual a VM será criada será alterada para corresponder à imagem.
Conclua o restante das opções e selecione o botão Revisar + criar na parte inferior da página.
Na página Criar uma máquina virtual, você pode ver os detalhes sobre a VM que está prestes a criar. Quando estiver pronto, selecione Criar.