Freigeben über


Verschieben von Azure-Ressourcen in eine neue Ressourcengruppe oder ein neues Abonnement

In diesem Artikel wird erläutert, wie Azure-Ressourcen zwischen Ressourcengruppen innerhalb desselben Abonnements oder in verschiedenen Abonnements verschoben werden. Wenn die Verschiebung mehrere Abonnements umfasst, müssen diese Abonnements zum selben Microsoft Entra ID-Mandanten gehören. Sie können Tools wie das Azure-Portal, Azure PowerShell, die Azure-Befehlszeilenschnittstelle, die REST-API oder Python verwenden, um Ressourcen zu verschieben.

Während des Verschiebens werden sowohl die Quell- als auch die Zielressourcengruppen gesperrt. Sie können während des Verschiebens keine Ressourcen innerhalb dieser Ressourcengruppen erstellen, löschen oder aktualisieren. Die vorhandenen Ressourcen bleiben jedoch vollständig betriebsbereit. Wenn Sie beispielsweise eine virtuelle Maschine zwischen zwei Ressourcengruppen verschieben, können Sie diese nicht löschen oder ihre Eigenschaften (z. B. die Größe) während des Verschiebens ändern. Trotz dieser Einschränkung wird die virtuelle Maschine weiterhin normal ausgeführt und es tritt bei den Diensten, die sie benötigen, keine Downtime auf. Die Sperre kann bis zu vier Stunden dauern. Die meisten Verschiebungen werden schneller abgeschlossen und entsprechend wird die Sperre früher aufgehoben.

In der Anforderung zum Verschieben sollten nur Ressourcen auf oberster Ebene (übergeordnete Ressourcen) angegeben werden. Untergeordnete Ressourcen werden automatisch zusammen mit ihren übergeordneten Ressourcen verschoben und können nicht unabhängig verschoben werden. Beispielsweise können Sie beim Verschieben der übergeordneten Ressource Microsoft.Compute/virtualMachines auch ihre untergeordneten Ressource (z. B. Microsoft.Compute/virtualMachines/extensions) mit verschieben. Sie können die untergeordnete Ressource jedoch nicht eigenständig verschieben.

Beim Verschieben einer Ressource bleiben ihre Abhängigkeiten mit untergeordneten Ressourcen erhalten. Abhängigkeiten mit anderen Ressourcen können jedoch verloren gehen und eine Neukonfiguration erfordern. Durch das Verschieben einer Ressource wird nur die zugeordnete Ressourcengruppe geändert, die physische Region der Ressource ändert sich nicht.

Hinweis

Azure-Ressourcen können nicht verschoben werden, wenn in der Quell- oder Zielressourcengruppe oder im Quell- oder Zielabonnement eine Schreibschutzsperre vorhanden ist.

Geänderte Ressourcen-ID

Wenn Sie eine Ressource verschieben, ändern Sie ihre Ressourcen-ID. Das Standardformat für eine Ressourcen-ID ist /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}. Wenn Sie eine Ressource in eine neue Ressourcengruppe oder ein Abonnement verschieben, ändern Sie einen oder mehrere Werte in dem Pfad.

Wenn Sie die Ressourcen-ID an einer beliebigen Stelle verwenden, ändern Sie diesen Wert. Wenn Sie beispielsweise im Portal ein benutzerdefiniertes Dashboard verwenden, das auf eine Ressourcen-ID verweist, aktualisieren Sie diesen Wert. Suchen Sie nach allen Skripten oder Vorlagen, die für die neue Ressourcen-ID aktualisiert werden müssen.

Checkliste vor dem Verschieben von Ressourcen

