IaaS-erőforrások migrálása a klasszikusból Azure Resource Manager-alapú környezetbe az Azure PowerShell használatával

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek ✔️ Windows rendszerű virtuális gépek

Fontos

Ma az IaaS virtuális gépek körülbelül 90%-a használja az Azure Resource Manager. 2020. február 28-án a klasszikus virtuális gépek elavultak, és 2023. szeptember 6-án teljesen ki lesznek vonva. További információ az elavulásról és az Önre gyakorolt hatásáról.

Ezek a lépések bemutatják, hogyan migrálhat Azure PowerShell-parancsokat a szolgáltatásként nyújtott infrastruktúra (IaaS) erőforrásainak a klasszikus üzemi modellből az Azure Resource Manager-alapú üzemi modellbe való migrálásához.

Ha szeretné, az Azure CLI-vel is migrálhat erőforrásokat.


Íme egy folyamatábra, amely meghatározza, hogy milyen sorrendben kell végrehajtani a lépéseket a migrálási folyamat során.

Képernyőkép a migrálási lépésekről

1. lépés: A migrálás megtervezása

Íme néhány ajánlott eljárás, amelyet az IaaS-erőforrások klasszikusról Resource Manager való migrálásának kiértékelése során javasoljuk:

  • Olvassa el a támogatott és nem támogatott funkciókat és konfigurációkat. Ha olyan virtuális gépei vannak, amelyek nem támogatott konfigurációkat vagy szolgáltatásokat használnak, várja meg, amíg a konfiguráció vagy a funkciótámogatás bejelentése befejeződik. Másik lehetőségként, ha megfelel az igényeinek, távolítsa el ezt a funkciót, vagy lépjen ki a konfigurációból a migrálás engedélyezéséhez.
  • Ha az infrastruktúrát és az alkalmazásokat ma üzembe helyező automatizált szkriptekkel rendelkezik, próbáljon meg hasonló tesztbeállítást létrehozni a szkriptek használatával a migráláshoz. Másik lehetőségként a Azure Portal használatával is beállíthat mintakörnyezeteket.

Fontos

Az alkalmazásátjárók jelenleg nem támogatottak a klasszikusról a Resource Manager való migrálásra. Ha alkalmazásátjáróval szeretne áttelepíteni egy virtuális hálózatot, távolítsa el az átjárót, mielőtt futtatna egy előkészítési műveletet a hálózat áthelyezéséhez. A migrálás befejezése után csatlakoztassa újra az átjárót az Azure Resource Manager.

A másik előfizetésben lévő ExpressRoute-kapcsolatcsoportokhoz csatlakozó Azure ExpressRoute-átjárók nem migrálhatók automatikusan. Ilyen esetekben távolítsa el az ExpressRoute-átjárót, migrálja a virtuális hálózatot, és hozza létre újra az átjárót. További információ: ExpressRoute-kapcsolatcsoportok és társított virtuális hálózatok migrálása a klasszikusból a Resource Manager üzemi modellbe.

2. lépés: A PowerShell legújabb verziójának telepítése

A Azure PowerShell két fő lehetőség közül választhat: PowerShell-galéria vagy Webplatform-telepítő (WebPI). A WebPI havi frissítéseket kap. PowerShell-galéria folyamatosan megkapja a frissítéseket. Ez a cikk Azure PowerShell 2.1.0-s verzión alapul.

A telepítési utasításokért lásd: A Azure PowerShell telepítése és konfigurálása.

3. lépés: Győződjön meg arról, hogy Ön az előfizetés rendszergazdája

A migrálás végrehajtásához a Azure Portal előfizetésének társadminisztrátoraként kell hozzáadnia.

  1. Jelentkezzen be az Azure Portalra.
  2. A Központ menüben válassza az Előfizetés lehetőséget. Ha nem látja, válassza a Minden szolgáltatás lehetőséget.
  3. Keresse meg a megfelelő előfizetési bejegyzést, majd tekintse meg a SAJÁT SZEREPKÖR mezőt. Társadminisztrátor esetén az értéknek fiókadminisztrátornak kell lennie.

Ha nem tud társadminisztrátort hozzáadni, forduljon az előfizetéshez tartozó szolgáltatásadminisztrátorhoz vagy társadminisztrátorhoz, hogy hozzáadja magát.

4. lépés: Az előfizetés beállítása és a migrálásra való regisztráció

Először indítsa el a PowerShell-parancssort. A migráláshoz állítsa be a környezetet a klasszikus és a Resource Manager számára is.

Jelentkezzen be a fiókjába a Resource Manager modellhez.

    Connect-AzAccount

Kérje le az elérhető előfizetéseket a következő paranccsal:

    Get-AzSubscription | Sort Name | Select Name

