Identyfikowanie kroków wymaganych do przeniesienia zasobów między grupami zasobów platformy Azure

Ukończone

W tej lekcji dowiesz się, jakie kroki należy wykonać, i jakich narzędzi można użyć do przenoszenia zasobów między grupami zasobów.

Informacje o przenoszeniu zasobów

Po rozpoczęciu operacji przenoszenia grupa zasobów, w której znajdują się zasoby, i nowa docelowa grupa zasobów są blokowane. Nie można wykonywać operacji zapisu ani usuwania dla grup zasobów do momentu zakończenia operacji przenoszenia. Nie ma to wpływu na zasoby, lecz nie można dodawać, usuwać ani aktualizować żadnych zasobów w tych grupach zasobów.

Przeniesione zasoby nie zmieniają lokalizacji. Na przykład jeśli masz konto magazynu w regionie Wschodnie stany USA i przeniesiesz je do innej grupy zasobów, pozostanie ono w regionie Wschodnie stany USA.

Przenoszenie zasobów między subskrypcjami

W zależności od typu zasobu możesz przenieść zasoby między subskrypcjami lub między grupami zasobów w ramach tej samej subskrypcji.

W naszym scenariuszu wystarczy przenieść parę kont magazynu do innej grupy zasobów w ramach tej samej subskrypcji. Jeśli ze względów rozliczeniowych musieliśmy przenieść aplikację internetową platformy Azure i wszystkie jej zasoby zależne do innej subskrypcji, ten proces może obejmować więcej kroków. Jak wspomniano w lekcji 2, należy przenieść wszystkie zasoby zależne do jednej grupy zasobów. Następnie możesz przenieść te zasoby do nowej grupy zasobów w ramach innej subskrypcji. Na poniższym diagramie przedstawiono kroki, które należy wykonać. Ten przykład obejmuje zasób z jednym zasobem zależnym w oddzielnej grupie zasobów.

Diagram przedstawiający trzy kroki, które należy wykonać podczas przenoszenia zasobów w wielu grupach zasobów do grupy zasobów w innej subskrypcji.

  1. Przenieś zasoby zależne i dany zasób do jednej grupy zasobów.
  2. Przenieś zasób i zasoby zależne razem z subskrypcji źródłowej do subskrypcji docelowej.
  3. W razie potrzeby należy ponownie dystrybuować zasoby zależne do różnych grup zasobów w ramach subskrypcji docelowej.

Jak przenosić zasoby

Po zidentyfikowaniu zasobów, które chcesz przenieść, i sprawdź, czy można je przenieść. Możesz utworzyć grupę zasobów i przenieść zasoby do tej grupy zasobów.

Do przenoszenia zasobów możesz użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu PowerShell lub interfejsu API REST platformy Azure. W następnej lekcji użyjesz witryny Azure Portal, aby przenieść konta magazynu do nowej grupy zasobów. W tej lekcji poznamy polecenia używane do przenoszenia zasobów za pomocą interfejsu wiersza polecenia platformy Azure lub programu PowerShell.

Przenoszenie zasobów przy użyciu interfejsu wiersza polecenia platformy Azure

Następujące polecenia pokazują, jak przenieść zasób przy użyciu interfejsu wiersza polecenia platformy Azure.

  1. Utwórz grupę zasobów.

    az group create --name <destination resource group name> --location <location name>
    
  2. Pobierz zasób.

     yourResource=$(az resource show --resource-group <resource group name> --name <resource name> --resource-type <resource type> --query id --output tsv)
    
  3. Przenieś zasób do innej grupy zasobów przy użyciu identyfikatora zasobu.

    az resource move --destination-group <destination resource group name> --ids $yourResource
    
  4. Zwróć wszystkie zasoby w grupie zasobów, aby zweryfikować, czy zasób został przeniesiony.

    az resource list --resource-group <destination resource group name> --query [].type --output tsv | uniq
    
  5. Zaktualizuj identyfikatory zasobów we wszelkich narzędziach i skryptach, które przywołują zasoby.

Przenoszenie zasobów przy użyciu programu Azure PowerShell

Następujące polecenia pokazują, jak przenieść zasób przy użyciu programu Azure PowerShell.

  1. Utwórz grupę zasobów.

    New-AzResourceGroup -Name <destination resource group name> -Location <location name>
    
  2. Pobierz zasób.

    $yourResource = Get-AzResource -ResourceGroupName <resource group name> -ResourceName <resource name>
    
  3. Przenieś zasób do innej grupy zasobów przy użyciu identyfikatora zasobu.

    Move-AzResource -DestinationResourceGroupName <destination resource group name> -ResourceId $yourResource.ResourceId
    
  4. Zwróć wszystkie zasoby w grupie zasobów, aby zweryfikować, czy zasób został przeniesiony.

    Get-AzResource -ResourceGroupName <destination resource group name> | ft
    
  5. Zaktualizuj identyfikatory zasobów we wszelkich narzędziach i skryptach, które przywołują zasoby.