Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Resumen
Es posible que reciba errores al intentar eliminar o modificar una red virtual o una subred en Microsoft Azure. Los recursos como puertas de enlace, puntos de conexión privados, puntos de conexión de servicio, delegaciones de subred y interfaces de red huérfanas pueden bloquear la eliminación o modificación. En este artículo se proporcionan pasos de solución de problemas para ayudarle a resolver estos problemas.
Solución de problemas de red virtual y subred
Eliminación de red virtual
- Compruebe si una puerta de enlace de red virtual se ejecuta en la red virtual.
- Compruebe si se está ejecutando una puerta de enlace de aplicación en la red virtual.
- Compruebe si todavía existen instancias de contenedor Azure en la red virtual.
- Compruebe si Microsoft Entra Domain Services está habilitado en la red virtual.
- Compruebe si la red virtual está conectada a otros recursos.
- Compruebe si una máquina virtual todavía se está ejecutando en la red virtual.
- Compruebe si la red virtual está bloqueada en la migración.
- Compruebe si una aplicación web ha usado la red virtual para la integración de red virtual.
Eliminación de subredes
- Compruebe si existen puntos de conexión privados en la subred.
- Compruebe si los puntos de conexión de servicio están configurados en la subred.
- Compruebe si la subred tiene una delegación.
- Compruebe si existen vínculos de asociación de servicio en la subred.
- Compruebe si las interfaces de red huérfanas permanecen en la subred.
- Compruebe si Azure Bastion o Azure Firewall usan la subred.
Modificación de subred
- Cambie el tamaño de una subred que contenga recursos activos.
- Cambiar o quitar una delegación de subred.
- Agregue o quite puntos de conexión de servicio en una subred activa.
Pasos para solucionar problemas
Compruebe si una puerta de enlace de red virtual funciona en la red virtual.
Para quitar la red virtual, quite primero la puerta de enlace de red virtual.
En el caso de las redes virtuales clásicas, vaya a la página Información general de la red virtual clásica en Azure Portal. En la sección Conexiones VPN , si la puerta de enlace se ejecuta en la red virtual, aparece la dirección IP de la puerta de enlace.
En el caso de las redes virtuales, vaya a la página Información general de la red virtual. Compruebe Dispositivos conectados para la puerta de enlace de red virtual.
Para poder quitar la puerta de enlace, quite los objetos Connection de la puerta de enlace.
Compruebe si una puerta de enlace de aplicaciones se está ejecutando en la red virtual.
Vaya a la página Información general de la red virtual. Compruebe los dispositivos conectados para la puerta de enlace de aplicaciones.
Si hay una puerta de enlace de aplicaciones, debe quitarla para poder eliminar la red virtual.
Compruebe si Azure Container Instances todavía existe en la red virtual.
Nota:
A partir de la versión 2021-07-01de la API de Azure Container Instances, Azure Container Instances ya no usa perfiles de red. Si usa esta o una versión de API más reciente, el portal no crea perfiles de red. Las instrucciones siguientes solo se aplican a las implementaciones heredadas que usan una versión anterior de la API.
En el portal de Azure, vaya a la página Descripción general del grupo de recursos.
En el encabezado de la lista de recursos del grupo de recursos, seleccione Mostrar tipos ocultos. El portal oculta el tipo de perfil de red de forma predeterminada.
Seleccione el perfil de red relacionado con los grupos de contenedores.
Seleccione Eliminar.
Elimine de nuevo la subred o la red virtual.
Si estos pasos no resuelven el problema, use estos comandos Azure CLI para limpiar los recursos.
Compruebe si Microsoft Entra Domain Services está habilitado en la red virtual.
Si Microsoft Entra Domain Services está habilitado y conectado a la red virtual, no puede eliminar esta red virtual.
Para eliminar el dominio administrado, consulte Eliminación de un dominio administrado de Microsoft Entra Domain Services.
Compruebe si la red virtual está conectada a otros recursos
Compruebe si hay vínculos de circuito, conexiones y emparejamientos de red virtual. Cualquiera de estos recursos puede provocar un error en la eliminación de una red virtual.
Use el siguiente orden de eliminación recomendado:
- Conexiones de puerta de enlace
- Gateways
- Direcciones IP
- Emparejamientos de red virtual
- App Service Environment (ASE)
Compruebe si una máquina virtual todavía se está ejecutando en la red virtual.
Asegúrese de que ninguna máquina virtual esté en la red virtual.
Compruebe si la red virtual está bloqueada en la migración
Si la red virtual está bloqueada en un estado de migración, no puede eliminarla. Ejecute el siguiente comando en Azure PowerShell para anular la migración y, a continuación, eliminar la red virtual.
Move-AzureVirtualNetwork -VirtualNetworkName "Name" -Abort
Compruebe si una aplicación web ha usado la red virtual para la integración de red virtual.
Si ha integrado la red virtual con una aplicación web en el pasado, pero eliminó la aplicación web sin desconectar la integración de red virtual, consulte Eliminación del plan de App Service o la aplicación web antes de desconectar la integración de red virtual.
Solucionar problemas de eliminación de subredes
Comprobación de si existen puntos de conexión privados en la subred
Si una subred tiene puntos de conexión privados, no puede eliminar la subred. Debe quitar todos los puntos de conexión privados antes de eliminar la subred.
- En Azure Portal, vaya a la red virtual y seleccione Subredes.
- Seleccione la subred que desea eliminar y compruebe la columna Puntos de conexión privados .
- Si existen puntos de conexión privados, vaya a cada recurso de punto de conexión privado y elimínelo.
Como alternativa, use la CLI de Azure para identificar puntos de conexión privados en una subred:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--query "privateEndpoints[].id" \
--output tsv
Quite cada punto de conexión privado:
az network private-endpoint delete \
--resource-group <resource-group> \
--name <private-endpoint-name>
Compruebe si los puntos de conexión de servicio están configurados en la subred.
Los puntos de conexión de servicio son configuraciones de nivel de subred y no bloquean la eliminación de subredes. Como se indica en las preguntas más frecuentes de Azure Virtual Network, puede eliminar una subred incluso cuando los puntos de conexión de servicio están activados.
Sin embargo, si necesita quitar puntos de conexión de servicio como parte de una limpieza o modificación más amplia, siga estos pasos:
- En Azure Portal, vaya a la red virtual y seleccione Subredes.
- Seleccione la subred y compruebe la sección Puntos de conexión de servicio .
- Quite los puntos de conexión de servicio configurados y seleccione Guardar.
Use la CLI de Azure para comprobar y quitar puntos de conexión de servicio:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--query "serviceEndpoints[].service" \
--output tsv
Quite los puntos de conexión de servicio mediante la actualización de la subred:
az network vnet subnet update \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--service-endpoints '[]'
Comprobación de si la subred tiene una delegación
Una delegación de subred asigna la subred a un servicio de Azure específico, como Microsoft.DBforPostgreSQL/flexibleServers, Microsoft.Web/serverFarmso Microsoft.ContainerService/managedClusters. No puede eliminar una subred delegada hasta que quite todos los recursos que usan la delegación y, a continuación, quite la propia delegación.
Entre las delegaciones de subred comunes se incluyen las siguientes:
| Delegación | Service |
|---|---|
Microsoft.ContainerInstance/containerGroups |
Instancias de Contenedores de Azure (Azure Container Instances) |
Microsoft.DBforPostgreSQL/flexibleServers |
Azure Database para PostgreSQL - Servidor flexible |
Microsoft.DBforMySQL/flexibleServers |
Azure Database for MySQL: servidor flexible |
Microsoft.Web/serverFarms |
Azure App Service/Azure Functions |
Microsoft.ContainerService/managedClusters |
Azure Kubernetes Service (AKS) |
Microsoft.Sql/managedInstances |
Instancia Gestionada de Azure SQL |
Microsoft.Network/dnsResolvers |
Resolución privada de Azure DNS |
Microsoft.Netapp/volumes |
Azure NetApp Archivos |
Microsoft.ApiManagement/service |
Azure API Management |
Use la CLI de Azure para comprobar la delegación:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--query "delegations[].{name:name, service:serviceName}" \
--output table
Para quitar una delegación, elimine primero todos los recursos que usan la subred delegada. A continuación, quite la delegación mediante el siguiente comando:
az network vnet subnet update \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--remove delegations
Comprobar si existen vínculos de asociación de servicio en la subred
Los servicios de Azure, como Azure Container Instances, Azure App Service y Azure SQL Managed Instance, crean vínculos de asociación de servicio cuando implementan recursos en una subred. Estos vínculos impiden la eliminación de la subred incluso después de quitar los recursos implementados.
Use la CLI de Azure para comprobar si hay vínculos de asociación de servicio:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--query "serviceAssociationLinks[].{link:link, linkedResourceType:linkedResourceType}" \
--output table
Si los vínculos de asociación de servicio permanecen después de eliminar los recursos, pueden tardar varios minutos en borrarse. Si persisten, pruebe los pasos siguientes:
- Compruebe que no haya recursos del servicio vinculado todavía implementados en la subred.
- Espere entre 10 y 15 minutos para que la plataforma limpie los vínculos.
- Si los vínculos siguen persistentes, abra una solicitud de soporte técnico de Azure que haga referencia a la específica
linkedResourceType.
Para Azure Container Instances específicamente, consulte Limpieza de recursos para comandos de la CLI para quitar grupos de contenedores y perfiles de red.
Compruebe si las interfaces de red huérfanas permanecen en la subred
Las interfaces de red (NIC) que quedan atrás después de eliminar una máquina virtual u otro recurso pueden bloquear la eliminación de subredes. Debe quitar cada NIC con una configuración de IP en la subred.
Use la CLI de Azure para enumerar las NIC en una subred:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--query "ipConfigurations[].id" \
--output tsv
La salida muestra los identificadores de recursos de las configuraciones ip asociadas a la subred. Extraiga el nombre de la NIC del identificador de recurso y elimine la NIC huérfana:
az network nic delete \
--resource-group <resource-group> \
--name <nic-name>
Si la NIC todavía está conectada a una máquina virtual, desasocie o elimine primero la máquina virtual.
Compruebe si Azure Bastion o Azure Firewall usan la subred.
Las subredes AzureBastionSubnet y AzureFirewallSubnet están reservadas por sus respectivos servicios. No puede eliminar estas subredes mientras existe el recurso de Azure Bastion o Azure Firewall asociado.
Para Azure Bastion:
- En Azure Portal, busque Bastions y busque el recurso de Bastion en la misma red virtual.
- Elimine el recurso de Azure Bastion.
- Una vez finalizada la eliminación, elimine
AzureBastionSubnet.
Para Azure Firewall:
- En Azure Portal, busque Firewalls y busque el recurso Firewall.
- Desasigne o elimine el recurso de Azure Firewall.
- Una vez finalizada la desasignación o eliminación, elimine .
AzureFirewallSubnet - Use la CLI de Azure para comprobar los recursos conectados:
az network vnet subnet show \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name AzureBastionSubnet \
--query "ipConfigurations[].id" \
--output tsv
Solucionar problemas de fallos en la modificación de subredes
Cambio de tamaño de una subred que contiene recursos activos
Puede cambiar el tamaño de una subred que tenga recursos activos si el nuevo intervalo de direcciones todavía incluye todas las direcciones IP existentes. Si el nuevo intervalo excluye una dirección IP en uso, se produce un error en la operación de cambio de tamaño.
Antes de cambiar el tamaño:
Use la CLI de Azure para comprobar el número de direcciones IP usadas en la subred.
az network vnet subnet show \ --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <subnet-name> \ --query "ipConfigurations | length(@)"Compruebe que el nuevo prefijo de dirección admite todas las direcciones asignadas.
Actualice la subred.
az network vnet subnet update \ --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <subnet-name> \ --address-prefixes <new-prefix>
Nota:
Azure reserva cinco direcciones IP dentro de cada subred: las cuatro primeras direcciones y la última dirección. Al redimensionar, tenga en cuenta estas direcciones reservadas y sus asignaciones actuales.
Cambiar o quitar una delegación de subred
No se puede cambiar una delegación de subred mientras se están implementando los recursos de la delegación actual. Para cambiar la delegación:
Quite todos los recursos que usan la delegación actual (por ejemplo, elimine el servidor flexible o el plan de servicio de aplicaciones).
Use la CLI de Azure para quitar la delegación existente.
az network vnet subnet update \ --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <subnet-name> \ --remove delegationsAgregue la nueva delegación.
az network vnet subnet update \ --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <subnet-name> \ --delegations <new-service-delegation>
Adición o eliminación de puntos de conexión de servicio en una subred activa
Cambiar los puntos de conexión de servicio en una subred activa puede provocar una breve interrupción de la conectividad con el servicio de destino. Planear los cambios de punto de conexión durante una ventana de mantenimiento.
Use la CLI de Azure para agregar un punto de conexión de servicio.
az network vnet subnet update \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--service-endpoints Microsoft.Storage Microsoft.Sql
Para quitar un punto de conexión de servicio específico, especifique solo los puntos de conexión que desea conservar.
az network vnet subnet update \
--resource-group <resource-group> \
--vnet-name <vnet-name> \
--name <subnet-name> \
--service-endpoints Microsoft.Storage
Advertencia
Quitar un punto de conexión de servicio mientras que los recursos dependen de él pueden provocar una pérdida de conectividad. Compruebe que ningún recurso activo se base en el punto de conexión antes de quitarlo.
Mensajes de error comunes
| Mensaje de error | Causa | Resolution |
|---|---|---|
Subnet <name> is in use and cannot be deleted. |
Los recursos como las NIC, los puntos de conexión privados o las implementaciones de servicio siguen estando en la subred. | Use los comandos de diagnóstico para identificar los recursos de bloqueo y quitarlos. |
InUseSubnetCannotBeDeleted |
La subred contiene configuraciones ip de máquinas virtuales, equilibradores de carga u otros recursos. | Quite o mueva los recursos a otra subred y vuelva a intentar la eliminación. |
SubnetHasServiceEndpoints |
Los puntos de conexión de servicio se configuran en la subred. | Los puntos de conexión de servicio por sí solos no bloquean la eliminación de subredes. Si este error se produce con otros recursos de bloqueo, resuelva primero esos recursos. Para quitar puntos de conexión de servicio, consulte Comprobación de si los puntos de conexión de servicio están configurados en la subred. |
SubnetHasDelegations |
La subred se delega a un servicio y los recursos de ese servicio se despliegan. | Quite los recursos de servicio que usan la delegación y, a continuación, quite la delegación. |
SubnetWithExternalResourcesCannotBeUsedByOtherResources |
Otro servicio de Azure ha implementado recursos en la subred. | Identifique el servicio mediante vínculos de asociación de servicio y quite los recursos implementados. |
InUseNetworkInterfaceCannotBeAssociatedWithSubnet |
Una NIC huérfana tiene una configuración de IP que entra en conflicto con las operaciones de subred. | Elimine la NIC huérfana y vuelva a intentar la operación. |
SubnetIsDelegatedAndCannotBeUsed |
La subred ya está delegada a otro servicio. | Cambie o quite la delegación antes de ejecutar un nuevo servicio. |
Cannot delete virtual network <name> because it is in use by resource <id>. |
Un recurso todavía está asociado a la red virtual. | Siga las instrucciones de eliminación de red virtual para identificar y quitar el recurso. |
NetworkProfileCannotBeDeleted |
Un perfil de red usado por Azure Container Instances sigue haciendo referencia a la subred. | Consulte Comprobación de si las instancias de contenedor de Azure siguen existiendo en la red virtual para resolver el problema. |
Comandos de diagnóstico
Use el siguiente comando de la CLI de Azure para obtener una vista completa de todos los recursos y configuraciones que podrían bloquear la eliminación o modificación de subredes:
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
Este comando devuelve:
- addressPrefix: intervalo de direcciones actual de la subred.
- delegaciones: servicios a los que se delega la subred.
- serviceEndpoints: puntos de conexión de servicio configurados.
- ipConfigurations: NIC y otros recursos con direcciones IP en la subred.
- privateEndpoints: puntos de conexión privados asociados a la subred.
- serviceAssociationLinks: servicios que implementaron recursos en la subred.
Si alguno de estos campos contiene valores, debe quitar esos recursos para poder eliminar o modificar la subred.