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 Verschiebevorgangs werden die Quell- und Zielressourcengruppen gesperrt. Das bedeutet, dass Sie während des Verschiebens keine Ressourcen in diesen Ressourcengruppen erstellen, löschen oder aktualisieren können. Die vorhandenen Ressourcen bleiben jedoch vollständig betriebsbereit. Wenn Sie beispielsweise eine VM zwischen zwei Ressourcengruppen verschieben, kann diese nicht gelöscht werden, und ihre Eigenschaften (z. B. die Größe) können während des Verschiebens nicht geändert werden. Trotzdem wird die VM weiterhin normal ausgeführt, und bei den Diensten, die sie benötigen, tritt keine zusätzliche Downtime auf. Die Sperre kann bis zu vier Stunden dauern, aber die meisten Verschiebungen werden schneller abgeschlossen, sodass auch die Sperre entsprechend früher aufgehoben wird.

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 werden beim Verschieden der übergeordneten Ressource Microsoft.Compute/virtualMachines auch ihre untergeordneten Ressource (z. B. Microsoft.Compute/virtualMachines/extensions) mit verschoben. Die untergeordnete Ressource kann jedoch nicht allein verschoben werden.

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, müssen Sie ihren Wert ändern. Wenn Sie z. B. im Portal ein benutzerdefiniertes Dashboard verwenden, das auf eine Ressourcen-ID verweist, müssen Sie diesen Wert aktualisieren. 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 wurde, 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. Weitere Informationen zum Verschieben von Ressourcen zu oder von einem CSP-Partner (Cloud Solution Provider) finden Sie 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. Da für einige Dienste bestimmte Einschränkungen oder Anforderungen beim Verschieben von Ressourcen gelten, lesen Sie vor dem Verschieben von Ressourcen innerhalb dieser Dienste die folgenden Leitfäden:

  6. Das Zielabonnement muss für den Ressourcenanbieter der verschobenen Ressource 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, dieses aber noch nie mit diesem Ressourcentyp verwendet wurde.

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

  8. 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
  9. 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. Die verwaiste Rollenzuweisung wird irgendwann automatisch entfernt, es wird jedoch empfohlen, die Rollenzuweisung schon vor dem Verschieben zu entfernen.

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

  10. 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 VM mit verwalteten Datenträgern müssen die VM und die verwalteten Datenträger beispielsweise gemeinsam und auch zusammen mit anderen abhängigen Ressourcen verschoben werden.

    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 in derselben Gruppe zusammengefasst werden können. Wenn ja, verwenden Sie einen Verschiebevorgang zwischen Ressourcengruppen, um alle Ressourcen in derselben Ressourcengruppe zu konsolidieren.

    Weitere Informationen finden Sie im Szenario zum Verschieben zwischen Abonnements.

Szenario für eine abonnementübergreifende Verschiebung

Das Verschieben von Ressourcen aus einem Abonnement in ein anderes umfasst drei Schritte. Es wird nur eine abhängige Ressource dargestellt, um diese Schritte zu verdeutlichen:

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:

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

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

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

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

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

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

Bei einer fehlerhaften Überprüfung wird eine Fehlermeldung angezeigt, in der erläutert wird, warum die Ressourcen nicht verschoben werden.

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. Geben Sie den --destination-subscription-id-Parameter an, um Ressourcen in ein neues Abonnement zu verschieben.

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. Bei einer fehlerhaften Überprüfung wird jedoch eine Fehlermeldung angezeigt, in der erläutert wird, warum die Ressourcen nicht verschoben werden.

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. Bei einer fehlerhaften Überprüfung wird jedoch eine Fehlermeldung angezeigt, in der erläutert wird, warum die Ressourcen nicht verschoben werden.

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

Mit validate move operation können Sie Ihr Verschiebeszenario testen, 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. Die Quell- und Zielressourcengruppen sind während dieses Zeitraums gesperrt, 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. Die Quell- und Zielressourcengruppen werden während dieses Zeitraums gesperrt, um Änderungen daran 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 werden konnte. Ressourcen, die erfolgreich verschoben wurden, befinden sich in der Zielressourcengruppe. Ressourcen, die nicht verschoben werden konnten, verbleiben 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 Benutzende 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 folgenden Abbildung gehört die VM-Ressource zu einer Ressourcengruppe („TestB“), in der derzeit eine Verschiebung erfolgt. Wenn Benutzende versuchen, eine Eigenschaft der VM zu ändern (z. B. ihre Größe), wird im Azure-Portal eine Fehlermeldung ausgegeben. Dies Ursache hierfür ist, dass 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 z. B. Ressourcen aus der Ressourcengruppe A in die Ressourcengruppe B verschoben werden, können weder für Gruppe A noch für Gruppe B andere Verschiebungen durchgeführt werden (z. B. zum Verschieben von Ressourcen in oder aus Ressourcengruppe C). 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 in die Verschiebeanforderung eingeschlossen werden muss.

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. Wenn Sie z. B. versuchen, einen Schlüsseltresor zu verschieben, Ihre Organisation jedoch über eine Richtlinie verfügt, die das Erstellen eines Schlüsseltresors in der Zielressourcengruppe verhindert, schlägt die Validierung fehl, und die Verschiebung wird blockiert. 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 derzeit 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 eine Ressource nicht verschoben werden kann, 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 Zielressourcengruppe ein virtuelles Netzwerk enthält, werden während des Verschiebens die Zustände aller Ressourcen überprüft, die von diesem virtuellen Netzwerk abhängen. Dazu gehören auch Ressourcen, die direkt und indirekt vom Netzwerk abhängen. Die Verschiebung wird blockiert, wenn einzelne Ressourcen fehlerhaft sind. Wenn beispielsweise eine VM, die das virtuelle Netzwerk nutzt, ausgefallen ist, wird das Verschieben blockiert. Das Verschieben wird selbst dann blockiert, wenn die VM nicht zu den zu verschiebenden Ressourcen gehört und sich nicht in einer der Ressourcengruppen des Verschiebevorgangs befindet.

Für dieses Hindernis gibt es zwei Lösungen: Verschieben Sie Ihre Ressourcen in eine Ressourcengruppe, die nicht über ein virtuelles Netzwerk verfügt, oder wenden Sie sich an 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

Unter Unterstützung für von Verschiebevorgängen für Ressourcen erfahren Sie, wie Sie überprüfen, welche Azure-Ressourcen Verschiebevorgänge unterstützen.