Vor dem Verschieben einer Ressource müssen einige wichtige Schritte ausgeführt werden. Sie können Fehler vermeiden, indem Sie diese Bedingungen überprüfen.

  1. Quellen- und Zielabonnements müssen aktiv sein. Wenn beim Aktivieren eines Kontos, das deaktiviert ist, Schwierigkeiten auftreten, erstellen Sie eine Azure-Supportanfrage. Wählen Sie Abonnementverwaltung als Problemtyp aus.

  2. Quell- und Zielabonnement müssen im selben Microsoft Entra-Mandanten vorhanden sein. Um zu überprüfen, ob beide Abonnements die gleiche Mandanten-ID aufweisen, verwenden Sie Azure PowerShell oder die Azure-Befehlszeilenschnittstelle.

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

    Wenn die Mandanten-IDs von Quell- und Zielabonnement nicht übereinstimmen, verwenden Sie die folgenden Methoden, um die Mandanten-IDs aufeinander abzustimmen:

  3. Informationen zum Verschieben von Ressourcen zu oder von einem Cloud Solution Provider-Partner (CSP-Partner) finden unter Übertragen von Azure-Abonnements zwischen Abonnenten und CSPs.

  4. Die zu verschiebenden Ressourcen müssen den Verschiebevorgang unterstützen. Eine Liste der Ressourcen, die Verschiebevorgänge unterstützen, finden Sie unter Azure-Ressourcentypen für Verschiebevorgänge.

  5. Für einige Dienste gelten bestimmte Einschränkungen oder Anforderungen beim Verschieben von Ressourcen. Überprüfen Sie die folgenden Verschiebeleitfäden, bevor Sie Ressourcen innerhalb dieser Dienste verschieben:

  1. Das Zielabonnement muss für den Ressourcenanbieter der Ressource, die Sie verschieben, registriert sein. Andernfalls erhalten Sie eine Fehlermeldung, die besagt, dass das Abonnement nicht für einen Ressourcentyp registriert ist. Dieser Fehler kann auftreten, wenn eine Ressource in ein neues Abonnement verschoben wird, Sie den Ressourcentyp jedoch zuvor nicht im Abonnement verwendeten.

    So rufen Sie den Registrierungsstatus ab

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

    So registrieren Sie einen Ressourcenanbieter

    az provider register --namespace Microsoft.Batch
    
  2. Überprüfen Sie vor dem Starten des Verschiebevorgangs das Abonnementkontingent für das Abonnement, in das Sie Ressourcen verschieben möchten. Überprüfen Sie, ob Sie eine Erhöhung eines Kontingents anfordern können, das andernfalls dazu führen würde, dass ein Zielabonnement seinen Grenzwert überschreitet. Ausführliche Leitfäden zu Grenzwerten und zum Anfordern einer Erhöhung finden Sie unter Grenzwerte, Kontingente und Einschränkungen für Azure-Abonnements und -Dienste.

  3. Das Konto, das die Ressourcen verschiebt, muss mindestens über folgende Berechtigungen verfügen:

    • Für die Quellressourcengruppe: Microsoft.Resources/subscriptions/resourceGroups/moveResources/action
    • Für die Zielressourcengruppe: Microsoft.Resources/subscriptions/resourceGroups/write
  4. Wenn Sie eine Ressource mit einer aktiven Azure-Rollenzuweisung (oder ihre untergeordnete Ressource mit derselben Zuweisung) verschieben, wird die Rollenzuweisung nicht verschoben und verwaist. Sie müssen die Rollenzuweisung nach dem Verschieben erneut erstellen. Obwohl das System die verwaiste Rollenzuweisung automatisch entfernt, empfiehlt es sich, sie vor dem Verschieben zu entfernen.

    Weitere Informationen zum Verwalten von Rollenzuweisungen finden Sie unter Auflisten von Azure-Rollenzuweisungen und Zuweisen von Azure-Rollen.

  5. Für eine abonnementübergreifende Verschiebung müssen die Ressource und die davon abhängigen Ressourcen in derselben Ressourcengruppe angeordnet sein und zusammen verschoben werden. Für eine virtuelle Maschine mit verwalteten Datenträgern beispielsweise müssen Sie die virtuelle Maschine, die verwalteten Datenträger und andere abhängige Ressourcen gemeinsam verschieben.

    Wenn Sie eine Ressource in ein neues Abonnement verschieben, sollten Sie überprüfen, ob die Ressource über abhängige Ressourcen verfügt und ob diese sich in derselben Ressourcengruppe befinden. Wenn sich die Ressourcen nicht in derselben Ressourcengruppe befinden, überprüfen Sie, ob Sie sie in dieselbe Gruppe zusammenfassen können. Wenn ja, verwenden Sie einen Verschiebevorgang zwischen Ressourcengruppen, um alle Ressourcen in derselben Ressourcengruppe zu konsolidieren.

    Weitere Informationen finden Sie unter Szenario für eine abonnementübergreifende Verschiebung.

Szenario für das abonnementübergreifende Verschieben

Das Verschieben von Ressourcen aus einem Abonnement in ein anderes umfasst drei Schritte. Das folgende Diagramm stellt zur Illustrierung dieser Schritte nur eine abhängige Ressource dar:

