Flytta resurser till en ny resurs grupp eller prenumerationMove resources to a new resource group or subscription

Den här artikeln visar hur du flyttar Azure-resurser till antingen en annan Azure-prenumeration eller en annan resurs grupp under samma prenumeration.This article shows you how to move Azure resources to either another Azure subscription or another resource group under the same subscription. Du kan använda Azure Portal, Azure PowerShell, Azure CLI eller REST API för att flytta resurser.You can use the Azure portal, Azure PowerShell, Azure CLI, or the REST API to move resources.

Både käll gruppen och mål gruppen är låsta under flytt åtgärden.Both the source group and the target group are locked during the move operation. Skriva och ta bort blockeras på resursgrupper tills flyttningen är klar.Write and delete operations are blocked on the resource groups until the move completes. Låset innebär att du kan inte lägga till, uppdatera eller ta bort resurser i resursgrupper, men det innebär inte att resurserna som är låsta.This lock means you can't add, update, or delete resources in the resource groups, but it doesn't mean the resources are frozen. Om du flyttar en SQL Server och dess databas till en ny resursgrupp, inträffar ett program som använder databasen utan avbrott.For example, if you move a SQL Server and its database to a new resource group, an application that uses the database experiences no downtime. Det kan fortfarande läsa och skriva till databasen.It can still read and write to the database.

Om du flyttar en resurs flyttas den bara till en ny resurs grupp eller prenumeration.Moving a resource only moves it to a new resource group or subscription. Platsen för resursen ändras inte.It doesn't change the location of the resource.

Checklistan innan du flyttar resurserChecklist before moving resources