Állítsa be az Azure-előfizetését az aktuális munkamenethez. Ez a példa az alapértelmezett előfizetés nevét a Saját Azure-előfizetés értékre állítja. Cserélje le a példa-előfizetés nevét a sajátjára.

    Select-AzSubscription –SubscriptionName "My Azure Subscription"

Megjegyzés

A regisztráció egyszeri lépés, de a migrálási kísérlet előtt egyszer kell megtennie. Regisztráció nélkül a következő hibaüzenet jelenik meg:

BadRequest: Az előfizetés nincs regisztrálva a migráláshoz.

Regisztráljon az áttelepítési erőforrás-szolgáltatónál a következő paranccsal:

    Register-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

Várjon öt percet, amíg a regisztráció befejeződik. Ellenőrizze a jóváhagyás állapotát a következő paranccsal:

    Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

A folytatás előtt győződjön meg arról, hogy a RegistrationState érték szerepel Registered .

Mielőtt átváltana a klasszikus üzemi modellre, győződjön meg arról, hogy elegendő Azure-Resource Manager virtuálisgép-vCPU-val rendelkezik az aktuális üzemelő példány vagy virtuális hálózat Azure-régiójában. Az alábbi PowerShell-paranccsal ellenőrizheti az Azure Resource Manager-ben található virtuális processzorok aktuális számát. További információ a vCPU-kvótákról: Korlátok és az Azure Resource Manager.

Ez a példa az USA nyugati régiójában ellenőrzi a rendelkezésre állást. Cserélje le a példarégió nevét a sajátjára.

    Get-AzVMUsage -Location "West US"

Most jelentkezzen be a fiókjába a klasszikus üzemi modellhez.

    Add-AzureAccount

Kérje le az elérhető előfizetéseket a következő paranccsal:

    Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName

Állítsa be az Azure-előfizetését az aktuális munkamenethez. Ez a példa az alapértelmezett előfizetést a Saját Azure-előfizetés értékre állítja. Cserélje le a példa-előfizetés nevét a sajátjára.

    Select-AzureSubscription –SubscriptionName "My Azure Subscription"

5. lépés: Parancsok futtatása az IaaS-erőforrások migrálásához

Megjegyzés

Az itt leírt műveletek mindegyike idempotens. Ha nem támogatott funkcióval vagy konfigurációs hibával kapcsolatos problémája van, javasoljuk, hogy próbálkozzon újra az előkészítési, megszakítási vagy véglegesítési művelettel. A platform ezután újra megpróbálja a műveletet.

5a. lépés: 1. lehetőség – Virtuális gépek migrálása felhőszolgáltatásban (nem virtuális hálózaton)

Az alábbi paranccsal lekérheti a felhőszolgáltatások listáját. Ezután válassza ki a migrálni kívánt felhőszolgáltatást. Ha a felhőszolgáltatás virtuális gépei virtuális hálózaton vannak, vagy webes vagy feldolgozói szerepkörrel rendelkeznek, a parancs hibaüzenetet ad vissza.

    Get-AzureService | ft Servicename

Kérje le a felhőszolgáltatás üzembehelyezési nevét. Ebben a példában a szolgáltatás neve Saját szolgáltatás. Cserélje le a példaszolgáltatás nevét a saját szolgáltatásnevére.

    $serviceName = "My Service"
    $deployment = Get-AzureDeployment -ServiceName $serviceName
    $deploymentName = $deployment.DeploymentName

