Freigeben über


Fehlerbehebung beim Löschen oder Ändern eines virtuellen Netzwerks oder Subnetzes in Azure

Zusammenfassung

Möglicherweise erhalten Sie Fehler, wenn Sie versuchen, ein virtuelles Netzwerk oder Subnetz in Microsoft Azure zu löschen oder zu ändern. Ressourcen wie Gateways, private Endpunkte, Dienstendpunkte, Subnetzdelegierungen und verwaiste Netzwerkschnittstellen können das Löschen oder Ändern blockieren. Dieser Artikel enthält Schritte zur Problembehandlung, mit denen Sie diese Probleme beheben können.

Behandeln von Problemen mit virtuellen Netzwerken und Subnetzen

Löschen eines virtuellen Netzwerks

  1. Überprüfen Sie, ob ein virtuelles Netzwerkgateway im virtuellen Netzwerk ausgeführt wird.
  2. Überprüfen, ob im virtuellen Netzwerk ein Anwendungsgateway ausgeführt wird
  3. Überprüfen Sie, ob Azure Containerinstanzen weiterhin im virtuellen Netzwerk vorhanden sind.
  4. Überprüfen Sie, ob Microsoft Entra Domain Services im virtuellen Netzwerk aktiviert ist.
  5. Überprüfen Sie, ob das virtuelle Netzwerk mit anderen Ressourcen verbunden ist.
  6. Überprüfen Sie, ob ein virtueller Computer noch im virtuellen Netzwerk ausgeführt wird.
  7. Überprüfen Sie, ob das virtuelle Netzwerk bei der Migration hängen bleibt.
  8. Überprüfen Sie, ob das virtuelle Netzwerk von einer Web-App für die Integration virtueller Netzwerke verwendet wurde.

Subnetzlöschung

  1. Überprüfen Sie, ob private Endpunkte im Subnetz vorhanden sind.
  2. Überprüfen Sie, ob Dienstendpunkte im Subnetz konfiguriert sind.
  3. Überprüfen Sie, ob das Subnetz über eine Delegierung verfügt.
  4. Überprüfen Sie, ob Dienstzuordnungslinks im Subnetz vorhanden sind.
  5. Überprüfen Sie, ob verwaiste Netzwerkschnittstellen im Subnetz verbleiben.
  6. Überprüfen Sie, ob das Subnetz von Azure Bastion oder Azure Firewall verwendet wird.

Subnetzänderung

  1. Ändern Sie die Größe eines Subnetzes, das aktive Ressourcen enthält.
  2. Ändern oder Entfernen einer Subnetzdelegierung.
  3. Hinzufügen oder Entfernen von Dienstendpunkten in einem aktiven Subnetz.

Schritte zur Fehlersuche

Überprüfen, ob ein virtuelles Netzwerkgateway im virtuellen Netzwerk in Betrieb ist

Um das virtuelle Netzwerk zu entfernen, entfernen Sie zuerst das virtuelle Netzwerkgateway.

Wechseln Sie für klassische virtuelle Netzwerke zur Übersichtsseite des klassischen virtuellen Netzwerks im Azure-Portal. Wenn das Gateway im virtuellen Netzwerk ausgeführt wird, wird im Abschnitt "VPN-Verbindungen " die IP-Adresse des Gateways angezeigt.

Screenshot eines klassischen Gateways, um festzustellen, ob das Gateway läuft.

Wechseln Sie für virtuelle Netzwerke zur Übersichtsseite des virtuellen Netzwerks. Überprüfen Sie verbundene Geräte auf das virtuelle Netzwerkgateway.

Screenshot der Liste der verbundenen Geräte für ein virtuelles Netzwerk im Azure-Portal. Das Virtuelle Netzwerkgateway ist in der Liste hervorgehoben.

Bevor Sie das Gateway entfernen können, entfernen Sie alle Connection-Objekte im Gateway.

Überprüfen, ob ein Anwendungsgateway im virtuellen Netzwerk ausgeführt wird

Wechseln Sie zur Seite "Übersicht" des virtuellen Netzwerks. Überprüfen Sie die verbundenen Geräte für das Anwendungsgateway.

Screenshot der Liste der verbundenen Geräte für ein virtuelles Netzwerk im Azure-Portal. Das Anwendungsgateway ist in der Liste hervorgehoben.

Wenn ein Anwendungsgateway vorhanden ist, müssen Sie es entfernen, bevor Sie das virtuelle Netzwerk löschen können.

Überprüfen, ob Azure-Containerinstanzen noch im virtuellen Netzwerk vorhanden sind

Hinweis