Diagramm, das den dreistufigen Prozess des Verschiebens von Ressourcen zwischen Abonnements zeigt.

  • Schritt 1: Wenn abhängige Ressourcen auf unterschiedliche Ressourcengruppen verteilt sind, müssen Sie diese zuerst in einer Ressourcengruppe zusammenfassen.
  • Schritt 2: Verschieben Sie die Ressource und die abhängigen Ressourcen zusammen aus dem Quellabonnement in das Zielabonnement.
  • Schritt 3: Optional können Sie die abhängigen Ressourcen auf unterschiedliche Ressourcengruppen im Zielabonnement verteilen.

Verschieben von Ressourcen

Verwenden des Azure-Portals

  1. Wählen Sie zum Verschieben von Ressourcen die Ressourcengruppe aus, die diese Ressourcen enthält.

  2. Wählen Sie die Ressourcen aus, die Sie verschieben möchten. Aktivieren Sie das Kontrollkästchen oben in der Liste, um alle Ressourcen zu verschieben. Oder wählen Sie Ressourcen einzeln aus.

    Screenshot: Im Azure-Portal wird die zu verschiebende Ressource ausgewählt.

  3. Wählen Sie die Schaltfläche Verschieben aus.

    Screenshot: Azure-Portal mit der Schaltfläche „Verschieben“ mit drei Optionen.

    Diese Schaltfläche bietet Ihnen drei Optionen:

    • Verschieben in eine neue Ressourcengruppe.
    • Verschieben in ein neues Abonnement.
  1. Wählen Sie aus, ob Sie die Ressourcen in eine neue Ressourcengruppe oder ein neues Abonnement verschieben.

  2. Die Quellressourcengruppe wird automatisch festgelegt. Wählen Sie die Zielressourcengruppe aus. Wenn Sie in ein neues Abonnement verschieben, geben Sie diese Option ebenfalls an. Wählen Sie Weiter aus.

    Screenshot: Im Azure-Portal gibt der Benutzer die Zielressourcengruppe für den Verschiebevorgang an.

  3. Das Portal überprüft, ob die Ressourcen verschoben werden können. Warten Sie, bis die Validierung abgeschlossen ist.

Screenshot: Im Azure-Portal wird der Überprüfungsprozess für den Verschiebevorgang angezeigt.

  1. Wenn die Validierung erfolgreich abgeschlossen wurde, wählen Sie Weiter aus.

  2. Bestätigen Sie, dass Sie Tools und Skripts für diese Ressourcen aktualisieren müssen. Um mit dem Verschieben der Ressourcen zu beginnen, wählen Sie Verschieben aus.

Screenshot: Im Azure-Portal bestätigt der Benutzer, dass die Tools und Skripte aktualisiert werden müssen, bevor der Verschiebevorgang gestartet wird.

  1. Sie werden im Azure-Portal benachrichtigt, wenn das Verschieben abgeschlossen ist.

Screenshot: Im Azure-Portal wird eine Benachrichtigung mit den Ergebnissen des Verschiebevorgangs angezeigt.

Verwenden der Azure-Befehlszeilenschnittstelle

Überprüfen

Verwenden Sie den Befehl az resource invoke-action, um Ihr Verschiebeszenario zu testen, ohne Ressourcen in Echtzeit zu verschieben. Verwenden Sie diesen Befehl nur, wenn Sie die Ergebnisse modellieren möchten, ohne alles zu durchlaufen. Zum Ausführen dieses Vorgangs benötigen Sie die Ressourcen-IDs von Quell- und Zielressourcengruppe sowie aller Ressourcen, die Sie verschieben.

Verwendet Sie \" als Escapezeichen für doppelte Anführungszeichen im Anforderungstext.

az resource invoke-action --action validateMoveResources \
  --ids "/subscriptions/{subscription-id}/resourceGroups/{source-rg}" \
  --request-body "{  \"resources\": [\"/subscriptions/{subscription-id}/resourceGroups/{source-rg}/providers/{resource-provider}/{resource-type}/{resource-name}\", \"/subscriptions/{subscription-id}/resourceGroups/{source-rg}/providers/{resource-provider}/{resource-type}/{resource-name}\", \"/subscriptions/{subscription-id}/resourceGroups/{source-rg}/providers/{resource-provider}/{resource-type}/{resource-name}\"],\"targetResourceGroup\":\"/subscriptions/{subscription-id}/resourceGroups/{destination-rg}\" }" 