Några viktiga steg måste utföras innan en resurs flyttas.There are some important steps to do before moving a resource. Du kan undvika fel genom att verifiera dessa villkor.By verifying these conditions, you can avoid errors.

  1. De resurser som du vill flytta måste stödja flytt åtgärden.The resources you want to move must support the move operation. En lista över vilka resurser som stöder flytta finns i Flytta åtgärds stöd för resurser.For a list of which resources support move, see Move operation support for resources.

  2. Vissa tjänster har särskilda begränsningar eller krav när du flyttar resurser.Some services have specific limitations or requirements when moving resources. Om du har flyttat någon av följande tjänster, kontrol lera den här vägledningen innan du flyttar.If you've moving any of the following services, check that guidance before moving.

  3. Käll-och mål prenumerationerna måste vara aktiva.The source and destination subscriptions must be active. Om du har problem med att aktivera ett konto som har inaktiverats skapar du en support förfrågan för Azure.If you have trouble enabling an account that has been disabled, create an Azure support request. Välj prenumerationshantering för typ av ärende.Select Subscription Management for the issue type.

  4. Käll- och målprenumerationer måste finnas inom samma Azure Active Directory-klient.The source and destination subscriptions must exist within the same Azure Active Directory tenant. Om du vill kontrollera att båda prenumerationerna har samma klient-ID, använder du Azure PowerShell eller Azure CLI.To check that both subscriptions have the same tenant ID, use Azure PowerShell or Azure CLI.

    Använd för Azure PowerShell:For Azure PowerShell, use:

    (Get-AzSubscription -SubscriptionName <your-source-subscription>).TenantId
    (Get-AzSubscription -SubscriptionName <your-destination-subscription>).TenantId
    

    Om du använder Azure CLI använder du:For Azure CLI, use:

    az account show --subscription <your-source-subscription> --query tenantId
    az account show --subscription <your-destination-subscription> --query tenantId
    

    Om klient-ID: N för käll- och målprenumerationer inte är samma, kan du använda följande metoder för att stämma av klient-ID: N:If the tenant IDs for the source and destination subscriptions aren't the same, use the following methods to reconcile the tenant IDs:

  5. Målprenumerationen måste vara registrerad för resursprovidern för den resurs som flyttas.The destination subscription must be registered for the resource provider of the resource being moved. Om inte, du får ett felmeddelande om att den prenumerationen har inte registrerats för en resurstyp.If not, you receive an error stating that the subscription is not registered for a resource type. Du kanske ser det här felet när du flyttar en resurs till en ny prenumeration, men prenumerationen har aldrig använts med den resurs typen.You might see this error when moving a resource to a new subscription, but that subscription has never been used with that resource type.

    Använd följande kommandon för att hämta registreringsstatus PowerShell:For PowerShell, use the following commands to get the registration status:

    Set-AzContext -Subscription <destination-subscription-name-or-id>
    Get-AzResourceProvider -ListAvailable | Select-Object ProviderNamespace, RegistrationState
    

    Om du vill registrera en resursleverantör, använder du:To register a resource provider, use:

    Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
    

    För Azure CLI, använder du följande kommandon för att hämta registreringsstatus:For Azure CLI, use the following commands to get the registration status:

    az account set -s <destination-subscription-name-or-id>
    az provider list --query "[].{Provider:namespace, Status:registrationState}" --out table
    

    Om du vill registrera en resursleverantör, använder du:To register a resource provider, use:

    az provider register --namespace Microsoft.Batch
    
  6. Det konto som flyttar resurser måste ha minst följande behörigheter:The account moving the resources must have at least the following permissions:

    • Microsoft.Resources/subscriptions/resourceGroups/moveResources/action på resursgrupp för källa.Microsoft.Resources/subscriptions/resourceGroups/moveResources/action on the source resource group.
    • Microsoft.Resources/subscriptions/resourceGroups/write på målresursgruppen.Microsoft.Resources/subscriptions/resourceGroups/write on the destination resource group.
  7. Kontrollera prenumerationskvoter för den prenumeration som du flyttar resurser till innan du flyttar resurser.Before moving the resources, check the subscription quotas for the subscription you're moving the resources to. Om du flytta resurserna innebär prenumerationen kommer att överskrida gränsen, måste du granska om du kan begära en ökning av kvoten.If moving the resources means the subscription will exceed its limits, you need to review whether you can request an increase in the quota. En lista över begränsningar och hur du begär en ökning, se Azure-prenumeration och tjänstbegränsningar, kvoter och begränsningar.For a list of limits and how to request an increase, see Azure subscription and service limits, quotas, and constraints.

  8. För att flytta över prenumerationer måste resursen och dess beroende resurser finnas i samma resurs grupp och de måste flyttas tillsammans.For a move across subscriptions, the resource and its dependent resources must be located in the same resource group and they must be moved together. En virtuell dator med Managed disks skulle till exempel kräva att den virtuella datorn och de hanterade diskarna flyttas tillsammans, tillsammans med andra beroende resurser.For example, a VM with managed disks would require the VM and the managed disks to be moved together, along with other dependent resources.

    Om du flyttar en resurs till en ny prenumeration kan du kontrol lera om resursen har resurser som är beroende av varandra och om de finns i samma resurs grupp.If you're moving a resource to a new subscription, check to see whether the resource has any dependent resources, and whether they're located in the same resource group. Om resurserna inte finns i samma resurs grupp kontrollerar du om resurserna kan konsol IDE ras i samma resurs grupp.If the resources aren't in the same resource group, check to see whether the resources can be consolidated into the same resource group. I så fall kan du ta med alla dessa resurser i samma resurs grupp genom att använda en flyttnings åtgärd över resurs grupper.If so, bring all these resources into the same resource group by using a move operation across resource groups.

    Mer information finns i scenario för att flytta mellan prenumerationer.For more information, see Scenario for move across subscriptions.

Scenario för att flytta mellan prenumerationerScenario for move across subscriptions

Att flytta resurser från en prenumeration till en annan är en process i tre steg:Moving resources from one subscription to another is a three-step process:

flytt scenario mellan prenumerationer