Ab der Azure Container Instances-API-Version 2021-07-01verwenden Azure-Containerinstanzen keine Netzwerkprofile mehr. Wenn Sie diese oder eine neuere API-Version verwenden, erstellt das Portal keine Netzwerkprofile. Der folgende Leitfaden gilt nur für Ältere Bereitstellungen, die eine ältere API-Version verwenden.

  1. Wechseln Sie im Azure-Portal zur Seite Overview der Ressourcengruppe.

  2. Wählen Sie in der Kopfzeile für die Liste der Ressourcen der Ressourcengruppe die Option "Ausgeblendete Typen anzeigen" aus. Das Portal blendet den Netzwerkprofiltyp standardmäßig aus.

  3. Wählen Sie das Netzwerkprofil aus, das sich auf die Containergruppen bezieht.

  4. Klicken Sie auf Löschen.

    Screenshot der Liste der ausgeblendeten Netzwerkprofile.

  5. Löschen Sie das Subnetz oder das virtuelle Netzwerk erneut.

Wenn das Problem durch diese Schritte nicht behoben wird, verwenden Sie diese befehle Azure CLI, um Ressourcen zu bereinigen.

Überprüfen, ob Microsoft Entra Domain Services im virtuellen Netzwerk aktiviert ist

Wenn Microsoft Entra Domain Services aktiviert und mit dem virtuellen Netzwerk verbunden ist, können Sie dieses virtuelle Netzwerk nicht löschen.

Informationen zum Löschen der verwalteten Domäne finden Sie unter "Löschen einer verwalteten Domäne von Microsoft Entra Domain Services".

Überprüfen, ob das virtuelle Netzwerk mit anderen Ressourcen verbunden ist

Überprüfen Sie, ob Schaltungslinks, Verbindungen und virtuelle Netzwerk-Peerings vorhanden sind. Jede dieser Ressourcen kann dazu führen, dass ein Löschvorgang im virtuellen Netzwerk fehlschlägt.

Verwenden Sie die folgende empfohlene Löschreihenfolge:

  1. Gatewayverbindungen
  2. Schnittstellen
  3. IP-Adressen
  4. Virtuelle Netzwerk-Peering-Verbindungen
  5. App Service Environment (ASE)

Überprüfen, ob ein virtueller Computer noch im virtuellen Netzwerk ausgeführt wird

Stellen Sie sicher, dass sich kein virtueller Computer im virtuellen Netzwerk befindet.

Überprüfen, ob das virtuelle Netzwerk bei der Migration hängen bleibt

Wenn das virtuelle Netzwerk in einem Migrationsstatus hängen bleibt, können Sie es nicht löschen. Führen Sie den folgenden Befehl in Azure PowerShell aus, um die Migration abzubrechen und dann das virtuelle Netzwerk zu löschen.

Move-AzureVirtualNetwork -VirtualNetworkName "Name" -Abort

Überprüfen, ob das virtuelle Netzwerk von einer Web-App für die Integration virtueller Netzwerke verwendet wurde

Wenn Sie das virtuelle Netzwerk in der Vergangenheit mit einer Web-App integriert haben, die Web-App jedoch gelöscht haben, ohne die Integration des virtuellen Netzwerks zu trennen, lesen Sie Löschen des App Service-Plans oder der Web-App, bevor Sie die Integration des virtuellen Netzwerks trennen.

Problembehandlung bei Fehlern beim Löschen von Subnetzen

Überprüfen, ob private Endpunkte im Subnetz vorhanden sind

Wenn ein Subnetz über private Endpunkte verfügt, können Sie das Subnetz nicht löschen. Sie müssen alle privaten Endpunkte entfernen, bevor Sie das Subnetz löschen.

  1. Wechseln Sie im Azure-Portal zum virtuellen Netzwerk, und wählen Sie "Subnetze" aus.
  2. Wählen Sie das Subnetz aus, das Sie löschen möchten, und überprüfen Sie die Spalte "Private Endpunkte ".
  3. Wenn private Endpunkte vorhanden sind, wechseln Sie zu jeder privaten Endpunktressource, und löschen Sie sie.

Alternativ können Sie azure CLI verwenden, um private Endpunkte in einem Subnetz zu identifizieren:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "privateEndpoints[].id" \
    --output tsv

Entfernen Sie jeden privaten Endpunkt:

az network private-endpoint delete \
    --resource-group <resource-group> \
    --name <private-endpoint-name>

Überprüfen, ob Dienstendpunkte im Subnetz konfiguriert sind

Dienstendpunkte sind Konfigurationen auf Subnetzebene und blockieren keine Subnetzlöschung. Wie in den häufig gestellten Fragen zum virtuellen Azure-Netzwerk angegeben, können Sie ein Subnetz auch dann löschen, wenn Die Dienstendpunkte aktiviert sind.

