Przenoszenie maszyn wirtualnych do grupy zasobów lub subskrypcji

W tym artykule opisano sposób przenoszenia maszyny wirtualnej do nowej grupy zasobów lub subskrypcji platformy Azure.

Jeśli chcesz przenieść maszynę wirtualną do nowego regionu, zobacz Samouczek: przenoszenie maszyn wirtualnych platformy Azure między regionami.

Scenariusze nieobsługiwane

Następujące scenariusze nie są jeszcze obsługiwane:

  • Virtual Machine Scale Sets z publicznym adresem IP jednostki SKU w warstwie Standardowa Load Balancer lub publicznym adresem IP jednostki SKU w warstwie Standardowa nie można przenieść.
  • Maszyny wirtualne w istniejącej sieci wirtualnej można przenieść do nowej subskrypcji tylko wtedy, gdy sieć wirtualna i wszystkie jej zasoby zależne również zostaną przeniesione.
  • Maszyny wirtualne utworzone na podstawie zasobów witryny Marketplace z dołączonymi planami nie mogą być przenoszone między subskrypcjami. Aby uzyskać potencjalne obejście, zobacz Maszyny wirtualne z planami witryny Marketplace.
  • Maszyny wirtualne o niskim priorytecie i zestawy skalowania maszyn wirtualnych o niskim priorytecie nie mogą być przenoszone między grupami zasobów ani subskrypcjami.
  • Maszyny wirtualne w zestawie dostępności nie można przenosić pojedynczo.

Szyfrowanie dysków platformy Azure

Nie można przenieść maszyny wirtualnej zintegrowanej z magazynem kluczy w celu zaimplementowania Azure Disk Encryption dla maszyn wirtualnych z systemem Linux lub Azure Disk Encryption dla maszyn wirtualnych Windows. Aby przenieść maszynę wirtualną, musisz wyłączyć szyfrowanie.

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

Maszyny wirtualne z planami witryny Marketplace

Maszyny wirtualne utworzone na podstawie zasobów witryny Marketplace z dołączonymi planami nie mogą być przenoszone między subskrypcjami. Aby obejść to ograniczenie, możesz usunąć aprowizację maszyny wirtualnej w bieżącej subskrypcji i wdrożyć ją ponownie w nowej subskrypcji. Poniższe kroki ułatwiają ponowne utworzenie maszyny wirtualnej w nowej subskrypcji. Mogą one jednak nie działać w przypadku wszystkich scenariuszy. Jeśli plan nie jest już dostępny w witrynie Marketplace, te kroki nie będą działać.

  1. Uzyskaj informacje o planie.

    az vm show --resource-group demoRG --name myVm1 --query plan
    
  2. Sprawdź, czy oferta nadal istnieje w witrynie Marketplace.

    az vm image list-skus --publisher Fabrikam --offer LinuxServer --location centralus
    
  3. Sklonuj dysk systemu operacyjnego do subskrypcji docelowej lub przenieś oryginalny dysk po usunięciu maszyny wirtualnej z subskrypcji źródłowej.

  4. W subskrypcji docelowej zaakceptuj warunki witryny Marketplace dla planu. Warunki można zaakceptować, uruchamiając następujące polecenie programu PowerShell:

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

    Możesz też utworzyć nowe wystąpienie maszyny wirtualnej z planem za pośrednictwem portalu. Maszynę wirtualną można usunąć po zaakceptowaniu warunków w nowej subskrypcji.

  5. W subskrypcji docelowej utwórz ponownie maszynę wirtualną z sklonowanego dysku systemu operacyjnego przy użyciu programu PowerShell, interfejsu wiersza polecenia lub szablonu usługi Azure Resource Manager. Uwzględnij plan platformy handlowej dołączony do dysku. Informacje o planie powinny być zgodne z planem zakupionym w nowej subskrypcji. Aby uzyskać więcej informacji, zobacz Tworzenie maszyny wirtualnej.

Aby uzyskać więcej informacji, zobacz Przenoszenie maszyny wirtualnej platformy Azure z witryny Marketplace do innej subskrypcji.

Maszyny wirtualne z Azure Backup

Aby przenieść maszyny wirtualne skonfigurowane przy użyciu Azure Backup, należy usunąć kolekcje punktów przywracania (migawki) z magazynu. Punkty przywracania już skopiowane do magazynu można przechowywać i przenosić.

Jeśli usuwanie nietrwałe jest włączone dla maszyny wirtualnej, nie można przenieść maszyny wirtualnej, gdy te punkty przywracania są przechowywane. Wyłącz usuwanie nietrwałe lub poczekaj 14 dni po usunięciu punktów przywracania.

Portal

  1. Tymczasowo zatrzymaj kopię zapasową i zachowaj dane kopii zapasowej.

  2. Aby przenieść maszyny wirtualne skonfigurowane przy użyciu Azure Backup, wykonaj następujące czynności:

    1. Znajdź grupę zasobów zawierającą kopie zapasowe. Jeśli użyto domyślnej grupy zasobów, ma on następujący wzorzec nazewnictwa: AzureBackupRG_<VM location>_1. Na przykład nazwa jest w formacie AzureBackupRG_westus2_1.

      Jeśli utworzono niestandardową grupę zasobów, wybierz tę grupę zasobów. Jeśli nie możesz znaleźć grupy zasobów, wyszukaj pozycję Kolekcje punktów przywracania w portalu. Poszukaj kolekcji ze wzorcem AzureBackup_<VM name>_###########nazewnictwa .

    2. Wybierz zasób z typem Kolekcja punktów przywracania , który ma wzorzec AzureBackup_<VM name>_###########nazewnictwa .

    3. Usuń ten zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    4. Po zakończeniu operacji usuwania można przenieść maszynę wirtualną.

  3. Przenieś maszynę wirtualną do docelowej grupy zasobów.

  4. Skonfiguruj ponownie kopię zapasową.

Skrypt

  1. Znajdź grupę zasobów zawierającą kopie zapasowe. Jeśli użyto domyślnej grupy zasobów, ma on następujący wzorzec nazewnictwa: AzureBackupRG_<VM location>_1. Na przykład nazwa jest w formacie AzureBackupRG_westus2_1.

    Jeśli utworzono niestandardową grupę zasobów, znajdź ją. Jeśli nie możesz znaleźć grupy zasobów, użyj następującego polecenia i podaj nazwę maszyny wirtualnej.

    az resource list --resource-type Microsoft.Compute/restorePointCollections --query "[?starts_with(name, 'AzureBackup_<vm-name>')].resourceGroup"
    
  2. Jeśli przenosisz tylko jedną maszynę wirtualną, pobierz kolekcję punktów przywracania dla tej maszyny wirtualnej.

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

    Usuń ten zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    az resource delete --ids $RESTOREPOINTCOL
    
  3. Jeśli przenosisz wszystkie maszyny wirtualne z kopiami zapasowymi w tej lokalizacji, pobierz kolekcje punktów przywracania dla tych maszyn wirtualnych.

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

    Usuń każdy zasób. Ta operacja usuwa tylko natychmiastowe punkty odzyskiwania, a nie dane kopii zapasowej w magazynie.

    az resource delete --ids $RESTOREPOINTCOL
    

Następne kroki