Dependendo de como você exclui uma VM, ela só pode excluir o recurso de VM, não os recursos de rede e disco. Você pode alterar as configurações padrão para quais outros recursos são excluídos quando você exclui uma VM.
Definir opções de exclusão ao criar uma VM
Abra o portal.
Selecione + Criar um recurso.
Na página Criar um recurso , em Máquinas virtuais, selecione Criar.
Faça as suas escolhas em Noções básicas e, em seguida, selecione Seguinte: Discos > para abrir o separador Discos .
Em Opções de disco, por padrão, o disco do sistema operacional é definido como Excluir com VM. Se não quiser excluir o disco do sistema operacional, desmarque a caixa de seleção. Se você estiver usando um disco de sistema operacional existente, o padrão é desanexar o disco do sistema operacional quando a VM for excluída.
Em Discos de dados, você pode anexar um disco de dados existente ou criar um novo disco e anexá-lo à VM.
Se você escolher Criar e anexar um novo disco, a página Criar um novo disco será aberta e você poderá selecionar se deseja excluir o disco quando excluir a VM.
Se você optar por Anexar um disco existente, poderá escolher o disco, o LUN e se deseja excluir o disco de dados quando excluir a VM.
Quando terminar de adicionar as informações do disco, selecione Avançar: Rede > para abrir a guia Rede .
Na parte inferior da página, selecione Eliminar IP público e Placa de Rede (NIC) quando a VM for eliminada.
Quando terminar de fazer as suas seleções, selecione Rever e criar.
Você pode verificar quais recursos você escolheu excluir ao excluir a VM.
Quando estiver satisfeito com suas seleções e os passos de validação, selecione Criar para implantar a VM.
Para especificar o que acontece com os recursos anexados quando você exclui uma VM, use os delete-option
parâmetros. Cada recurso pode ser configurado como Delete
, o que elimina permanentemente o recurso quando se exclui a VM, ou como Detach
, que apenas desanexa o recurso e o deixa no Azure para reutilização posterior. O padrão para VMs criadas usando a CLI é desanexar o disco do sistema operacional. Recursos como os Detach
, como discos, continuarão a incorrer em cobranças, conforme aplicável.
-
--os-disk-delete-option
- Disco do SO.
-
--data-disk-delete-option
- disco de dados.
-
--nic-delete-option
- NIC.
Neste exemplo, criamos uma VM chamada myVM no grupo de recursos chamado myResourceGroup usando uma imagem chamada myImage e definimos o disco do sistema operacional e a NIC para serem excluídos quando excluirmos a VM.
az vm create \
--resource-group myResourceGroup \
--name myVM \
--image myImage \
--public-ip-sku Standard \
--nic-delete-option delete \
--os-disk-delete-option delete \
--admin-username azureuser \
--generate-ssh-keys
Para especificar o que acontece com os recursos anexados quando você exclui uma VM, use os DeleteOption
parâmetros. Cada um pode ser definido como Delete
, que elimina permanentemente o recurso quando a VM é removida, ou como Detach
, que apenas desanexa o recurso, deixando-o no Azure para reutilização futura. O padrão para VMs criadas usando o PowerShell é que o disco do sistema operacional seja desanexado quando você exclui a VM. Os recursos de que você gosta, como discos, continuarão a gerar custos, conforme aplicável.
Os DeleteOption
parâmetros são:
-
-OSDiskDeleteOption
- Disco do Sistema Operativo.
-
-DataDiskDeleteOption
- disco de dados.
-
-NetworkInterfaceDeleteOption
- NIC.
Neste exemplo, criamos uma VM e definimos o disco do sistema operacional e a NIC para serem excluídos quando excluirmos a VM.
New-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-OSDiskDeleteOption Delete `
-NetworkInterfaceDeleteOption Delete `
-Location "East US" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress"
Este exemplo mostra como definir o disco de dados e a NIC para serem excluídos quando a VM é excluída. Observe que a versão da API especificada no parâmetro api-version deve ser '2021-03-01' ou mais recente para configurar a opção de exclusão.
PUT
https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Compute/virtualMachines/myVM?api-version=xx
{
"storageProfile": {
"dataDisks": [
{
"diskSizeGB": 1023,
"name": "myVMdatadisk",
"createOption": "Empty",
"lun": 0,
"deleteOption": "Delete"
}
]
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/.../Microsoft.Network/networkInterfaces/myNIC",
"properties": {
"primary": true,
"deleteOption": "Delete"
}
}
]
}
}
Você também pode definir essa propriedade para um IP público associado a uma NIC, para que o IP público seja excluído automaticamente quando a NIC for excluída.
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic?api-version=xx
{
"properties": {
"enableAcceleratedNetworking": true,
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"publicIPAddress": {
"id": "/subscriptions/../publicIPAddresses/test-ip",
"properties": {
"deleteOption": "Delete"
}
},
"subnet": {
"id": "/subscriptions/../virtualNetworks/rg1-vnet/subnets/default"
}
}
}
]
},
"location": "eastus"
}
Atualizar o comportamento de exclusão em uma VM existente
Você pode alterar o comportamento ao excluir uma VM.
O exemplo a seguir define a opção delete para detach
que você possa reutilizar o disco.
az resource update --resource-group myResourceGroup --name myVM --resource-type virtualMachines --namespace Microsoft.Compute --set properties.storageProfile.osDisk.deleteOption=detach
O exemplo a seguir atualiza a VM para excluir o disco do sistema operacional, todos os discos de dados e todas as NICs quando a VM é excluída.
$vmConfig = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
$vmConfig.StorageProfile.OsDisk.DeleteOption = 'Delete'
$vmConfig.StorageProfile.DataDisks | ForEach-Object { $_.DeleteOption = 'Delete' }
$vmConfig.NetworkProfile.NetworkInterfaces | ForEach-Object { $_.DeleteOption = 'Delete' }
$vmConfig | Update-AzVM
O exemplo a seguir atualiza a VM para excluir a NIC, o disco do sistema operacional e o disco de dados quando a VM é excluída. Observe que a versão da API especificada no parâmetro api-version deve ser '2021-03-01' ou mais recente para configurar a opção de exclusão.
PATCH https://management.azure.com/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/virtualMachines/testvm?api-version=2021-07-01
{
"properties": {
"hardwareProfile": {
"vmSize": "Standard_D2s_v3"
},
"storageProfile": {
"imageReference": {
"publisher": "MicrosoftWindowsServer",
"offer": "WindowsServer",
"sku": "2019-Datacenter",
"version": "latest",
"exactVersion": "17763.3124.2111130129"
},
"osDisk": {
"osType": "Windows",
"name": "OsDisk_1",
"createOption": "FromImage",
"caching": "ReadWrite",
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/OsDisk_1"
},
"deleteOption": "Delete",
"diskSizeGB": 127
},
"dataDisks": [
{
"lun": 0,
"name": "DataDisk_0",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": false,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_0"
},
"deleteOption": "Delete",
"diskSizeGB": 1024,
"toBeDetached": false
},
{
"lun": 1,
"name": "DataDisk_1",
"createOption": "Attach",
"caching": "None",
"writeAcceleratorEnabled": false,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Compute/disks/DataDisk_1"
},
"deleteOption": "Delete",
"diskSizeGB": 1024,
"toBeDetached": false
}
]
},
"osProfile": {
"computerName": "testvm",
"adminUsername": "azureuser",
"windowsConfiguration": {
"provisionVMAgent": true,
"enableAutomaticUpdates": true,
"patchSettings": {
"patchMode": "AutomaticByOS",
"assessmentMode": "ImageDefault",
"enableHotpatching": false
}
},
"secrets": [],
"allowExtensionOperations": true,
"requireGuestProvisionSignal": true
},
"networkProfile": {
"networkInterfaces": [
{
"id": "/subscriptions/subID/resourceGroups/resourcegroup/providers/Microsoft.Network/networkInterfaces/nic336",
"properties": {
"deleteOption": "Delete"
}
}
]
}
}
}
Eliminação Forçada para VMs
Forçar exclusão permite que você exclua com força sua máquina virtual, reduzindo a latência de exclusão e liberando imediatamente os recursos anexados. Para VMs que não exigem desligamento normal, o Force Delete excluirá a VM o mais rápido possível enquanto alivia os recursos lógicos da VM, ignorando o desligamento normal e algumas das operações de limpeza. Force Delete não liberará imediatamente o endereço MAC associado a uma VM, pois este é um recurso físico que pode levar até 10 minutos para ser liberado. Se você precisar reutilizar imediatamente o endereço MAC em uma nova VM, Force Delete não é recomendado. Forçar exclusão só deve ser usado quando você não pretende reutilizar discos rígidos virtuais. Você pode usar a eliminação forçada através do Portal, CLI, PowerShell e API REST.
Quando você for excluir uma VM existente, encontrará uma opção para aplicar a exclusão forçada no painel de exclusão.
- Abra o portal.
- Navegue até sua máquina virtual.
- Na página Descrição geral, selecione Eliminar.
- No painel Excluir máquina virtual , marque a caixa de seleção Aplicar exclusão forçada.
- Selecione OK.
Utilize o parâmetro --force-deletion
com o comando az vm delete.
az vm delete \
--resource-group myResourceGroup \
--name myVM \
--force-deletion none
Use o -ForceDeletion
parâmetro para Remove-AzVm.
Remove-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-ForceDeletion $true
Você pode usar a API REST do Azure para aplicar a exclusão forçada às suas máquinas virtuais. Utilize o forceDeletion
parâmetro para Máquinas Virtuais - Eliminar.
Eliminar forçadamente grupos de escalas
Forçar exclusão permite que você exclua com força seu Conjunto de Escala de Máquina Virtual, reduzindo a latência de exclusão e liberando imediatamente os recursos anexados. Force Delete não liberará imediatamente o endereço MAC associado a uma VM, pois este é um recurso físico que pode levar até 10 minutos para ser liberado. Se você precisar reutilizar imediatamente o endereço MAC em uma nova VM, Force Delete não é recomendado. Forçar exclusão só deve ser usado quando você não pretende reutilizar discos rígidos virtuais. Você pode usar a eliminação forçada por meio do Portal, CLI, PowerShell e API REST.
Quando você for excluir um conjunto de escala existente, encontrará uma opção para aplicar a exclusão forçada no painel de exclusão.
- Abra o portal.
- Navegue até o Conjunto de Dimensionamento da Máquina Virtual.
- Na página Descrição geral, selecione Eliminar.
- No painel Excluir Conjunto de Escala de Máquina Virtual , marque a caixa de seleção Aplicar exclusão forçada.
- Selecione OK.
Use o --force-deletion
parâmetro para az vmss delete
.
az vmss delete \
--resource-group myResourceGroup \
--name myVMSS \
--force-deletion true
Use o -ForceDeletion
parâmetro para Remove-AzVmss.
Remove-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myVMSS" `
-ForceDeletion $true
Perguntas Frequentes
P: Esta funcionalidade funciona com discos partilhados?
R: Para discos compartilhados, você não pode definir a propriedade 'deleteOption' como 'Delete'. Pode deixá-lo em branco ou defini-lo como 'Desanexar'
P: Quais recursos do Azure oferecem suporte a esse recurso?
R: Este recurso é suportado em todos os tipos de disco gerenciado usados como discos de sistema operacional e discos de dados, NICs e IPs públicos
P: Posso usar esse recurso em discos e NICs que não estão associados a uma VM?
R: Não, esse recurso só está disponível em discos e NICs associados a uma VM.
P: Como esse recurso funciona com o Conjunto de Dimensionamento de Máquina Virtual Flexível?
R: Para Escala de Máquina Virtual Flexível Defina os discos, NICs e PublicIPs definidos deleteOption
como Delete
por padrão para que esses recursos sejam limpos automaticamente quando as VMs forem excluídas.
Para discos de dados que foram explicitamente criados e anexados às VMs, você pode modificar essa propriedade para 'Desanexar' em vez de 'Excluir' se quiser que os discos persistam depois que a VM for excluída.
P: As VMs spot suportam esse recurso?
R: Sim, você pode usar esse recurso para VMs spot da mesma forma que faria para VMs sob demanda.
P: Como faço para persistir os discos, NIC e IPs públicos associados a uma VM?
R: Por padrão, discos, NICs e IPs públicos associados a uma VM persistem quando a VM é excluída. Se você configurar esses recursos para serem excluídos automaticamente, poderá atualizar as configurações para que os recursos permaneçam depois que a VM for excluída. Para manter esses recursos, defina a deleteOption
propriedade como Detach
.
Próximos passos
Para saber mais sobre o gerenciamento básico de VMs, consulte Tutorial: Criar e gerenciar VMs Linux com a CLI do Azure.