¿Cómo soluciono un error de dependencia que recibo cuando intento eliminar mi VPC?

6 minutos de lectura
0

Cuando intento eliminar mi VPC, recibo un error de dependencia.

Descripción corta

Al eliminar una VPC, también se deben eliminar todos sus componentes. Estos componentes incluyen subredes, grupos de seguridad, listas de control de acceso de la red (ACL), tablas de enrutamiento, puertas de enlace de Internet y opciones de DHCP.

Resolución

Nota: Si se muestran errores al poner en marcha comandos de Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Antes de eliminar la VPC, debe eliminar todos los recursos asociados y dependientes. Puede eliminar una VPC mediante la consola de Amazon Virtual Private Cloud (Amazon VPC) o la AWS CLI. Al eliminar una VPC a través de la consola de Amazon VPC, ciertas dependencias, como las subredes, las puertas de enlace de Internet y otras, también se eliminarán automáticamente. Sin embargo, cuando usa la AWS CLI, primero debe eliminar todos los recursos dependientes de forma manual antes de eliminar la propia VPC.

AWS CLI

"An error occurred (DependencyViolation) when calling the DeleteVpc operation: The vpc 'vpc-id' has dependencies and cannot be deleted."

Este error aparece cuando hay dependencias que debe eliminar antes de eliminar la VPC. Para resolver el error, siga estos pasos:

  1. Ejecute el siguiente script para buscar las dependencias restantes:
    #!/bin/bashvpc="vpc-#############"region="yy-yyyy-y"
    aws ec2 describe-internet-gateways --region AWS_REGION --filters 'Name=attachment.vpc-id,Values='VPC_ID | grep InternetGatewayId
    aws ec2 describe-subnets --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep SubnetId
    aws ec2 describe-route-tables --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep RouteTableId
    aws ec2 describe-network-acls --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep NetworkAclId
    aws ec2 describe-vpc-peering-connections --region AWS_REGION --filters 'Name=requester-vpc-info.vpc-id,Values='VPC_ID | grep VpcPeeringConnectionId
    aws ec2 describe-vpc-endpoints --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep VpcEndpointId
    aws ec2 describe-nat-gateways --region AWS_REGION --filter 'Name=vpc-id,Values='VPC_ID | grep NatGatewayId
    aws ec2 describe-security-groups --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep GroupId
    aws ec2 describe-instances --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep InstanceId
    aws ec2 describe-vpn-gateways --region AWS_REGION --filters 'Name=attachment.vpc-id,Values='VPC_ID | grep VpnGatewayId
    aws ec2 describe-network-interfaces --region AWS_REGION --filters 'Name=vpc-id,Values='VPC_ID | grep NetworkInterfaceId
    aws ec2 describe-carrier-gateways --region AWS_REGION --filters 'Name=vpc-id,Values=VPC_ID' | grep CarrierGatewayId
    aws ec2 describe-local-gateway-route-table-vpc-associations --region AWS_REGION --filters Name=vpc-id,Values=VPC_ID | grep LocalGatewayRouteTableVpcAssociationId
    aws ec2 describe-vpc-peering-connections --region AWS_REGION --filters 'Name=accepter-vpc-info.vpc-id,Values='VPC_ID | grep VpcPeeringConnectionId
    Nota: En el siguiente script, reemplaza VPC_ID por el valor del ID de la VPC. Además, sustituya AWS_REGION por su región de AWS. Utilice las credenciales con los permisos adecuados para ejecutar las llamadas a la API Describe.
  2. Elimine cualquier dependencia que haya identificado en el paso 1.
  3. Elimine la VPC.

Consola de Amazon VPC

Los siguientes son algunos errores de dependencia comunes que puede recibir al eliminar una VPC a través de la consola:

"VPC contains one or more instances, and cannot be deleted until those instances have been terminated."

Este error aparece cuando la VPC tiene instancias de Amazon Elastic Compute Cloud (Amazon EC2) que se ejecutan en ella.

Para resolver este error, finalice las instancias de Amazon EC2.

"VPC contains one or more in-use network interfaces, and cannot be deleted until those network interfaces have been deleted."

Este error aparece cuando la VPC tiene interfaces de red en uso o disponibles.

"An error occurred (InvalidParameterValue) when calling the DeleteNetworkInterface operation: Network interface 'eni-aabbccdd' is currently in use."

Este error aparece cuando hay interfaces de red administradas por el solicitante que no puede eliminar. Para eliminar las interfaces de red administradas por el solicitante, debe eliminar el servicio de AWS que creó las interfaces de red.

Para eliminar los servicios dependientes, siga estos pasos:

  1. Abra la consola de Amazon EC2.
  2. Seleccione la región en la que se encuentra la VPC.
  3. En el panel de navegación, en Interfaces de red, busque el ID de VPC de la VPC que desea eliminar.
  4. Seleccione la interfaz de red y elija la pestaña Detalles.
  5. Consulta en Descripción a qué recursos está conectada la interfaz de red.
  6. Elimina los recursos asociados.
    Nota: Si la interfaz de red es una interfaz principal, al eliminar la instancia, también se elimina el recurso.

"VPC has one or more attached NAT gateways or virtual private gateways, and cannot be deleted until they are detached or deleted."

Recibe este error cuando la VPC tiene una puerta de enlace dependiente. Para resolver este error, siga los pasos descritos en Eliminación de una puerta de enlace NAT y Eliminación de una puerta de enlace y conexión AWS Site-to-Site VPN.

"The VPC is peered as a requester with at least one other VPC through peering connections."

Recibe este error cuando hay conexiones de emparejamiento de VPC activas. Para resolver este error, siga los pasos que se indican en Eliminación de la conexión de emparejamiento de VPC.

Otros errores de dependencia

Si aún tiene dependencias que impiden la eliminación de la VPC, primero elimine la puerta de enlace del operador. A continuación, desvincule la VPC de cualquier tabla de enrutamiento de la puerta de enlace local.

Para eliminar la puerta de enlace del operador, siga estos pasos:

  1. Abra la consola de Amazon VPC.
  2. En el panel de navegación, selecciona Puertas de enlace de operadores.
  3. Selecciona la puerta de enlace del operador, selecciona Acciones y, a continuación, elige Eliminar gateway de operador.
  4. En el cuadro de diálogo Eliminar puerta de enlace del operador, escriba Eliminar y, a continuación, seleccione Eliminar.

Para desvincular la VPC de cualquier tabla de enrutamiento de puerta de enlace local, siga estos pasos:

  1. Abra la consola de AWS Outposts.
  2. En el panel de navegación, seleccione Tablas de enrutamiento de la gateway local.
  3. Seleccione la tabla de enrutamiento.
  4. Elija Acciones y, a continuación, Ver detalles.
  5. En Asociaciones de VPC, seleccione la VPC que desea desvincular y, a continuación, seleccione Desasociar.

Información relacionada

Why can't I detach or delete an elastic network interface that Lambda created?

¿Cómo puedo eliminar la VPC que se comparte con otra cuenta de AWS?

¿Por qué no puedo eliminar el punto de enlace de VPC administrado por el solicitante?

Eliminar su VPC

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses