Přesunutí prostředků do nové skupiny prostředků nebo předplatnéhoMove resources to a new resource group or subscription

V tomto článku se dozvíte, jak přesunout prostředky Azure do jiného předplatného Azure nebo do jiné skupiny prostředků v rámci stejného předplatného.This article shows you how to move Azure resources to either another Azure subscription or another resource group under the same subscription. K přesunu prostředků můžete použít Azure Portal, Azure PowerShell, rozhraní příkazového řádku Azure nebo REST API.You can use the Azure portal, Azure PowerShell, Azure CLI, or the REST API to move resources.

Během operace přesunutí dojde ke zamčení zdrojové skupiny i cílové skupiny.Both the source group and the target group are locked during the move operation. Zápis a odstranění operace jsou blokovány o skupinách prostředků, až do dokončení přechodu.Write and delete operations are blocked on the resource groups until the move completes. Tento Zámek znamená, že nelze přidat, aktualizovat nebo odstranit prostředky ve skupinách prostředků, ale neznamená, že prostředky jsou zmražená.This lock means you can't add, update, or delete resources in the resource groups, but it doesn't mean the resources are frozen. Například při přesunutí serveru SQL Server a jeho databázi do nové skupiny prostředků, aplikace, která používá databázi prostředí bez výpadků.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. Můžete nadále číst a zapisovat do databáze.It can still read and write to the database.

Přesunutí prostředku přesune ho jenom do nové skupiny prostředků nebo předplatného.Moving a resource only moves it to a new resource group or subscription. Nemění umístění prostředku.It doesn't change the location of the resource.

Kontrolní seznam před přesunutím prostředkůChecklist before moving resources

Před přesunutím prostředku je třeba provést několik důležitých kroků.There are some important steps to do before moving a resource. Ověřením těchto podmínek se můžete vyhnout chybám.By verifying these conditions, you can avoid errors.

  1. Prostředky, které chcete přesunout, musí podporovat operaci přesunu.The resources you want to move must support the move operation. Seznam prostředků, které podporují přesun, najdete v tématu Podpora operací přesunutí pro prostředky.For a list of which resources support move, see Move operation support for resources.

  2. Některé služby mají při přesouvání prostředků specifická omezení nebo požadavky.Some services have specific limitations or requirements when moving resources. Pokud přesouváte některou z následujících služeb, před přesunem si Projděte tyto pokyny.If you've moving any of the following services, check that guidance before moving.

  3. Zdrojové a cílové odběry musí být aktivní.The source and destination subscriptions must be active. Pokud máte potíže s povolením zakázaného účtu, vytvořte žádost o podporu Azure.If you have trouble enabling an account that has been disabled, create an Azure support request. Vyberte správy předplatných typ problému.Select Subscription Management for the issue type.

  4. Zdrojové a cílové předplatné musí existovat v rámci stejného tenanta Azure Active Directory.The source and destination subscriptions must exist within the same Azure Active Directory tenant. Pokud chcete zkontrolovat, že oba odběry obsahují stejné ID tenanta, pomocí Azure Powershellu nebo rozhraní příkazového řádku Azure.To check that both subscriptions have the same tenant ID, use Azure PowerShell or Azure CLI.

    Pro prostředí Azure PowerShell použijte:For Azure PowerShell, use:

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

    Pokud používáte Azure CLI, použijte:For Azure CLI, use:

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

    Pokud ID tenantů pro zdrojové a cílové předplatné nejsou stejné, použijte následující metody k odsouhlasení ID tenantů:If the tenant IDs for the source and destination subscriptions aren't the same, use the following methods to reconcile the tenant IDs:

  5. Cílové předplatné musí být registrováno pro poskytovatele přesouvaného prostředku.The destination subscription must be registered for the resource provider of the resource being moved. Pokud ne, zobrazí chybová zpráva oznamující, že předplatné není zaregistrované pro typ prostředku.If not, you receive an error stating that the subscription is not registered for a resource type. Tato chyba se může zobrazit při přesunu prostředku do nového předplatného, ale toto předplatné se pro tento typ prostředku nikdy nepoužilo.You might see this error when moving a resource to a new subscription, but that subscription has never been used with that resource type.

    Pokud používáte PowerShell, použijte následující příkazy získat stav registrace: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
    

    Zaregistrovat poskytovatele prostředků, použijte:To register a resource provider, use:

    Register-AzResourceProvider -ProviderNamespace Microsoft.Batch
    

    Azure CLI použijte následující příkazy se získat stav registrace: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
    

    Zaregistrovat poskytovatele prostředků, použijte:To register a resource provider, use:

    az provider register --namespace Microsoft.Batch
    
  6. Účet přesunutí prostředků musí mít alespoň následující oprávnění:The account moving the resources must have at least the following permissions:

    • Microsoft.Resources/subscriptions/resourceGroups/moveResources/action na zdrojovou skupinu prostředků.Microsoft.Resources/subscriptions/resourceGroups/moveResources/action on the source resource group.
    • Microsoft.Resources/subscriptions/resourceGroups/write na cílová skupina prostředků.Microsoft.Resources/subscriptions/resourceGroups/write on the destination resource group.
  7. Před přesunutím prostředků, zkontrolujte kvóty předplatného pro předplatné, které přesouváte prostředky, které.Before moving the resources, check the subscription quotas for the subscription you're moving the resources to. Přesunutí prostředků znamená, že předplatné překročí maximum, budete muset zkontrolovat, jestli můžete požádat o zvýšení kvóty.If moving the resources means the subscription will exceed its limits, you need to review whether you can request an increase in the quota. Seznam omezení a tom, jak požádat o zvýšení najdete v tématu předplatného Azure a limity, kvóty a omezení.For a list of limits and how to request an increase, see Azure subscription and service limits, quotas, and constraints.

  8. Pro přesun mezi předplatnými musí být prostředek a jeho závislé prostředky umístěny ve stejné skupině prostředků a musí být přesunuty dohromady.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. Například virtuální počítač se spravovanými disky by vyžadoval, aby se virtuální počítač a spravované disky přesunuly společně s dalšími závislými prostředky.For example, a VM with managed disks would require the VM and the managed disks to be moved together, along with other dependent resources.

    Pokud přesouváte prostředek do nového předplatného, zkontrolujte, zda prostředek obsahuje nějaké závislé prostředky a zda se nachází ve stejné skupině prostředků.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. Pokud prostředky nejsou ve stejné skupině prostředků, zkontrolujte, jestli se prostředky dají konsolidovat do stejné skupiny prostředků.If the resources aren't in the same resource group, check to see whether the resources can be consolidated into the same resource group. Pokud ano, převeďte všechny tyto prostředky do stejné skupiny prostředků pomocí operace přesunutí napříč skupinami prostředků.If so, bring all these resources into the same resource group by using a move operation across resource groups.

Další informace najdete v tématu scénář pro přesun mezipředplatnými.For more information, see Scenario for move across subscriptions.

Scénář pro přesun mezi předplatnýmiScenario for move across subscriptions

Přesunutí prostředků z jednoho předplatného na jiný je proces se třemi kroky:Moving resources from one subscription to another is a three-step process:

scénář přesunutí mezi předplatnými

Pro ilustraci máme jenom jeden závislý prostředek.For illustration purposes, we have only one dependent resource.

  • Krok 1: Pokud jsou závislé prostředky distribuovány napříč různými skupinami prostředků, přesuňte je nejprve do jedné skupiny prostředků.Step 1: If dependent resources are distributed across different resource groups, first move them into one resource group.
  • Krok 2: Přesunutí prostředku a závislých prostředků ze zdrojového předplatného do cílového předplatného.Step 2: Move the resource and dependent resources together from the source subscription to the target subscription.
  • Krok 3: Volitelně můžete závislé prostředky znovu distribuovat do různých skupin prostředků v rámci cílového předplatného.Step 3: Optionally, redistribute the dependent resources to different resource groups within the target subscription.

Ověří přesunValidate move

Ověření operace přesunu umožňuje testovat váš scénář přesunu bez skutečně přesouvání prostředků.The validate move operation lets you test your move scenario without actually moving the resources. Pomocí této operace zkontrolujete, zda se přesun nezdaří.Use this operation to check if the move will succeed. Ověřování je automaticky voláno při odeslání žádosti o přesunutí.Validation is automatically called when you send a move request. Tuto operaci použijte pouze v případě, že potřebujete předem určit výsledky.Use this operation only when you need to predetermine the results. K provedení této operace, je nutné:To run this operation, you need the:

  • Název zdrojové skupiny prostředkůname of the source resource group
  • ID prostředku cílová skupina prostředkůresource ID of the target resource group
  • ID prostředku každého prostředku přesunoutresource ID of each resource to move
  • přístupový token pro váš účetthe access token for your account

Odeslání žádosti o následující: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

S hlavní část žádosti:With a request body:

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