Wenn Sie jedoch Dienstendpunkte als Teil einer umfassenderen Bereinigung oder Änderung entfernen müssen, führen Sie die folgenden Schritte aus:

  1. Wechseln Sie im Azure-Portal zum virtuellen Netzwerk, und wählen Sie "Subnetze" aus.
  2. Wählen Sie das Subnetz aus, und überprüfen Sie den Abschnitt "Dienstendpunkte ".
  3. Entfernen Sie alle konfigurierten Dienstendpunkte, und wählen Sie "Speichern" aus.

Verwenden Sie Azure CLI, um Dienstendpunkte zu überprüfen und zu entfernen:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "serviceEndpoints[].service" \
    --output tsv

Entfernen Sie Dienstendpunkte, indem Sie das Subnetz aktualisieren:

az network vnet subnet update \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --service-endpoints '[]'

Überprüfen, ob das Subnetz über eine Delegierung verfügt

Eine Subnetzdelegierung weist das Subnetz einem bestimmten Azure-Dienst zu, z. B. Microsoft.DBforPostgreSQL/flexibleServers, Microsoft.Web/serverFarms oder Microsoft.ContainerService/managedClusters. Sie können ein delegiertes Subnetz erst löschen, wenn Sie alle Ressourcen entfernen, die die Delegierung verwenden, und dann die Delegierung selbst entfernen.

Zu den allgemeinen Subnetzdelegierungen gehören:

Delegierung Service
Microsoft.ContainerInstance/containerGroups Azure-Containerinstanzen
Microsoft.DBforPostgreSQL/flexibleServers Azure Database for PostgreSQL – Flexible Server
Microsoft.DBforMySQL/flexibleServers Azure Database for MySQL – Flexible Server
Microsoft.Web/serverFarms Azure App Service /Azure Functions
Microsoft.ContainerService/managedClusters Azure Kubernetes Service (AKS)
Microsoft.Sql/managedInstances Verwaltete Azure SQL-Instanz
Microsoft.Network/dnsResolvers Azure DNS Private Resolver
Microsoft.Netapp/volumes Azure NetApp-Dateien
Microsoft.ApiManagement/service Azure-API-Verwaltung

Verwenden Sie Azure CLI, um die Delegierung zu überprüfen:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "delegations[].{name:name, service:serviceName}" \
    --output table

Um eine Delegierung zu entfernen, löschen Sie zuerst alle Ressourcen, die das delegierte Subnetz verwenden. Entfernen Sie dann die Delegierung mithilfe des folgenden Befehls:

az network vnet subnet update \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --remove delegations

Azure-Dienste wie Azure-Containerinstanzen, Azure App Service und Azure SQL Managed Instance erstellen Dienstzuordnungslinks, wenn sie Ressourcen in einem Subnetz bereitstellen. Diese Links verhindern das Löschen des Subnetzes, auch nachdem Sie die bereitgestellten Ressourcen entfernt haben.

Verwenden Sie Azure CLI, um nach Dienstzuordnungslinks zu suchen:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "serviceAssociationLinks[].{link:link, linkedResourceType:linkedResourceType}" \
    --output table

Wenn Dienstzuordnungslinks nach dem Löschen der Ressourcen verbleiben, kann es mehrere Minuten dauern, bis sie gelöscht wurden. Wenn das Problem weiterhin besteht, probieren Sie die folgenden Schritte aus:

  1. Stellen Sie sicher, dass keine Ressourcen aus dem verknüpften Dienst weiterhin im Subnetz bereitgestellt werden.
  2. Warten Sie 10-15 Minuten, bis die Plattform die Verknüpfungen bereinigt.
  3. Wenn die Links weiterhin bestehen, öffnen Sie eine Azure-Supportanfrage, die auf die spezifischen linkedResourceTypeVerweist.

Für speziell Azure-Containerinstanzen siehe Bereinigen von Ressourcen für CLI-Befehle zum Entfernen von Containergruppen und Netzwerkprofilen.

Überprüfen, ob verwaiste Netzwerkschnittstellen im Subnetz verbleiben

Netzwerkschnittstellen (NICs), die nach dem Löschen eines virtuellen Computers oder einer anderen Ressource zurückbleiben, können das Löschen von Subnetzen blockieren. Sie müssen jede NIC mit einer IP-Konfiguration im Subnetz entfernen.

Verwenden Sie Azure CLI, um NICs in einem Subnetz auflisten:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "ipConfigurations[].id" \
    --output tsv