Ausgabe bei erfolgreicher Validierung:

{} Finished .. 

Wenn die Überprüfung fehlschlägt, wird eine Fehlermeldung angezeigt, die erläutert, warum Sie die Ressourcen nicht verschieben können.

Move

Verwenden Sie den Befehl az resource move, um vorhandene Ressourcen in eine andere Ressourcengruppe oder ein anderes Abonnement zu verschieben. Geben Sie im --ids-Parameter eine durch Leerzeichen getrennte Liste der zu verschiebenden Ressourcen-IDs an.

Mit den folgenden Befehlen wird veranschaulicht, wie mehrere Ressourcen in eine neue Ressourcengruppe verschoben werden. Sie funktionieren in der Azure-Befehlszeilenschnittstelle in einem Bash-Terminal oder in einer Azure PowerShell-Konsole. Um Ressourcen in ein neues Abonnement zu verschieben, geben Sie den Parameter --destination-subscription-id an.

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

Mithilfe von Azure PowerShell

Überprüfen

Verwenden Sie in Azure PowerShell den Befehl Invoke-AzResourceAction, um Ihr Verschiebeszenario zu testen, ohne Ressourcen in Echtzeit zu verschieben. Verwenden Sie diesen Befehl nur, wenn Sie die Ergebnisse modellieren möchten, ohne alles zu durchlaufen.

$sourceName = "sourceRG"
$destinationName = "destinationRG"
$resourcesToMove = @("app1", "app2")

$sourceResourceGroup = Get-AzResourceGroup -Name $sourceName
$destinationResourceGroup = Get-AzResourceGroup -Name $destinationName

$resources = Get-AzResource -ResourceGroupName $sourceName | Where-Object { $_.Name -in $resourcesToMove }

Invoke-AzResourceAction -Action validateMoveResources `
  -ResourceId $sourceResourceGroup.ResourceId `
  -Parameters @{
  resources = $resources.ResourceId;  # Wrap in an @() array if providing a single resource ID string.
  targetResourceGroup = $destinationResourceGroup.ResourceId
  }

Bei einer erfolgreichen Überprüfung wird keine Ausgabe angezeigt. Wenn die Überprüfung jedoch fehlschlägt, wird eine Fehlermeldung angezeigt, die erläutert, warum Sie die Ressourcen nicht verschieben können.

Move

Verwenden Sie zum Verschieben vorhandener Ressourcen in eine andere Ressourcengruppe oder ein anderes Abonnement den Befehl Move-AzResource. Im folgenden Beispiel wird veranschaulicht, wie mehrere Ressourcen in eine neue Ressourcengruppe verschoben werden.

$sourceName = "sourceRG"
$destinationName = "destinationRG"
$resourcesToMove = @("app1", "app2")

$resources = Get-AzResource -ResourceGroupName $sourceName | Where-Object { $_.Name -in $resourcesToMove }

Move-AzResource -DestinationResourceGroupName $destinationName -ResourceId $resources.ResourceId

Um Ressourcen in ein neues Abonnement zu verschieben, schließen Sie einen Wert für den Parameter DestinationSubscriptionId ein.

Verwenden von Python

Überprüfen

Verwenden Sie die ResourceManagementClient.resources.begin_validate_move_resources-Methode, um Ihr Verschiebeszenario zu testen, ohne Ressourcen in Echtzeit zu verschieben. Verwenden Sie diese Methode nur, wenn Sie die Ergebnisse modellieren möchten, ohne alles zu durchlaufen.

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

resource_client = ResourceManagementClient(credential, subscription_id)

source_name = "sourceRG"
destination_name = "destinationRG"
resources_to_move = ["app1", "app2"]

destination_resource_group = resource_client.resource_groups.get(destination_name)

resources = [
  resource for resource in resource_client.resources.list_by_resource_group(source_name)
  if resource.name in resources_to_move
]

resource_ids = [resource.id for resource in resources]

validate_move_resources_result = resource_client.resources.begin_validate_move_resources(
  source_name,
  {
  "resources": resource_ids,
  "target_resource_group": destination_resource_group.id
  }
).result()

print("Validate move resources result: {}".format(validate_move_resources_result))

Bei einer erfolgreichen Überprüfung wird keine Ausgabe angezeigt. Wenn die Überprüfung jedoch fehlschlägt, wird eine Fehlermeldung angezeigt, die erläutert, warum Sie die Ressourcen nicht verschieben können.

