VM을 삭제하는 방법에 따라 네트워킹 및 디스크 리소스가 아닌 VM 리소스만 삭제할 수 있습니다. VM을 삭제할 때 삭제되는 다른 리소스에 대한 기본 설정을 변경할 수 있습니다.
VM을 만들 때 삭제 옵션 설정
포털을 엽니다.
+ 리소스만들기를 선택합니다.
리소스 만들기 페이지의 가상 머신에서 만들기를 선택합니다.
기본 사항을 선택한 후 다음: 디스크>를 선택하여 디스크 탭을 엽니다.
디스크 옵션에서 기본적으로 OS 디스크는 VM을 사용하여 삭제로 설정되어 있습니다. OS 디스크를 삭제하지 않으려면 확인란의 선택을 취소합니다. 기존 OS 디스크를 사용하는 경우 기본값은 VM이 삭제될 때 OS 디스크를 분리하는 것입니다.
데이터 디스크에서 기존 데이터 디스크를 연결하거나 새 디스크를 만들어 VM에 연결할 수 있습니다.
새 디스크 만들기 및 연결을 선택하면 새 디스크 만들기 페이지가 열리고 VM을 삭제할 때 디스크 삭제 여부를 선택할 수 있습니다.
기존 디스크 연결을 선택하는 경우 디스크, LUN 및 VM을 삭제할 때 데이터 디스크 삭제 여부를 선택할 수 있습니다.
디스크 정보 추가가 완료되면 다음 : 네트워킹>을 선택하여 네트워킹 탭을 엽니다.
페이지 아래쪽에서 VM이 삭제되면 공용 IP 및 NIC 삭제를 선택합니다.
선택을 완료하면 검토 + 만들기를 선택합니다.
VM을 삭제할 때 삭제하도록 선택한 리소스를 확인할 수 있습니다.
선택 항목에 만족하고 유효성 검사가 통과되면 만들기를 선택하여 VM을 배포합니다.
VM을 삭제할 때 연결된 리소스에 발생하는 작업을 지정하려면 delete-option
매개 변수를 사용합니다. 각각은 VM을 삭제할 때 리소스를 영구적으로 삭제하는 Delete
또는 리소스만 분리하고 나중에 다시 사용할 수 있도록 Azure에 남겨두는 Detach
로 설정할 수 있습니다. CLI를 사용하여 만든 VM의 기본값은 OS 디스크를 분리하는 것입니다. 디스크와 같은 Detach
리소스는 해당하는 경우 계속 요금이 부과됩니다.
--os-disk-delete-option
- OS 디스크
--data-disk-delete-option
- 데이터 디스크
--nic-delete-option
- NIC
이 예제에서는 myImage라는 이미지를 사용하여 myResourceGroup이라는 리소스 그룹에 myVM이라는 VM을 만들고, VM을 삭제할 때 삭제할 OS 디스크 및 NIC를 설정합니다.
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
VM을 삭제할 때 연결된 리소스에 발생하는 작업을 지정하려면 DeleteOption
매개 변수를 사용합니다. 각각은 VM을 삭제할 때 리소스를 영구적으로 삭제하는 Delete
또는 리소스만 분리하고 나중에 다시 사용할 수 있도록 Azure에 남겨두는 Detach
로 설정할 수 있습니다. PowerShell을 사용하여 만든 VM의 기본값은 VM을 삭제할 때 OS 디스크를 분리하는 것입니다. 디스크와 같은 Detach
리소스는 해당하는 경우 계속 요금이 부과됩니다.
DeleteOption
매개 변수는 다음과 같습니다.
-OSDiskDeleteOption
- OS 디스크
-DataDiskDeleteOption
- 데이터 디스크
-NetworkInterfaceDeleteOption
- NIC
이 예제에서는 VM을 만들고, VM을 삭제할 때 삭제할 OS 디스크와 NIC를 설정합니다.
New-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-OSDiskDeleteOption Delete `
-NetworkInterfaceDeleteOption Delete `
-Location "East US" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-SecurityGroupName "myNetworkSecurityGroup" `
-PublicIpAddressName "myPublicIpAddress"
이 예제에서는 VM이 삭제될 때 데이터 디스크 및 NIC를 삭제하도록 설정하는 방법을 보여줍니다. 삭제 옵션을 구성하려면 api-version 매개 변수에 지정된 API 버전은 ‘2021-03-01’ 이상이어야 합니다.
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"
}
}
]
}
}
NIC가 삭제될 때 공용 IP가 자동으로 삭제되도록 NIC와 연결된 공용 IP에 대해 이 속성을 설정할 수도 있습니다.
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"
}
기존 VM에서 삭제 동작 업데이트
VM을 삭제할 때 동작을 변경할 수 있습니다.
다음 예제에서는 디스크를 다시 사용할 수 있도록 삭제 옵션을 detach
로 설정합니다.
az resource update --resource-group myResourceGroup --name myVM --resource-type virtualMachines --namespace Microsoft.Compute --set properties.storageProfile.osDisk.deleteOption=detach
다음 예제에서는 VM이 삭제되면 OS 디스크, 모든 데이터 디스크 및 모든 NIC을 삭제하도록 VM을 업데이트합니다.
$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
다음 예제에서는 VM이 삭제되면 NIC, OS 디스크 및 데이터 디스크를 삭제하도록 VM을 업데이트합니다. 삭제 옵션을 구성하려면 api-version 매개 변수에 지정된 API 버전은 ‘2021-03-01’ 이상이어야 합니다.
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"
}
}
]
}
}
}
VM에 대한 강제 삭제
강제 삭제를 사용하면 가상 머신을 강제로 삭제하여 삭제 대기 시간을 줄이고 연결된 리소스를 즉시 해제할 수 있습니다. 정상 종료가 필요하지 않은 VM의 경우 강제 삭제는 정상 종료 및 일부 정리 작업을 건너뛰어 VM에서 논리적 리소스를 제거하면서 최대한 빨리 VM을 삭제합니다. 강제 삭제는 VM과 연결된 MAC 주소를 즉시 해제하지 않습니다. 해제하는 데 최대 10분이 걸릴 수 있는 물리적 리소스이기 때문입니다. 새 VM에서 MAC 주소를 즉시 다시 사용해야 하는 경우 강제 삭제를 사용하지 않는 것이 좋습니다. 강제 삭제는 가상 하드 디스크를 재사용하지 않으려는 경우에만 사용해야 합니다. Portal, CLI, PowerShell 및 REST API를 통해 강제 삭제를 사용할 수 있습니다.
기존 VM을 삭제할 때 삭제 창에서 강제 삭제를 적용하는 옵션을 찾을 수 있습니다.
- 포털을 엽니다.
- 가상 머신으로 이동합니다.
- 개요 페이지에서 삭제를 선택합니다.
- 가상 머신 삭제 창에서 강제 삭제 적용 확인란을 선택합니다.
- 확인선택합니다.
az vm delete에 --force-deletion
매개 변수를 사용합니다.
az vm delete \
--resource-group myResourceGroup \
--name myVM \
--force-deletion none
Remove-AzVm에 -ForceDeletion
매개 변수를 사용합니다.
Remove-AzVm `
-ResourceGroupName "myResourceGroup" `
-Name "myVM" `
-ForceDeletion $true
확장 집합 강제 삭제
강제 삭제를 사용하면 가상 머신 확장 집합을 강제로 삭제하여 삭제 대기 시간을 줄이고 연결된 리소스를 즉시 해제할 수 있습니다. 강제 삭제는 VM과 연결된 MAC 주소를 즉시 해제하지 않습니다. 해제하는 데 최대 10분이 걸릴 수 있는 물리적 리소스이기 때문입니다. 새 VM에서 MAC 주소를 즉시 다시 사용해야 하는 경우 강제 삭제를 사용하지 않는 것이 좋습니다. 강제 삭제는 가상 하드 디스크를 재사용하지 않으려는 경우에만 사용해야 합니다. Portal, CLI, PowerShell 및 REST API를 통해 강제 삭제를 사용할 수 있습니다.
기존 확장 집합을 삭제할 때 삭제 창에서 강제 삭제를 적용하는 옵션을 찾을 수 있습니다.
- 포털을 엽니다.
- 가상 머신 확장 집합으로 이동합니다.
- 개요 페이지에서 삭제를 선택합니다.
- 가상 머신 확장 집합 삭제 창에서 강제 삭제 적용 확인란을 선택합니다.
- 확인선택합니다.
az vmss delete
에서 --force-deletion
매개 변수를 사용합니다.
az vmss delete \
--resource-group myResourceGroup \
--name myVMSS \
--force-deletion true
Remove-AzVmss에 -ForceDeletion
매개 변수를 사용합니다.
Remove-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myVMSS" `
-ForceDeletion $true
자주 묻는 질문(FAQ)
Q: 이 기능은 공유 디스크에서 작동하나요?
A: 공유 디스크의 경우 'deleteOption' 속성을 'Delete'로 설정할 수 없습니다. 비워 두거나 'Detach'로 설정할 수 있습니다.
Q: 이 기능을 지원하는 Azure 리소스는 무엇인가요?
A: 이 기능은 OS 디스크 및 데이터 디스크, NIC 및 공용 IP로 사용되는 모든 관리 디스크 유형에서 지원됩니다.
Q: VM과 연결되지 않은 디스크 및 NIC에서 이 기능을 사용할 수 있나요?
A: 아니요, 이 기능은 VM과 연결된 디스크 및 NIC에서만 사용할 수 있습니다.
Q: 이 기능은 유연한 가상 머신 확장 집합에서 어떻게 작동하나요?
A: 유연한 가상 머신 확장 집합의 경우 디스크, NIC 및 PublicIP는 기본적으로 deleteOption
이 Delete
로 설정되어 있으므로 VM이 삭제될 때 이러한 리소스가 자동으로 정리됩니다.
명시적으로 만들고 VM에 연결된 데이터 디스크의 경우, VM이 삭제된 후에도 디스크를 유지하려면 이 속성을 'Delete' 대신 'Detach'로 수정하면 됩니다.
Q: 스폿 VM이 이 기능을 지원하나요?
A: 예, 주문형 VM과 같은 방법으로 스폿 VM에 이 기능을 사용할 수 있습니다.
Q: VM과 연결된 디스크, NIC 및 공용 IP를 유지하려면 어떻게 해야 하나요?
A: 기본적으로 VM과 연결된 디스크, NIC 및 공용 IP는 VM이 삭제될 때 유지됩니다. 이러한 리소스를 자동으로 삭제하도록 구성하는 경우 VM이 삭제된 후에도 리소스가 유지되도록 설정을 업데이트할 수 있습니다. 이러한 리소스를 유지하려면 deleteOption
속성을 Detach
로 설정합니다.
다음 단계
기본 VM 관리에 대한 자세한 내용은 자습서: Azure CLI를 사용하여 Linux VM 만들기 및 관리를 참조하세요.