Die Ausgabe zeigt die Ressourcen-IDs der IP-Konfigurationen an, die dem Subnetz zugeordnet sind. Extrahieren Sie den NIC-Namen aus der Ressourcen-ID, und löschen Sie die verwaiste NIC:

az network nic delete \
    --resource-group <resource-group> \
    --name <nic-name>

Wenn die NIC noch an einen virtuellen Computer angefügt ist, trennen oder löschen Sie zuerst den virtuellen Computer.

Überprüfen, ob das Subnetz von Azure Bastion oder Azure Firewall verwendet wird

Die AzureBastionSubnet und AzureFirewallSubnet Subnetze werden von ihren jeweiligen Diensten reserviert. Sie können diese Subnetze nicht löschen, während die zugeordnete Azure Bastion- oder Azure Firewall-Ressource vorhanden ist.

Für Azure Bastion:

  1. Suchen Sie im Azure-Portal nach Bastionen , und suchen Sie die Bastion-Ressource im selben virtuellen Netzwerk.
  2. Löschen Sie die Azure Bastion-Ressource.
  3. Löschen Sie nach Abschluss des Löschvorgangs die AzureBastionSubnet.

Für Azure Firewall:

  1. Suchen Sie im Azure-Portal nach Firewalls , und suchen Sie die Firewallressource.
  2. Deaktivieren oder löschen Sie die Azure-Firewall-Ressource.
  3. Löschen Sie nach Abschluss des Deallocation- oder Löschvorgangs die AzureFirewallSubnet.
  4. Verwenden Sie Azure CLI, um verbundene Ressourcen zu überprüfen:
az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name AzureBastionSubnet \
    --query "ipConfigurations[].id" \
    --output tsv

Behebung von Subnetzänderungsfehlern

Ändern der Größe eines Subnetzes, das aktive Ressourcen enthält

Sie können die Größe eines Subnetzes ändern, das über aktive Ressourcen verfügt, wenn der neue Adressbereich weiterhin alle vorhandenen IP-Adressen enthält. Wenn der neue Bereich eine verwendete IP-Adresse ausschließt, schlägt der Größenänderungsvorgang fehl.

Bevor Sie die Größe ändern:

  1. Verwenden Sie Azure CLI, um die Anzahl der verwendeten IP-Adressen im Subnetz zu überprüfen.

    az network vnet subnet show \
        --resource-group <resource-group> \
        --vnet-name <vnet-name> \
        --name <subnet-name> \
        --query "ipConfigurations | length(@)"
    
  2. Überprüfen Sie, ob das neue Adresspräfix alle zugewiesenen Adressen enthält.

  3. Aktualisieren Sie das Subnetz.

    az network vnet subnet update \
        --resource-group <resource-group> \
        --vnet-name <vnet-name> \
        --name <subnet-name> \
        --address-prefixes <new-prefix>
    

Hinweis

Azure reserviert fünf IP-Adressen innerhalb jedes Subnetzes: die ersten vier Adressen und die letzte Adresse. Berücksichtigen Sie beim Anpassen der Größe diese reservierten Adressen und Ihre aktuellen Zuordnungen.

Ändern oder Entfernen einer Subnetzdelegierung

Sie können eine Subnetzdelegierung nicht ändern, während Ressourcen aus der aktuellen Delegierung bereitgestellt werden. So ändern Sie die Delegierung:

  1. Entfernen Sie alle Ressourcen, die die aktuelle Delegierung verwenden (z. B. den flexiblen Server- oder App-Serviceplan).

  2. Verwenden Sie Azure CLI, um die vorhandene Delegierung zu entfernen.

    az network vnet subnet update \
        --resource-group <resource-group> \
        --vnet-name <vnet-name> \
        --name <subnet-name> \
        --remove delegations
    
  3. Fügen Sie die neue Delegierung hinzu.

    az network vnet subnet update \
        --resource-group <resource-group> \
        --vnet-name <vnet-name> \
        --name <subnet-name> \
        --delegations <new-service-delegation>
    

Hinzufügen oder Entfernen von Dienstendpunkten in einem aktiven Subnetz

Das Ändern von Dienstendpunkten in einem aktiven Subnetz kann zu einer kurzen Verbindungsunterbrechung mit dem Zieldienst führen. Planen Sie Endpunktänderungen während eines Wartungsfensters.

Verwenden Sie Azure CLI, um einen Dienstendpunkt hinzuzufügen.

az network vnet subnet update \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --service-endpoints Microsoft.Storage Microsoft.Sql

Wenn Sie einen bestimmten Dienstendpunkt entfernen möchten, geben Sie nur die Endpunkte an, die Sie behalten möchten.