Move

Verwenden Sie in Python die ResourceManagementClient.resources.begin_move_resources-Methode, um vorhandene Ressourcen in eine andere Ressourcengruppe oder ein anderes Abonnement zu verschieben. Im folgenden Beispiel wird veranschaulicht, wie mehrere Ressourcen in eine neue Ressourcengruppe verschoben werden.

import os
from azure.identity import AzureCliCredential
from azure.mgmt.resource import ResourceManagementClient

credential = AzureCliCredential()
subscription_id = os.environ["AZURE_SUBSCRIPTION_ID"]

resource_client = ResourceManagementClient(credential, subscription_id)

source_name = "sourceRG"
destination_name = "destinationRG"
resources_to_move = ["app1", "app2"]

destination_resource_group = resource_client.resource_groups.get(destination_name)

resources = [
  resource for resource in resource_client.resources.list_by_resource_group(source_name)
  if resource.name in resources_to_move
]

resource_ids = [resource.id for resource in resources]

resource_client.resources.begin_move_resources(
  source_name,
  {
  "resources": resource_ids,
  "target_resource_group": destination_resource_group.id
  }
)

REST-API

Überprüfen

Der Vorgang validate move operation testet Ihr Verschiebeszenario, ohne tatsächlich Ressourcen zu verschieben. Verwenden Sie diesen Vorgang, um zu überprüfen, ob das Verschieben erfolgreich ist. Die Überprüfung wird automatisch aufgerufen, wenn Sie eine Verschiebeanforderung senden. Verwenden Sie diesen Vorgang nur, wenn Sie die Ergebnisse modellieren möchten, ohne alles zu durchlaufen. Um diesen Vorgang ausführen zu können, benötigen Sie Folgendes:

  • Name der Quellressourcengruppe
  • Ressourcen-ID der Zielressourcengruppe
  • Ressourcen-ID der einzelnen zu verschiebenden Ressourcen
  • Das Zugriffstoken für Ihr Konto

Senden Sie die folgende Anforderung:

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

Mit dem Anforderungstext:

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

Wenn die Anforderung ordnungsgemäß formatiert ist, gibt der Vorgang Folgendes zurück:

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

Die Statuscode 202 gibt an, dass die Überprüfungsanforderung akzeptiert wurde, jedoch noch nicht ermittelt wurde, ob der Verschiebevorgang erfolgreich verläuft. Die Wert location enthält eine URL, über die Sie den Status des lang andauernden Vorgangs überprüfen können.

Um den Status zu überprüfen, senden Sie die folgende Anforderung:

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

Während der Vorgang ausgeführt wird, erhalten Sie weiterhin den Statuscode 202. Warten Sie die Anzahl von Sekunden, die im Wert retry-after angegeben ist, bevor Sie es erneut versuchen. Sie erhalten den Statuscode 204, wenn die Verschiebeüberprüfung erfolgreich war. Wenn bei der Verschiebeüberprüfung ein Fehler auftritt, erhalten Sie eine Fehlermeldung ähnlich der folgenden:

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

Move

Verwenden Sie den Move resources-Vorgang, um vorhandene Ressourcen in eine andere Ressourcengruppe oder ein anderes Abonnement zu verschieben.

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

Sie geben die Zielressourcengruppe und die zu verschiebenden Ressourcen im Anforderungstext an.

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

Häufig gestellte Fragen

Mein Ressourcenverschiebevorgang, der normalerweise ein paar Minuten dauert, wird schon seit fast einer Stunde ausgeführt. Stimmt etwas nicht?

Das Verschieben einer Ressource ist ein komplexer Vorgang, der in mehreren Phasen erfolgt. Es kann mehr als nur den Ressourcenanbieter der Ressource umfassen, die Sie verschieben möchten. Azure Resource Manager erlaubt eine Dauer von vier Stunden für einen Verschiebevorgang, damit alle Abhängigkeiten zwischen Ressourcenanbietern abgeschlossen werden können. Dadurch ist genug Zeit für eine Wiederherstellung nach vorübergehenden Problemen. Wenn Ihre Verschiebeanforderung noch innerhalb des Zeitraums von vier Stunden liegt, wird weiterhin versucht, den Vorgang abzuschließen, der weiterhin erfolgreich sein kann. Der Vorgang sperrt die Quell- und Zielressourcengruppen während dieses Zeitraums, um Konsistenzprobleme zu vermeiden.

