가상 머신을 리소스 그룹 또는 구독으로 이동할 때 특별한 사례 처리

이 문서에서는 가상 머신을 새 리소스 그룹 또는 Azure 구독으로 이동할 때 추가 단계가 필요한 특수 사례에 대해 설명합니다. 가상 머신이 디스크 암호화, Marketplace 계획 또는 Azure Backup을 사용하는 경우 이 문서에 설명된 해결 방법 중 하나를 사용해야 합니다. 다른 모든 시나리오의 경우 Azure Portal, Azure CLI 또는 Azure PowerShell에 대한 표준 작업을 사용하여 가상 머신을 이동합니다. Azure CLI의 경우 az Resource move 명령을 사용합니다. Azure PowerShell의 경우 Move-AzResource 명령을 사용합니다.

가상 머신을 새 지역으로 이동하려면 자습서: 지역 간 Azure VM 이동을 참조하세요.

지원되지 않는 시나리오

다음 시나리오는 아직 지원되지 않습니다.

  • 표준 SKU Load Balancer 또는 표준 SKU 공용 IP를 사용하는 Virtual Machine Scale Sets는 이동할 수 없습니다.
  • 기존 가상 네트워크의 가상 머신은 가상 네트워크와 해당 종속 리소스가 모두 이동될 때만 새 구독으로 이동할 수 있습니다.
  • 연결된 플랜을 사용하는 Marketplace 리소스에서 만든 Virtual Machines는 구독 간에 이동할 수 없습니다. 잠재적 해결 방법은 Marketplace 플랜을 사용하는 Virtual Machines를 참조하세요.
  • 우선 순위가 낮은 가상 머신 및 우선 순위가 낮은 가상 머신 확장 집합은 리소스 그룹 또는 구독 간에 이동할 수 없습니다.
  • 가용성 집합의 Virtual Machines는 개별적으로 이동할 수 없습니다.
  • 예약된 패치를 사용하는 가상 머신은 리소스 그룹 또는 구독 간에 이동할 수 없습니다. 잠재적인 해결 방법은 유지 관리 구성으로 VM 업데이트 관리를 참조하세요.

Azure Disk Encryption

Linux VM용 Azure Disk Encryption 또는 Windows VM용 Azure Disk Encryption을 구현하기 위해 키 자격 증명 모음과 통합된 가상 머신은 할당 취소 상태인 경우 다른 리소스 그룹으로 이동할 수 있습니다.

그러나 이러한 가상 머신을 다른 구독으로 이동하려면 암호화를 사용하지 않도록 설정해야 합니다.

az vm encryption disable --resource-group demoRG --name myVm1 --volume-type all

Marketplace 플랜을 사용하는 Virtual Machines

연결된 플랜을 사용하는 Marketplace 리소스에서 만든 Virtual Machines는 구독 간에 이동할 수 없습니다. 이 제한 사항을 해결하기 위해 현재 구독에서 가상 머신을 프로비전 해제하고 새 구독에서 다시 배포할 수 있습니다. 다음 단계를 통해 새 구독에서 가상 머신을 다시 만들 수 있습니다. 그러나 일부 시나리오에서는 작동하지 않을 수 있습니다. Marketplace에서 플랜을 더 이상 사용할 수 없는 경우 이러한 단계가 작동하지 않습니다.

  1. 플랜에 대한 정보를 가져옵니다.

    az vm show --resource-group demoRG --name myVm1 --query plan
    
  2. 제품이 Marketplace에 여전히 존재하는지 확인합니다.

    az vm image list-skus --publisher Fabrikam --offer LinuxServer --location centralus
    
  3. OS 디스크를 대상 구독에 복제하거나 원본 구독에서 가상 머신을 삭제한 후 원래 디스크를 이동합니다.

  4. 대상 구독에서 플랜에 대한 Marketplace 약관에 동의합니다. 다음 PowerShell 명령을 실행하여 약관에 동의할 수 있습니다.

    az vm image terms accept --publisher {publisher} --offer {product/offer} --plan {name/SKU}
    

    또는 포털을 통해 플랜을 사용하여 가상 머신의 새 인스턴스를 만들 수 있습니다. 새 구독의 약관에 동의한 후 가상 머신을 삭제할 수 있습니다.

  5. 대상 구독에서 PowerShell, CLI 또는 Azure Resource Manager 템플릿을 사용하여 복제된 OS 디스크에서 가상 머신을 다시 만듭니다. 디스크에 연결된 Marketplace 플랜을 포함합니다. 플랜에 대한 정보는 새 구독에서 구매한 플랜과 일치해야 합니다. 자세한 내용은 VM 만들기를 참조하세요.