az network vnet subnet update \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --service-endpoints Microsoft.Storage

Warnung

Das Entfernen eines Dienstendpunkts, während Ressourcen davon abhängen, kann zu Verbindungsverlusten führen. Überprüfen Sie, ob keine aktiven Ressourcen auf den Endpunkt angewiesen sind, bevor Sie sie entfernen.

Häufig auftretende Fehlermeldungen

Fehlermeldung Ursache Resolution
Subnet <name> is in use and cannot be deleted. Ressourcen wie NICs, private Endpunkte oder Dienstbereitstellungen befinden sich weiterhin im Subnetz. Verwenden Sie die Diagnosebefehle , um blockierende Ressourcen zu identifizieren und sie zu entfernen.
InUseSubnetCannotBeDeleted Das Subnetz enthält IP-Konfigurationen von VMs, Lastenausgleichsmodulen oder anderen Ressourcen. Entfernen oder verschieben Sie die Ressourcen in ein anderes Subnetz, und wiederholen Sie dann den Löschvorgang.
SubnetHasServiceEndpoints Dienstendpunkte werden im Subnetz konfiguriert. Dienstendpunkte allein blockieren keine Subnetzlöschung. Wenn dieser Fehler mit anderen blockierenden Ressourcen auftritt, beheben Sie diese Ressourcen zuerst. Informationen zum Entfernen von Dienstendpunkten finden Sie unter Überprüfen, ob Dienstendpunkte im Subnetz konfiguriert sind.
SubnetHasDelegations Das Subnetz wird an einen Dienst delegiert, und Ressourcen von diesem Dienst werden bereitgestellt. Entfernen Sie die Dienstressourcen, die die Delegierung verwenden, und entfernen Sie dann die Delegierung.
SubnetWithExternalResourcesCannotBeUsedByOtherResources Ein anderer Azure-Dienst hat Ressourcen im Subnetz bereitgestellt. Identifizieren Sie den Dienst mithilfe von Dienstzuordnungslinks, und entfernen Sie die bereitgestellten Ressourcen.
InUseNetworkInterfaceCannotBeAssociatedWithSubnet Eine verwaiste NIC verfügt über eine IP-Konfiguration, die mit Subnetzvorgängen in Konflikt kommt. Löschen Sie die verwaiste NIC, und wiederholen Sie dann den Vorgang.
SubnetIsDelegatedAndCannotBeUsed Das Subnetz wird bereits an einen anderen Dienst delegiert. Ändern oder entfernen Sie die Delegierung , bevor Sie einen neuen Dienst ausführen.
Cannot delete virtual network <name> because it is in use by resource <id>. Eine Ressource ist weiterhin mit dem VNet verbunden. Befolgen Sie die Anweisungen zum Löschen des virtuellen Netzwerks , um die Ressource zu identifizieren und zu entfernen.
NetworkProfileCannotBeDeleted Ein netzwerkprofil, das von Azure-Containerinstanzen verwendet wird, verweist weiterhin auf das Subnetz. Überprüfen Sie, ob Azure-Containerinstanzen noch im virtuellen Netzwerk vorhanden sind, um das Problem zu beheben.

Diagnosebefehle

Verwenden Sie den folgenden Azure CLI-Befehl, um eine umfassende Ansicht aller Ressourcen und Konfigurationen zu erhalten, die das Löschen oder Ändern des Subnetzs blockieren können:

az network vnet subnet show \
    --resource-group <resource-group> \
    --vnet-name <vnet-name> \
    --name <subnet-name> \
    --query "{addressPrefix:addressPrefix, delegations:delegations[].serviceName, serviceEndpoints:serviceEndpoints[].service, ipConfigurations:ipConfigurations[].id, privateEndpoints:privateEndpoints[].id, serviceAssociationLinks:serviceAssociationLinks[].linkedResourceType}" \
    --output json

Dieser Befehl gibt Folgendes zurück:

  • addressPrefix: Der aktuelle Adressbereich des Subnetzes.
  • Delegierungen: Dienste, an die das Subnetz delegiert wird.
  • serviceEndpoints: Konfigurierte Dienstendpunkte.
  • ipConfigurations: NICs und andere Ressourcen mit IP-Adressen im Subnetz.
  • privateEndpoints: Private Endpunkte, die dem Subnetz zugeordnet sind.
  • serviceAssociationLinks: Dienste, die Ressourcen im Subnetz bereitgestellt haben.

Wenn eines dieser Felder Werte enthält, müssen Sie diese Ressourcen entfernen, bevor Sie das Subnetz löschen oder ändern können.

Nächste Schritte