Warum ist meine Ressourcengruppe während der Ressourcenverschiebung für vier Stunden gesperrt?

  • Für Verschiebevorgänge ist eine Dauer von vier Stunden zulässig. Der Vorgang sperrt die Quell- und Zielressourcengruppen während dieses Zeitraums, um Änderungen an ihnen zu verhindern.

  • Es gibt zwei Phasen bei einer Verschiebeanforderung. Ressourcen werden während der ersten Phase verschoben, und Ressourcenanbieter, die von den verschobenen Ressourcen abhängen, werden während der zweiten Phase benachrichtigt. Eine Ressourcengruppe kann für das gesamte Zeitfenster von vier Stunden gesperrt werden, wenn bei einem Ressourcenanbieter in einer der beiden Phasen ein Fehler auftritt. Resource Manager initiiert alle fehlerhaften Schritte während des Zeitraums des Verschiebevorgangs.

  • Resource Manager entsperrt beide Ressourcengruppen, wenn eine Ressource nicht innerhalb von vier Stunden verschoben wird. Ressourcen, die erfolgreich verschoben werden, befinden sich in der Zielressourcengruppe. Ressourcen, die nicht verschoben werden können, bleiben in der Quellressourcengruppe.

Welche Auswirkungen hat es, wenn die Quell- und Zielressourcengruppen während der Ressourcenverschiebung gesperrt werden?

Die Sperre verhindert, dass Sie eine der Ressourcengruppen löschen. Außerdem verhindert die Sperre, dass Sie in den Ressourcengruppen neue Ressource erstellen, Ressourcen löschen oder die Eigenschaften von Ressourcen ändern (z. B. die VM-Größe).

Die folgende Abbildung zeigt eine Fehlermeldung, die im Azure-Portal angezeigt wird, wenn Sie versuchen, eine Ressourcengruppe zu löschen, die Bestandteil einer laufenden Verschiebung ist:

Screenshot: Im Azure-Portal wird eine Fehlermeldung angezeigt, wenn versucht wird, eine am laufenden Verschiebevorgang beteiligte Ressourcengruppe zu löschen.

In der vorherigen Abbildung gehört die VM-Ressource zu einer Ressourcengruppe („TestB“), in der derzeit eine Verschiebung erfolgt. Wenn Sie versuchen, eine Eigenschaft der VM zu ändern (z. B. ihre Größe), wird im Azure-Portal eine Fehlermeldung ausgegeben. Dieser Fehler tritt auf, da die Ressourcengruppe während der Verschiebung gesperrt ist, um die enthaltenen Ressourcen vor Änderungen zu schützen.

Screenshot einer Fehlermeldung im Azure-Portal, wenn Benutzende versuchen, eine Eigenschaft (VM-Größe) der VM zu ändern

Darüber hinaus können während einer Ressourcenverschiebung weder für die Quell- noch für die Zielressourcengruppe gleichzeitig weitere Verschiebungen durchgeführt werden. Wenn Sie beispielsweise Ressourcen aus der Ressourcengruppe A in die Ressourcengruppe B verschieben, können weder für Ressourcengruppe A noch für Ressourcengruppe B andere Verschiebungen durchgeführt werden. Sie können Ressourcen nicht gleichzeitig in die Ressourcengruppe C oder aus der Ressourcengruppe C verschieben. Diese Einschränkung verhindert, dass Ressourcengruppen während des Verschiebens durch verschiedene in Konflikt stehende Vorgänge gesperrt werden.

Was bedeutet der Fehlercode „MissingMoveDependentResources“?

Beim Verschieben einer Ressource müssen deren abhängige Ressourcen in der Zielressourcengruppe oder im Zielabonnement vorhanden sein oder in die Verschiebeanforderung eingeschlossen werden. Sie erhalten den Fehlercode MissingMoveDependentResources, wenn eine abhängige Ressource diese Anforderung nicht erfüllt. Die Fehlermeldung enthält Details zur abhängigen Ressource, die Sie in die Verschiebeanforderung einschließen müssen.

Beispielsweise könnte das Verschieben eines virtuellen Computers erfordern, dass sieben Ressourcentypen mit drei verschiedenen Ressourcenanbietern verschoben werden. Diese Ressourcenanbieter und -typen sind:

  • Microsoft.Compute

    • virtualMachines
    • disks
  • Microsoft.Network

    • networkInterfaces
    • publicIPAddresses
    • networkSecurityGroups
    • virtualNetworks
  • Microsoft.Storage

    • storageAccounts