I illustrations syfte har vi bara en beroende resurs.For illustration purposes, we have only one dependent resource.

  • Steg 1: Om beroende resurser fördelas över olika resurs grupper måste du först flytta dem till en resurs grupp.Step 1: If dependent resources are distributed across different resource groups, first move them into one resource group.
  • Steg 2: Flytta resurs-och beroende resurser tillsammans från käll prenumerationen till mål prenumerationen.Step 2: Move the resource and dependent resources together from the source subscription to the target subscription.
  • Steg 3: Alternativt kan du distribuera om de beroende resurserna till olika resurs grupper inom mål prenumerationen.Step 3: Optionally, redistribute the dependent resources to different resource groups within the target subscription.

Verifiera flyttValidate move

Den verifiera flyttåtgärden kan du testa ditt move-scenario utan att faktiskt flytta resurserna.The validate move operation lets you test your move scenario without actually moving the resources. Använd den här åtgärden för att kontrol lera om flytten kommer att lyckas.Use this operation to check if the move will succeed. Verifiering anropas automatiskt när du skickar en flyttnings förfrågan.Validation is automatically called when you send a move request. Använd endast den här åtgärden när du måste för att fastställa resultaten.Use this operation only when you need to predetermine the results. Om du vill köra den här åtgärden, måste den:To run this operation, you need the:

  • namn på resursgrupp för källaname of the source resource group
  • resurs-ID för målresursgruppenresource ID of the target resource group
  • resurs-ID för varje resurs att flyttaresource ID of each resource to move
  • den åtkomsttoken för ditt kontothe access token for your account

Skicka följande begäran:Send the following request:

POST https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<source-group>/validateMoveResources?api-version=2019-05-10
Authorization: Bearer <access-token>
Content-type: application/json

Med en brödtext i begäran:With a request body:

{
 "resources": ["<resource-id-1>", "<resource-id-2>"],
 "targetResourceGroup": "/subscriptions/<subscription-id>/resourceGroups/<target-group>"
}

Om begäran har formaterats korrekt, returnerar åtgärden:If the request is formatted correctly, the operation returns:

Response Code: 202
cache-control: no-cache
pragma: no-cache
expires: -1
location: https://management.azure.com/subscriptions/<subscription-id>/operationresults/<operation-id>?api-version=2018-02-01
retry-after: 15
...

202 statuskoden anger verifieringsförfrågan togs emot, men den inte har fastställt om flyttåtgärden lyckas.The 202 status code indicates the validation request was accepted, but it hasn't yet determined if the move operation will succeed. Den location värdet innehåller en URL som används för att kontrollera statusen för långvarig åtgärd.The location value contains a URL that you use to check the status of the long-running operation.

Om du vill kontrollera statusen genom att skicka följande begäran:To check the status, send the following request:

GET <location-url>
Authorization: Bearer <access-token>

Medan åtgärden körs, fortsätta att ta emot 202 statuskoden.While the operation is still running, you continue to receive the 202 status code. Vänta antalet sekunder som anges i den retry-after värdet innan du försöker igen.Wait the number of seconds indicated in the retry-after value before trying again. Om åtgärden för att flytta verifieras felmeddelandet 204 statuskoden.If the move operation validates successfully, you receive the 204 status code. Om flytten valideringen misslyckas visas ett felmeddelande som:If the move validation fails, you receive an error message, such as:

{"error":{"code":"ResourceMoveProviderValidationFailed","message":"<message>"...}}

Använda portalenUse the portal

Om du vill flytta resurser väljer du resurs gruppen med dessa resurser och väljer sedan knappen Flytta .To move resources, select the resource group with those resources, and then select the Move button.

Flytta resurser

Välj om du flyttar resurser till en ny resursgrupp eller en ny prenumeration.Select whether you're moving the resources to a new resource group or a new subscription.

