Passer au contenu

Comment puis-je résoudre une erreur de dépendance qui s’affiche lorsque j'essaie de supprimer mon VPC ?

Lecture de 5 minute(s)
0

Lorsque j'essaie de supprimer mon VPC, une erreur de dépendance s’affiche.

Brève description

La suppression d'un VPC entraîne celle de tous ses composants. Ces composants comprennent les sous-réseaux, les groupes de sécurité, les listes de contrôle d'accès au réseau (ACL), les tables de routage, les passerelles Internet et les options DHCP.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Avant de supprimer votre VPC, vous devez supprimer toutes les ressources associées et dépendantes. Vous pouvez supprimer un VPC via la console Amazon Virtual Private Cloud (Amazon VPC) ou via l'AWS CLI. Lorsque vous supprimez un VPC via la console Amazon VPC, certaines dépendances telles que les sous-réseaux, les passerelles Internet et autres seront également automatiquement supprimées. Toutefois, lorsque vous utilisez l'AWS CLI, vous devez d'abord supprimer manuellement toutes les ressources dépendantes avant de supprimer le VPC proprement dit.

AWS CLI

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

Cette erreur s’affiche lorsque certaines dépendances doivent être supprimées avant de supprimer le VPC. Pour résoudre cette erreur, procédez comme suit :

  1. Exécutez le script suivant pour trouver les dépendances 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
    Remarque : Dans le script suivant, remplacez VPC_ID par la valeur d’ID de votre VPC. En outre, remplacez AWS_REGION par votre région AWS. Utilisez des informations d'identification dotées des autorisations appropriées pour exécuter les appels d’API Describe.
  2. Supprimez toutes les dépendances que vous avez identifiées à l'étape 1.
  3. Supprimez votre VPC.

Console Amazon VPC

Voici quelques erreurs de dépendance courantes qui peuvent s’afficher lorsque vous supprimez un VPC via la console :

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

Cette erreur s’affiche lorsque des instances Amazon Elastic Compute Cloud (Amazon EC2) s'exécutent sur le VPC.

Pour résoudre cette erreur, résiliez vos instances Amazon EC2.

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

Cette erreur s'affiche lorsque votre VPC comporte des interfaces réseau en cours d’utilisation ou disponibles.

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

Cette erreur s’affiche lorsque certaines interfaces réseau gérées par le demandeur ne peuvent pas être supprimées. Pour supprimer des interfaces réseau gérées par le demandeur, vous devez supprimer le service AWS qui les a créées.

Pour supprimer les services dépendants, procédez comme suit :

  1. Ouvrez la console Amazon EC2.
  2. Sélectionnez la région dans laquelle se trouve le VPC.
  3. Dans le volet de navigation, sous Interfaces réseau, recherchez l'ID du VPC que vous souhaitez supprimer.
  4. Sélectionnez l'interface réseau et choisissez l'onglet Détails.
  5. Examinez la Description pour voir à quelles ressources l'interface réseau est attachée.
  6. Supprimez les ressources associées.
    Remarque : Si l'interface réseau est une interface principale, lorsque vous supprimez l'instance, la ressource est également supprimée.

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

Cette erreur s'affiche lorsque le VPC utilise une passerelle dépendante. Pour résoudre cette erreur, suivez les étapes décrites dans les sections Supprimer une passerelle NAT et Supprimer une connexion et une passerelle AWS Site-to-Site VPN.

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

Cette erreur s’affiche lorsque des connexions d'appairage de VPC sont actives. Pour résoudre cette erreur, suivez les étapes décrites dans la section Supprimer une connexion d'appairage de VPC.

Autres erreurs de dépendance

Si vous disposez toujours de dépendances qui empêchent la suppression du VPC, supprimez d'abord la passerelle d'opérateur. Puis, dissociez le VPC de toute table de routage de passerelle locale.

Pour supprimer la passerelle d'opérateur, procédez comme suit :

  1. Ouvrez la console Amazon VPC.
  2. Dans le volet de navigation, sélectionnez Passerelles d’opérateur.
  3. Sélectionnez la passerelle d'opérateur, choisissez Actions, puis sélectionnez Supprimer la passerelle de transporteur.
  4. Dans la boîte de dialogue Supprimer la passerelle de transporteur, saisissez Supprimer, puis sélectionnez Supprimer.

Pour dissocier le VPC de toute table de routage de passerelle locale, procédez comme suit :

  1. Ouvrez la console AWS Outposts.
  2. Dans le volet de navigation, sélectionnez Tables de routage de passerelle locale.
  3. Sélectionnez la table de routage.
  4. Choisissez Actions, puis Afficher les détails.
  5. Dans Associations de VPC, sélectionnez le VPC à dissocier, puis choisissez Dissocier.

Informations connexes

Pourquoi ne puis-je pas détacher ou supprimer une interface réseau Elastic créée par Lambda ?

Comment puis-je supprimer un VPC partagé avec un autre compte AWS ?

Pourquoi ne puis-je pas supprimer le point de terminaison d'un VPC géré par le demandeur ?

Supprimer votre VPC