Pokud je požadavek správně naformátován, operace vrátí: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 stavový kód označuje byla přijata žádost o ověření, ale ještě nebyl určen, pokud bude úspěšné operaci přesunutí.The 202 status code indicates the validation request was accepted, but it hasn't yet determined if the move operation will succeed. location Hodnota obsahuje adresu URL, kterou lze použít ke kontrole stavu dlouhotrvající operace.The location value contains a URL that you use to check the status of the long-running operation.

Pokud chcete zkontrolovat stav, odešlete požadavek na následující:To check the status, send the following request:

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

Během operace je stále spuštěna, můžete nadále přijímat 202 stavový kód.While the operation is still running, you continue to receive the 202 status code. Počkejte, počet sekund, které jsou uvedené v retry-after hodnotu než to zkusíte znovu.Wait the number of seconds indicated in the retry-after value before trying again. Pokud operace přesunu ověří úspěšně, obdržíte 204 stavový kód.If the move operation validates successfully, you receive the 204 status code. Pokud selže ověření přesunu, obdržíte chybovou zprávu, jako například:If the move validation fails, you receive an error message, such as:

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

Použití portáluUse the portal

Chcete-li přesunout prostředky, vyberte skupinu prostředků s těmito prostředky a pak vyberte tlačítko přesunout .To move resources, select the resource group with those resources, and then select the Move button.

přesunutí prostředků

Vyberte, jestli přesouváte prostředky do nové skupiny prostředků nebo si nové předplatné.Select whether you're moving the resources to a new resource group or a new subscription.

Vyberte prostředky k přesunutí a cílová skupina prostředků.Select the resources to move and the destination resource group. Potvrďte, že je potřeba aktualizovat skripty pro tyto prostředky a vyberte OK.Acknowledge that you need to update scripts for these resources and select OK. Pokud vyberete ikonu pro úpravy odběru v předchozím kroku, musíte také vybrat cílové předplatné.If you selected the edit subscription icon in the previous step, you must also select the destination subscription.

Vyberte cíl

V oznámení, uvidíte, že je spuštěná operace přesunutí.In Notifications, you see that the move operation is running.

Zobrazit stav přesunu

Po jeho dokončení budete informováni o výsledek.When it has completed, you're notified of the result.

Zobrazit výsledek přesunutí

Pokud se zobrazí chyba, přečtěte si téma řešení potíží s přesunutím prostředků Azure do nové skupiny prostředků nebopředplatného.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Použití Azure PowershellUse Azure PowerShell

Pokud chcete přesunout existující prostředky do jiné skupiny prostředků nebo předplatného, použijte příkaz Move-AzResource .To move existing resources to another resource group or subscription, use the Move-AzResource command. Následující příklad ukazuje, jak přesunout několik prostředků do nové skupiny prostředků.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

Chcete-li přesunout do nového předplatného, zahrnout hodnotu pro DestinationSubscriptionId parametru.To move to a new subscription, include a value for the DestinationSubscriptionId parameter.

Pokud se zobrazí chyba, přečtěte si téma řešení potíží s přesunutím prostředků Azure do nové skupiny prostředků nebopředplatného.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Použití Azure CLIUse Azure CLI

Chcete-li stávající prostředky přesunout do jiné skupiny prostředků nebo předplatného, použijte přesunutí prostředku az příkaz.To move existing resources to another resource group or subscription, use the az resource move command. Zadejte ID prostředků pro přesun prostředků.Provide the resource IDs of the resources to move. Následující příklad ukazuje, jak přesunout několik prostředků do nové skupiny prostředků.The following example shows how to move several resources to a new resource group. V --ids parametr, zadejte místo oddělený seznam ID pro přesun prostředků.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

Pokud chcete přesunout do nového předplatného, zadejte --destination-subscription-id parametru.To move to a new subscription, provide the --destination-subscription-id parameter.

Pokud se zobrazí chyba, přečtěte si téma řešení potíží s přesunutím prostředků Azure do nové skupiny prostředků nebopředplatného.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Použití rozhraní REST APIUse REST API

Pokud chcete přesunout existující prostředky do jiné skupiny prostředků nebo předplatného, použijte operaci přesunout prostředky .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}

V textu požadavku zadejte cílovou skupinu prostředků a prostředky, které chcete přesunout.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>"
}

Pokud se zobrazí chyba, přečtěte si téma řešení potíží s přesunutím prostředků Azure do nové skupiny prostředků nebopředplatného.If you get an error, see Troubleshoot moving Azure resources to new resource group or subscription.

Další postupNext steps

Seznam prostředků, které podporují přesun, najdete v tématu Podpora operací přesunutí pro prostředky.For a list of which resources support move, see Move operation support for resources.