Välj resurser att flytta och målresursgruppen.Select the resources to move and the destination resource group. Bekräfta att du behöver uppdatera skript för dessa resurser och välj OK.Acknowledge that you need to update scripts for these resources and select OK. Om du har valt prenumerationen redigeringsikonen i föregående steg, måste du också välja målprenumerationen.If you selected the edit subscription icon in the previous step, you must also select the destination subscription.

Välj mål

I meddelanden, du ser att flyttåtgärden körs.In Notifications, you see that the move operation is running.

Visa flytta status

När den har slutförts meddelas du om resultatet.When it has completed, you're notified of the result.

Visa flytta resultat

Om du får ett fel meddelande kan du läsa mer i Felsöka flytt av Azure-resurser till en ny resurs grupp eller prenumeration.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Använda Azure PowerShellUse Azure PowerShell

Om du vill flytta befintliga resurser till en annan resurs grupp eller prenumeration använder du kommandot Move-AzResource .To move existing resources to another resource group or subscription, use the Move-AzResource command. I följande exempel visas hur du flyttar flera resurser till en ny resurs grupp.The following example shows how to move several resources to a new resource group.

$webapp = Get-AzResource -ResourceGroupName OldRG -ResourceName ExampleSite
$plan = Get-AzResource -ResourceGroupName OldRG -ResourceName ExamplePlan
Move-AzResource -DestinationResourceGroupName NewRG -ResourceId $webapp.ResourceId, $plan.ResourceId

Om du vill flytta till en ny prenumeration kan innehålla ett värde för den DestinationSubscriptionId parametern.To move to a new subscription, include a value for the DestinationSubscriptionId parameter.

Om du får ett fel meddelande kan du läsa mer i Felsöka flytt av Azure-resurser till en ny resurs grupp eller prenumeration.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Använda Azure CLIUse Azure CLI

Flytta befintliga resurser till en annan resursgrupp eller prenumeration genom att använda den az resursflytt kommando.To move existing resources to another resource group or subscription, use the az resource move command. Ange resurs-ID resurser att flytta.Provide the resource IDs of the resources to move. I följande exempel visas hur du flyttar flera resurser till en ny resurs grupp.The following example shows how to move several resources to a new resource group. I den --ids parameter, ange en blankstegsavgränsad lista med resurs-ID för att flytta.In the --ids parameter, provide a space-separated list of the resource IDs to move.

webapp=$(az resource show -g OldRG -n ExampleSite --resource-type "Microsoft.Web/sites" --query id --output tsv)
plan=$(az resource show -g OldRG -n ExamplePlan --resource-type "Microsoft.Web/serverfarms" --query id --output tsv)
az resource move --destination-group newgroup --ids $webapp $plan

Om du vill flytta till en ny prenumeration, ange den --destination-subscription-id parametern.To move to a new subscription, provide the --destination-subscription-id parameter.

Om du får ett fel meddelande kan du läsa mer i Felsöka flytt av Azure-resurser till en ny resurs grupp eller prenumeration.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Använda REST-APIUse REST API

Om du vill flytta befintliga resurser till en annan resurs grupp eller prenumeration använder du åtgärden Flytta resurser .To move existing resources to another resource group or subscription, use the Move resources operation.

POST https://management.azure.com/subscriptions/{source-subscription-id}/resourcegroups/{source-resource-group-name}/moveResources?api-version={api-version}

I begärandetexten anger du målresursgruppen och resurser för att flytta.In the request body, you specify the target resource group and the resources to move.

{
 "resources": ["<resource-id-1>", "<resource-id-2>"],
 "targetResourceGroup": "/subscriptions/<subscription-id>/resourceGroups/<target-group>"
}

Om du får ett fel meddelande kan du läsa mer i Felsöka flytt av Azure-resurser till en ny resurs grupp eller prenumeration.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Nästa stegNext steps

En lista över vilka resurser som stöder flytta finns i Flytta åtgärds stöd för resurser.For a list of which resources support move, see Move operation support for resources.