Megosztás a következőn keresztül:


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épekre

Fontos

Ma az IaaS virtuális gépek mintegy 90%-a az Azure Resource Managert használja. 2020. február 28-tól a klasszikus virtuális gépek elavultak, és 2023. szeptember 6-án teljesen megszűnnek. További információ az elavulásról és arról, hogy ez milyen hatással van Önre.

Ezek a lépések bemutatják, hogyan lehet Azure PowerShell-parancsokkal infrastruktúra-erőforrásokat migrálni szolgáltatásként (IaaS) a klasszikus üzemi modellből az Azure Resource Manager üzemi modellbe.

Ha szeretné, az Azure CLI használatával is migrálhatja az erőforrásokat.


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

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

1. lépés: Migrálás megtervezve

Az alábbiakban néhány ajánlott eljárást ajánlunk, amikor kiértékeli, hogy az IaaS-erőforrásokat a klasszikusból a Resource Managerbe szeretné-e migrálni:

  • 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 funkciókat használnak, várja meg, amíg a konfiguráció vagy a szolgáltatástámogatás bejelentése meg nem történik. 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 olyan automatizált szkriptekkel rendelkezik, amelyek ma telepítik az infrastruktúrát és az alkalmazásokat, próbáljon meg hasonló tesztbeállítást létrehozni a migráláshoz használt szkriptekkel. Másik lehetőségként mintakörnyezeteket is beállíthat az Azure Portal használatával.

Fontos

Az alkalmazásátjárók jelenleg nem támogatottak a klasszikusból a Resource Managerbe való migráláshoz. Ha egy virtuális hálózatot egy application gateway használatával szeretne migrálni, távolítsa el az átjárót, mielőtt a hálózat áthelyezéséhez előkészítő műveletet futtatna. A migrálás befejezése után csatlakoztassa újra az átjárót az Azure Resource Managerben.

A másik előfizetés expressroute-kapcsolatcsoportjaihoz 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 klasszikustól a Resource Manager-alapú üzemi modellig.

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

Az Azure PowerShell telepítéséhez két fő lehetőség áll rendelkezésre: 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 az Azure PowerShell 2.1.0-s verzióján alapul.

A telepítési utasításokért lásd : Az 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 az Azure Portalon hozzá kell adnia az előfizetés társminisztrátoraként.

  1. Jelentkezzen be az Azure Portalra.
  2. A Központi 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ársminisztrátor esetén az értéknek fiókadminisztrátornak kell lennie.

Ha nem tud társadminisztrátort hozzáadni, forduljon egy szolgáltatásadminisztrátorhoz vagy egy társadminisztrátorhoz az előfizetéshez, 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

Szerezze be az elérhető előfizetéseket az alábbi paranccsal:

    Get-AzSubscription | Sort Name | Select Name

Az Azure-előfizetés beállítása az aktuális munkamenethez. Ez a példa az alapértelmezett előfizetésnevet a Saját Azure-előfizetésre állítja. Cserélje le a példa-előfizetés nevét a saját nevére.

    Select-AzSubscription –SubscriptionName "My Azure Subscription"

Feljegyzé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 az alábbi paranccsal:

    Get-AzResourceProvider -ProviderNamespace Microsoft.ClassicInfrastructureMigrate

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

Mielőtt átváltana a klasszikus üzemi modellre, győződjön meg arról, hogy elegendő Azure Resource Manager virtuálisgép-virtuális géppel rendelkezik az aktuális üzembe helyezés vagy virtuális hálózat Azure-régiójában. Az alábbi PowerShell-paranccsal ellenőrizheti az Azure Resource Managerben található virtuális processzorok aktuális számát. A vCPU-kvótákról további információt a Korlátok és az Azure Resource Manager című témakörben talál.

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át nevére.

    Get-AzVMUsage -Location "West US"

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

    Add-AzureAccount

Szerezze be az elérhető előfizetéseket az alábbi paranccsal:

    Get-AzureSubscription | Sort SubscriptionName | Select SubscriptionName

Az Azure-előfizetés beállítása az aktuális munkamenethez. Ez a példa az alapértelmezett előfizetést a Saját Azure-előfizetésre állítja be. Cserélje le a példa-előfizetés nevét a saját nevére.

    Select-AzureSubscription –SubscriptionName "My Azure Subscription"

5. lépés: Parancsok futtatása az IaaS-erőforrások áttelepítéséhez

Feljegyzés

Minden itt leírt művelet idempotens. Ha nem támogatott szolgáltatással vagy konfigurációs hibával kapcsolatos probléma merül fel, 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)

A felhőszolgáltatások listájának lekérése az alábbi paranccsal. 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

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

  • 1. lehetőség: A virtuális gépek áttelepítése platform által létrehozott virtuális hálózatra.

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

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

    Az alábbi parancs megjeleníti az áttelepítést letiltó figyelmeztetéseket és hibákat. Ha az érvényesítési üzenetek nem tartalmaznak típusú 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-alapú üzemi modellben.

    Ez a példa az erőforráscsoport nevét a myResourceGroupra, a virtuális hálózat nevét a myVirtualNetworkre, az alhálózat nevét pedig a mySubNetre állítja. 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 az áttelepítést letiltó 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 sikeres volt az előző lehetőségek valamelyikével, 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-nek állítja be. 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 az 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ózatok virtuális gépei 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álódnak a virtuális hálózattal. Válassza ki a migrálni kívánt virtuális hálózatot.

Feljegyzés

Migráljon egy, a klasszikus üzemi modellel létrehozott virtuális gépet úgy, hogy létrehoz egy új Resource Manager-virtuális gépet felügyelt lemezekkel a virtuális gép VHD-fájljainak (operációs rendszer- és adatfájljainak) használatával.

Feljegyzé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ípus Group [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 parancs Get-AzureVnetSite | Select -Property Name használatával, vagy tekintse meg a régi Azure Portalon.

Az alábbi példa a virtuális hálózat nevét a Csoport [resource-group-name] [vnet-name] értékre állítja. 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]"

Feljegyzés

Ha a virtuális hálózat webes vagy feldolgozói szerepköröket vagy nem támogatott konfigurációjú 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 az áttelepítést letiltó 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 az Azure PowerShell vagy az 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, végezze el az alábbi előfeltétel-ellenőrzéseket a tárfiókok migrálása előtt.

Feljegyzé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ókban. Ez azonban megszakítja a VHD-fájlok bérletét, így újra felhasználhatók ARM-lemezek vagy lemezképek létrehozásához az áttelepítés után.

  • Az előfeltételek ellenőrzik, hogy migrált-e virtuális gépeket, vagy a tárfiók rendelkezik lemezerőforrásokkal:

    • Migrálja a tárfiókban tárolt lemezeket tartalmazó virtuális gépeket.

      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, migrálva lesznek.

       $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.

      Az alábbi parancs a tárfiókban tárolt operációsrendszer-lemezekkel rendelkező összes virtuálisgép-lemezképet visszaadja.

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

      Az alábbi parancs a tárfiókban tárolt adatlemezeket tartalmazó virtuálisgép-lemezképeket adja vissza.

      
         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 a következő paranccsal:

      Remove-AzureVMImage -ImageName 'yourImageName'
      
  • Tárfiókok ellenőrzése és migrálás indítása.

    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ókjának 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áshoz.

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

    Ellenőrizze az előkészített tárfiók konfigurációját az Azure PowerShell vagy az 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