Készítse elő a felhőszolgáltatásban lévő virtuális gépeket a migráláshoz. Két lehetőség közül választhat.

  • 1. lehetőség: Migrálja a virtuális gépeket egy platform által létrehozott virtuális hálózatba.

    Először ellenőrizze, hogy migrálhatja-e a felhőszolgáltatást a következő parancsokkal:

    $validate = Move-AzureService -Validate -ServiceName $serviceName `
        -DeploymentName $deploymentName -CreateNewVirtualNetwork
    $validate.ValidationMessages
    

    Az alábbi parancs megjeleníti a migrálást blokkoló figyelmeztetéseket és hibákat. Ha az érvényesítési üzenetek nem tartalmaznak hibaüzenetet, továbbléphet az Előkészítés lépésre.

    Move-AzureService -Prepare -ServiceName $serviceName `
        -DeploymentName $deploymentName -CreateNewVirtualNetwork
    
  • 2. lehetőség: Migrálás meglévő virtuális hálózatra a Resource Manager üzemi modellben.

    Ebben a példában az erőforráscsoport neve myResourceGroup, a virtuális hálózat neve myVirtualNetwork, az alhálózat neve pedig mySubNet lesz. Cserélje le a példában szereplő neveket a saját erőforrásai nevére.

    $existingVnetRGName = "myResourceGroup"
    $vnetName = "myVirtualNetwork"
    $subnetName = "mySubNet"
    

    Először ellenőrizze, hogy migrálhatja-e a virtuális hálózatot a következő paranccsal:

    $validate = Move-AzureService -Validate -ServiceName $serviceName `
        -DeploymentName $deploymentName -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName -VirtualNetworkName $vnetName -SubnetName $subnetName
    $validate.ValidationMessages
    

    Az alábbi parancs megjeleníti a migrálást blokkoló figyelmeztetéseket és hibákat. Ha az érvényesítési üzenetek nem tartalmaznak hibákat, folytassa a következő előkészítési lépéssel:

        Move-AzureService -Prepare -ServiceName $serviceName -DeploymentName $deploymentName `
        -UseExistingVirtualNetwork -VirtualNetworkResourceGroupName $existingVnetRGName `
        -VirtualNetworkName $vnetName -SubnetName $subnetName
    

Miután az előkészítési művelet az előző lehetőségek valamelyikével sikeres volt, kérdezze le a virtuális gépek migrálási állapotát. Győződjön meg arról, hogy állapotban Prepared vannak.

Ez a példa a virtuális gép nevét myVM értékre állítja. Cserélje le a példanevet a saját virtuális gép nevére.

    $vmName = "myVM"
    $vm = Get-AzureVM -ServiceName $serviceName -Name $vmName
    $vm.VM.MigrationState

Ellenőrizze az előkészített erőforrások konfigurációját a PowerShell vagy a Azure Portal használatával. Ha még nem áll készen a migrálásra, és vissza szeretne lépni a régi állapotba, használja a következő parancsot:

    Move-AzureService -Abort -ServiceName $serviceName -DeploymentName $deploymentName

Ha az előkészített konfiguráció jól néz ki, az alábbi paranccsal továbbléphet, és véglegesítheti az erőforrásokat:

    Move-AzureService -Commit -ServiceName $serviceName -DeploymentName $deploymentName

5a. lépés: 2. lehetőség – Virtuális hálózatban lévő virtuális gépek migrálása

A virtuális hálózatban lévő virtuális gépek migrálásához migrálja a virtuális hálózatot. A virtuális gépek automatikusan migrálhatók a virtuális hálózattal. Válassza ki a migrálni kívánt virtuális hálózatot.

Megjegyzés

A klasszikus üzemi modellel létrehozott egyetlen virtuális gép migrálása egy új Resource Manager virtuális gép létrehozásával Managed Disks a virtuális gép VHD-fájljainak használatával.

Megjegyzés

A virtuális hálózat neve eltérhet attól, ami az új portálon megjelenik. Az új Azure Portal a nevet [vnet-name]jeleníti meg , de a virtuális hálózat tényleges neve típusGroup [resource-group-name] [vnet-name]. A migrálás megkezdése előtt keresse meg a virtuális hálózat tényleges nevét a paranccsalGet-AzureVnetSite | Select -Property Name, vagy tekintse meg a régi Azure Portal.

Az alábbi példa a virtuális hálózat nevét a Következő csoportra állítja: [resource-group-name][vnet-name]. Cserélje le a példa virtuális hálózat nevét a fenti Megjegyzés szakaszban található parancs futtatásából visszaadott névre.

    $vnetName = "Group [resource-group-name] [vnet-name]"

Megjegyzés

Ha a virtuális hálózat webes vagy feldolgozói szerepköröket vagy nem támogatott konfigurációkkal rendelkező virtuális gépeket tartalmaz, érvényesítési hibaüzenet jelenik meg.

Először ellenőrizze, hogy migrálhatja-e a virtuális hálózatot a következő paranccsal:

    Move-AzureVirtualNetwork -Validate -VirtualNetworkName $vnetName

Az alábbi parancs megjeleníti a migrálást blokkoló figyelmeztetéseket és hibákat. Ha az ellenőrzés sikeres, folytassa a következő előkészítési lépéssel:

    Move-AzureVirtualNetwork -Prepare -VirtualNetworkName $vnetName

Ellenőrizze az előkészített virtuális gépek konfigurációját a Azure PowerShell vagy a Azure Portal használatával. Ha még nem áll készen a migrálásra, és vissza szeretne lépni a régi állapotba, használja a következő parancsot:

    Move-AzureVirtualNetwork -Abort -VirtualNetworkName $vnetName

Ha az előkészített konfiguráció jól néz ki, az alábbi paranccsal továbbléphet, és véglegesítheti az erőforrásokat:

    Move-AzureVirtualNetwork -Commit -VirtualNetworkName $vnetName

5b. lépés: Tárfiók migrálása

Miután végzett a virtuális gépek migrálásával, a tárfiókok migrálása előtt végezze el az alábbi előfeltétel-ellenőrzéseket.

Megjegyzés

Ha a tárfiók nem rendelkezik társított lemezekkel vagy virtuálisgép-adatokkal, ugorjon közvetlenül a "Tárfiókok ellenőrzése és áttelepítés indítása" szakaszra. Azt is vegye figyelembe, hogy a klasszikus lemezek, virtuálisgép-lemezképek vagy operációsrendszer-lemezképek törlése nem távolítja el a forrás VHD-fájlokat a tárfiókból. Azonban megszakítja a VHD-fájlok bérletét, így újra felhasználhatja őket ARM-lemezek vagy lemezképek létrehozásához a migrálás után.

  • Előfeltételként ellenőrzi, hogy migrált-e virtuális gépeket, vagy a tárfiók rendelkezik-e lemezerőforrásokkal:

    • Migrálja azokat a virtuális gépeket, amelyek lemezeit a tárfiók tárolja.

      A következő parancs a tárfiókban lévő összes virtuálisgép-lemez RoleName és DiskName tulajdonságát adja vissza. A RoleName annak a virtuális gépnek a neve, amelyhez lemez van csatolva. Ha ez a parancs lemezeket ad vissza, akkor a tárfiók áttelepítése előtt győződjön meg arról, hogy azok a virtuális gépek, amelyekhez ezek a lemezek csatlakoznak, át lesznek migrálva.

       $storageAccountName = 'yourStorageAccountName'
        Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Select-Object -ExpandProperty AttachedTo -Property `
        DiskName | Format-List -Property RoleName, DiskName
      
      
    • Törölje a tárfiókban tárolt nem csatlakoztatott virtuálisgép-lemezeket.

      A tárfiókban a következő paranccsal keresheti meg a nem csatlakoztatott virtuálisgép-lemezeket:

          $storageAccountName = 'yourStorageAccountName'
          Get-AzureDisk | where-Object {$_.MediaLink.Host.Contains($storageAccountName)} | Where-Object -Property AttachedTo -EQ $null | Format-List -Property DiskName  
      
      

      Ha az előző parancs lemezeket ad vissza, törölje ezeket a lemezeket a következő paranccsal:

         Remove-AzureDisk -DiskName 'yourDiskName'
      
    • Törölje a tárfiókban tárolt virtuálisgép-rendszerképeket.

      A következő parancs visszaadja a tárfiókban tárolt operációsrendszer-lemezzel rendelkező összes virtuálisgép-lemezképet.

         Get-AzureVmImage | Where-Object { $_.OSDiskConfiguration.MediaLink -ne $null -and $_.OSDiskConfiguration.MediaLink.Host.Contains($storageAccountName)`
                                 } | Select-Object -Property ImageName, ImageLabel
      

      A következő parancs visszaadja a tárfiókban tárolt adatlemezeket tartalmazó összes virtuálisgép-lemezképet.

      
         Get-AzureVmImage | Where-Object {$_.DataDiskConfigurations -ne $null `
                                          -and ($_.DataDiskConfigurations | Where-Object {$_.MediaLink -ne $null -and $_.MediaLink.Host.Contains($storageAccountName)}).Count -gt 0 `
                                         } | Select-Object -Property ImageName, ImageLabel
      

      Törölje az előző parancsok által visszaadott összes virtuálisgép-lemezképet az alábbi paranccsal:

      Remove-AzureVMImage -ImageName 'yourImageName'
      
  • Ellenőrizze a tárfiókokat, és indítsa el a migrálást.

    Ellenőrizze az egyes tárfiókokat a migráláshoz az alábbi paranccsal. Ebben a példában a tárfiók neve myStorageAccount. Cserélje le a példanevet a saját tárfiókja nevére.

        $storageAccountName = "myStorageAccount"
        Move-AzureStorageAccount -Validate -StorageAccountName $storageAccountName
    

    A következő lépés a tárfiók előkészítése a migrálásra.

        $storageAccountName = "myStorageAccount"
        Move-AzureStorageAccount -Prepare -StorageAccountName $storageAccountName
    

    Ellenőrizze az előkészített tárfiók konfigurációját a Azure PowerShell vagy a Azure Portal használatával. Ha még nem áll készen a migrálásra, és vissza szeretne lépni a régi állapotba, használja a következő parancsot:

        Move-AzureStorageAccount -Abort -StorageAccountName $storageAccountName
    

    Ha az előkészített konfiguráció jól néz ki, az alábbi paranccsal továbbléphet, és véglegesítheti az erőforrásokat:

        Move-AzureStorageAccount -Commit -StorageAccountName $storageAccountName
    

Következő lépések