Ein weiteres häufiges Beispiel ist das Verschieben eines virtuellen Netzwerks, dem möglicherweise mehrere andere Ressourcen zugeordnet sind, die ebenfalls verschoben werden müssen. Die Verschiebeanforderung kann erfordern, dass öffentliche IP-Adressen, Routingtabellen, VNet-Gateways, Netzwerksicherheitsgruppen und andere Ressourcen verschoben werden. Ein VNet-Gateway sollte sich in derselben Ressourcengruppe wie sein virtuelles Netzwerk befinden, da sie nicht getrennt voneinander verschoben werden können.

Was bedeutet der Fehlercode „RequestDisallowedByPolicy“?

Resource Manager überprüft Ihre Verschiebeanforderung, bevor das eigentliche Verschieben versucht wird. Diese Validierung umfasst das Überprüfen von Richtlinien, die verschobenen Ressourcen definiert sind. Die Validierung schlägt beispielsweise fehl, wenn Sie versuchen, einen Schlüsseltresor zu verschieben, Ihre Organisation jedoch über eine Richtlinie zur Verweigerung der Erstellung eines Schlüsseltresors in der Zielressourcengruppe verfügt. Der zurückgegebene Fehlercode ist RequestDisallowedByPolicy.

Weitere Informationen zu Richtlinien finden Sie unter Was ist Azure Policy?.

Warum kann ich einige Ressourcen in Azure nicht verschieben?

Nicht alle Azure-Ressourcen lassen Verschiebevorgänge zu.

Wie viele Ressourcen kann ich in einem einzigen Vorgang verschieben?

Trennen Sie große Verschiebungen nach Möglichkeit in mehrere Vorgänge. Resource Manager gibt sofort einen Fehler aus, wenn ein einziger Vorgang mehr als 800 Ressourcen umfasst. Beim Verschieben von weniger als 800 Ressourcen kann jedoch ebenfalls ein Fehler durch ein Timeout auftreten.

Was bedeutet der Fehler, dass eine Ressource nicht erfolgreich ist?

Wenn Sie eine Fehlermeldung erhalten, die besagt, dass Sie eine Ressource nicht verschieben können, da sie sich nicht im Zustand Erfolgreich befindet, blockiert möglicherweise eine abhängige Ressource die Verschiebung. In der Regel lautet der Fehlercode MoveCannotProceedWithResourcesNotInSucceededState.

Wenn die Quell- oder Zielgruppenressource ein virtuelles Netzwerk enthält, werden während des Verschiebens die Zustände aller vom virtuellen Netzwerk abhängigen Ressourcen überprüft. Diese Überprüfung umfasst Ressourcen, die direkt und indirekt vom Netzwerk abhängen. Die Verschiebung wird blockiert, wenn sich keine Ressourcen im Zustand „Erfolgreich“ befinden. Wenn beispielsweise eine virtuelle Maschine, die das virtuelle Netzwerk nutzt, nicht den Zustand „Erfolgreich“ meldet, wird die Verschiebung blockiert. Die Verschiebung wird selbst dann blockiert, wenn die virtuelle Maschine nicht zu den zu verschiebenden Ressourcen gehört. Die Verschiebung wird auch blockiert, wenn sich die virtuelle Maschine nicht in der Quell- oder Zielressourcengruppe befindet.

Um dieses Problem zu beheben, verschieben Sie entweder Ihre Ressourcen in eine Ressourcengruppe ohne virtuelles Netzwerk, oder kontaktieren Sie den Support.

Kann ich eine Ressourcengruppe in ein anderes Abonnement verschieben?

Nein, Sie können eine Ressourcengruppe nicht in ein neues Abonnement verschieben. Sie können aber alle Ressourcen der Ressourcengruppe in eine Ressourcengruppe eines anderen Abonnements verschieben. Einstellungen wie Tags, Rollenzuweisungen und Richtlinien werden nicht automatisch von der Quellressourcengruppe in die Zielressourcengruppe übertragen. Sie müssen diese Einstellungen manuell auf die neue Ressourcengruppe anwenden.

Nächste Schritte

Informationen zum Überprüfen, welche Azure-Ressourcen Verschiebevorgänge unterstützen, finden Sie unter Unterstützung des Verschiebevorgangs für Ressourcen.