자세한 내용은 Marketplace Azure Virtual Machine을 다른 구독으로 이동을 참조하세요.

Azure Backup을 사용하는 Virtual Machines

Azure Backup으로 구성된 가상 머신을 이동하려면 자격 증명 모음에서 복원 지점 컬렉션(스냅샷)을 삭제해야 합니다. 자격 증명 모음에 이미 복사된 복원 지점을 유지하고 이동할 수 있습니다.

가상 머신에 대해 일시 삭제가 사용하도록 설정된 경우 해당 복원 지점이 유지되는 동안에는 가상 머신을 이동할 수 없습니다. 일시 삭제를 사용하지 않도록 설정하거나 복원 지점이 삭제된 후 14일간 기다립니다.

포털

  1. 일시적으로 백업을 중지하고 백업 데이터를 보존합니다.

  2. Azure Backup을 사용하여 구성된 Virtual Machines를 이동하려면 다음 단계를 수행합니다.

    1. 백업이 포함된 리소스 그룹을 찾습니다. 기본 리소스 그룹을 사용한 경우 명명 패턴은 AzureBackupRG_<VM location>_1입니다. 예를 들어 이름은 AzureBackupRG_westus2_1 형식입니다.

      사용자 지정 리소스 그룹을 만든 경우 해당 리소스 그룹을 선택합니다. 리소스 그룹을 찾을 수 없으면 포털에서 복원 지점 컬렉션을 검색합니다. 명명 패턴이 AzureBackup_<VM name>_###########인 컬렉션을 찾습니다.

    2. 명명 패턴이 AzureBackup_<VM name>_###########복원 지점 컬렉션 유형의 리소스를 선택합니다.

    3. 이 리소스를 삭제합니다. 이 작업은 자격 증명 모음의 백업된 데이터가 아니라 인스턴트 복구 지점만 삭제합니다.

    4. 삭제 작업을 완료한 후 가상 머신을 이동할 수 있습니다.

  3. VM을 대상 리소스 그룹으로 이동합니다.

  4. 백업을 다시 구성합니다.

스크립트

  1. 백업이 포함된 리소스 그룹을 찾습니다. 기본 리소스 그룹을 사용한 경우 명명 패턴은 AzureBackupRG_<VM location>_1입니다. 예를 들어 이름은 AzureBackupRG_westus2_1 형식입니다.

    사용자 지정 리소스 그룹을 만든 경우 해당 리소스 그룹을 찾습니다. 리소스 그룹을 찾을 수 없으면 다음 명령을 사용하고 가상 머신의 이름을 제공합니다.

    az resource list --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<vm-name>')].resourceGroup"
    
  2. 가상 머신을 하나만 이동하는 경우 해당 가상 머신에 대한 복원 지점 컬렉션을 가져옵니다.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<VM name>')].id" --output tsv)
    

    이 리소스를 삭제합니다. 이 작업은 자격 증명 모음의 백업된 데이터가 아니라 인스턴트 복구 지점만 삭제합니다.

    az resource delete --ids $RESTOREPOINTCOL
    
  3. 이 위치에서 백업을 포함하는 모든 Virtual Machines를 이동하는 경우 해당 Virtual Machines에 대한 복원 지점 컬렉션을 가져옵니다.

    RESTOREPOINTCOL=$(az resource list -g AzureBackupRG_<VM location>_1 --resource-type Microsoft.Compute/restorePointCollections)
    

    각 리소스를 삭제합니다. 이 작업은 자격 증명 모음의 백업된 데이터가 아니라 인스턴트 복구 지점만 삭제합니다.

    az resource delete --ids $RESTOREPOINTCOL
    

다음 단계