Ostatnio musiałem przenieść kilka wybranych zasobów z jednej grupy zasobów do innej. O ile dla niektórych usług jest to możliwe z portalu np. Azure SQL Server to dla większości jednak nie jest. Po pełną listę co możemy przenieść a co nie zapraszam tutaj. Pod tym linkiem znajdziecie też szczegółowy opis jak przenieść to co można z poziomu portalu i to czego nie można, z wykorzystaniem Powershell.
Dla przykładu pokażę jak przenieść konto magazynu z już istniejącej grupy zasobów do zupełnie nowej.
Na początek zestaw komend do zalogowania się do Azure i wybrania subskrypcji na której będziemy pracować (jeśli zarządzamy tylko jedną subskrypcją to pomijamy drugą komendę):
1 2 3 |
Login-AzureRmAccount Get-AzureRmSubscription -SubscriptionName "Nazwa-subskrypcji" | Select-AzureRmSubscription |
Zestaw komend związanych z zasobami i grupami zasobów znajdziecie tutaj. Na potrzeby tego postu ograniczę się tylko do tych potrzebnych do przeniesienia konta magazynu danych do nowo utworzonej grupy zasobów.
Tworzę nową grupę zasobów NewRG w lokalizacji West Europe:
1 |
New-AzureRmResourceGroup -Name "NewRG" -Location "West Europe" |
Teraz przenoszę istniejące konto magazynu poprzez jego referencję:
1 2 3 4 5 6 7 8 |
Get-AzureRmResource -ResourceGroupName "Obecna grupa zasobów" -ResourceName "Nazwa konta magazynu" | Move-AzureRmResource -DestinationResourceGroupName "NewRG" Confirm Are you sure you want to move these resources to the resource group '/subscriptions/a03bb970-ee50-4e92-a0b5-a5dcff041ec3/resourceGroups/Obecna grupa zasobów' the resources: /subscriptions/a03bb970-ee50-4e92-a0b5-a5dcff041ec3/resourceGroups/Obecna grupa zasobów/providers/Microsoft.Storage/storageAccounts/Nazwa konta magazynu [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): |
Wystarczy potwierdzić nasz wybór Enterem i chwilę poczekać aż Azure przetrawi nasze żądanie. Po tym czasie można zalogować się do portalu i sprawdzić czy nowa grupa zasobów faktycznie zawiera przeniesione zasoby. Jak przeniosłem konto magazynu to oczywiście cała zawartość (w moim przypadku dyski VHD) jest przenoszona wraz z kontem 🙂
Możemy przenieść kilka zasobów naraz. Wystarczy wpierw zdefiniować zmienne, które będą przetrzymywać wskazanie na te zasoby
1 2 3 4 5 6 7 8 9 10 11 12 |
$storageacc = Get-AzureRmResource -ResourceName "movergteststorage" -ResourceGroupName "MoveRgTest" $appplan = Get-AzureRmResource -ResourceName "movergplan" -ResourceGroupName "MoveRgTest" Move-AzureRmResource -DestinationResourceGroupName "MoveRGtestCopy" -ResourceId $storageacc.ResourceId, $appplan.ResourceId Confirm Are you sure you want to move these resources to the resource group '/subscriptions/a03bb970-ee50-4e92-a0b5-a5dcff041ec3/resourceGroups/MoveRGtestCopy' the resources: /subscriptions/a03bb970-ee50-4e92-a0b5-a5dcff041ec3/resourceGroups/MoveRGtest/providers/Microsoft.Web/serverFarms/movergplan /subscriptions/a03bb970-ee50-4e92-a0b5-a5dcff041ec3/resourceGroups/MoveRGtest/providers/Microsoft.Storage/storageAccounts/movergteststorage [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): |
Ewentualnie jeśli chcemy przenieść wszystkie zasoby z jednej grupy do drugiej
1 |
Find-AzureRmResource -ResourceGroupNameContains "MoveRGtestCopy" | Move-AzureRmResource -DestinationResourceGroupName "MoveRGtest" |
Update: przenoszenie usług do innej grupy zasobów przez portal Azure
Wystarczy wejść na podgląd danego zasobu w portalu Azure i kliknąć ikonę ołówka obok nazwy grupy zasobów: