Nettoyez les ressources de AWS Account Factory for Terraform (AFT) en toute sécurité après la perte du fichier d'état - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

 Nettoyez les ressources de AWS Account Factory for Terraform (AFT) en toute sécurité après la perte du fichier d'état

Créée par Gokendra Malviya (AWS)

Récapitulatif

Lorsque vous utilisez AWS Account Factory for Terraform (AFT) pour gérer votre AWS Control Tower environnement, AFT génère un fichier d'état Terraform pour suivre l'état et la configuration des ressources créées par Terraform. La perte du fichier d'état Terraform peut créer des défis importants pour la gestion et le nettoyage des ressources. Ce modèle fournit une approche systématique pour identifier et supprimer en toute sécurité les ressources liées à l'AFT tout en préservant l'intégrité de votre AWS Control Tower environnement.

Le processus est conçu pour garantir le retrait correct de tous les composants AFT, même sans la référence au fichier d'état d'origine. Ce processus fournit une voie claire pour rétablir et reconfigurer avec succès l'AFT dans votre environnement, afin de minimiser les perturbations de vos AWS Control Tower opérations.

Pour plus d'informations sur l'AFT, consultez la AWS Control Tower documentation.

Conditions préalables et limitations

Prérequis

  • Compréhension approfondie de l'architecture AFT.

  • Accès administrateur aux comptes suivants :

    • Compte de gestion AFT

    • AWS Control Tower Compte de gestion

    • Compte Log Archive

    • Compte d'audit

  • Vérification qu'aucune politique de contrôle des services (SCPs) ne contient de restrictions ou de limitations susceptibles de bloquer la suppression de ressources liées à l'AFT.

Limites

  • Ce processus permet de nettoyer efficacement les ressources, mais il ne peut pas récupérer les fichiers d'état perdus, et certaines ressources peuvent nécessiter une identification manuelle.

  • La durée du processus de nettoyage dépend de la complexité de votre environnement et peut prendre plusieurs heures.

  • Ce modèle a été testé avec la version 1.12.2 d'AFT et supprime les ressources suivantes. Si vous utilisez une autre version d'AFT, vous devrez peut-être supprimer des ressources supplémentaires.

    Nom du service

    Nombre de ressources

    AWS CodeBuild

    6

    AWS CodeCommit

    4

    AWS CodePipeline

    4

    Amazon DynamoDB

    5

    Amazon Elastic Compute Cloud (Amazon EC2)

    16

    Amazon EventBridge

    4

    AWS Identity and Access Management Rôles (IAM)

    40

    AWS Key Management Service (AWS KMS)

    2

    AWS Lambda

    17

    Amazon Simple Storage Service (Amazon S3)

    2

    Amazon Simple Notification Service (Amazon SNS)

    2

    Amazon Simple Queue Service (Amazon SQS)

    2

    AWS Systems Manager

    62

    AWS Step Functions

    4

Important

Les ressources supprimées par les étapes de ce modèle ne peuvent pas être récupérées. Avant de suivre ces étapes, vérifiez soigneusement les noms des ressources et assurez-vous qu'ils ont été créés par AFT.

Architecture

Le schéma suivant montre les composants AFT et le flux de travail de haut niveau. AFT met en place un pipeline Terraform qui vous aide à approvisionner et à personnaliser vos comptes. AWS Control Tower AFT suit un GitOps modèle pour automatiser les processus de provisionnement des comptes dans AWS Control Tower. Vous créez un fichier Terraform pour une demande de compte et vous le validez dans un référentiel, qui fournit les entrées qui déclenchent le flux de travail AFT pour le provisionnement du compte. Une fois le provisionnement du compte terminé, AFT peut exécuter automatiquement des étapes de personnalisation supplémentaires.

Composants AFT et flux de travail de haut niveau.

Dans cette architecture :

  • AWS Control Tower Le compte de gestion Compte AWS est un compte dédié au AWS Control Tower service. Ceci est également généralement appelé compte AWS payeur ou compte AWS Organizations de gestion.

  • Le compte AFT Management Compte AWS est dédié aux opérations de gestion AFT. Ce compte est différent du compte de gestion de votre organisation.

  • Le compte Vended contient tous les composants et contrôles de base que vous avez sélectionnés. Compte AWS AFT AWS Control Tower vend un nouveau compte.

Pour plus d'informations sur cette architecture, voir Présentation de l'AFT dans l' AWS Control Tower atelier.

Outils

Services AWS

  • AWS Control Towervous aide à configurer et à gérer un environnement AWS multi-comptes, conformément aux meilleures pratiques prescriptives.

  • AWS Account Factory for Terraform (AFT) met en place un pipeline Terraform pour vous aider à approvisionner et à personnaliser les comptes et les ressources dans. AWS Control Tower

  • AWS Organizationsvous permet de gérer et de gouverner votre environnement de manière centralisée à mesure que vous développez et faites évoluer vos AWS ressources. Organizations vous permet de créer des comptes et d'allouer des ressources, de regrouper des comptes pour organiser vos flux de travail, d'appliquer des politiques de gouvernance et de simplifier la facturation en utilisant un mode de paiement unique pour tous vos comptes.

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser. Ce modèle nécessite des rôles et des autorisations IAM.

Autres outils

  • Terraform est un outil d'infrastructure en tant que code (IaC) HashiCorp qui vous aide à créer et à gérer des ressources cloud et sur site.

Bonnes pratiques

Épopées

TâcheDescriptionCompétences requises

Supprimez les ressources identifiées par la balise AFT.

  1. Connectez-vous au compte de gestion AFT avec les autorisations d'administrateur.

  2. Ouvrez la AWS Resource Groups console.

  3. Sélectionnez la région dans laquelle AWS Control Tower a été déployé.

  4. Dans le volet de navigation, choisissez Tag Editor.

  5. Pour les types de ressources, sélectionnez Tous les types de ressources pris en charge.

  6. Pour les balises, tapez managed_by comme clé de balise et AFT comme valeur de balise.

  7. Choisissez Rechercher des ressources.

    Cette recherche affiche toutes les ressources créées par AFT.

  8. Identifiez les noms des ressources et supprimez-les à l'aide des consoles de service correspondantes. Par exemple, pour supprimer des ressources du Parameter Store, procédez comme suit :

    1. Ouvrez la AWS Systems Manager console.

    2. Dans le panneau de navigation, choisissez Stockage de paramètres.

    3. Dans la zone de recherche, cliquez pour afficher le menu déroulant, choisissez Name, choisissez equals, puis tapez /aft.

    4. Supprimez les paramètres par lots de 10. (Il s'agit du nombre maximum que vous pouvez supprimer en même temps.)

      Pour la version 1.12.2 d'AFT, il y aura environ 62 ressources de magasin de paramètres à supprimer. Tous les noms de paramètres commenceront par /aft.

    Cependant, toutes les ressources ne peuvent pas être identifiées par AWS Resource Groups. Dans les étapes suivantes, vous trouverez et supprimerez les ressources restantes.

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez les rôles IAM.

  1. Connectez-vous au compte de gestion AFT avec les autorisations d'administrateur.

  2. Ouvrez la console IAM.

  3. Supprimez ces rôles dans l'ordre indiqué (l'ordre est important en raison des dépendances) :

    • aft-*

    • AWSAFTAdmin

    • AWSAFTExecution

    • AWSAFTService

    • codebuild_trigger_role

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez le coffre AWS Backup de sauvegarde.

  1. Ouvrez la AWS Backup console.

  2. Localisez le coffre de sauvegarde nomméaws_backup_vault.

  3. Vérifiez que le coffre-fort ne contient aucune sauvegarde active.

  4. Supprimeraws_backup_vault.

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez les CloudWatch ressources Amazon.

  1. Ouvrez la CloudWatch console.

  2. Supprimez les ressources suivantes dans l'ordre indiqué :

    1. Bus d'événements : Supprimeraws_cloudwatch_event_bus.

    2. Journaux : recherchez le préfixe AFT et supprimez tous les groupes de journaux associés.

    3. Définitions des requêtes : supprimez les requêtes suivantes :

      • Customization Logs by Account ID

      • Customization Logs by Customization Request ID

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez AWS KMS des ressources.

  1. Passez à la région secondaire, qui sert de backend pour le suivi de l'état de l'AFT.

  2. Ouvrez la AWS KMS console.

  3. Supprimez l'alias nommé AFT.

Administrateur AWS, AWS DevOps, DevOps ingénieur
TâcheDescriptionCompétences requises

Supprimez les compartiments S3.

  1. Connectez-vous au compte Log Archive avec des autorisations d'administrateur.

  2. Ouvrez la console Amazon S3.

  3. Videz les compartiments suivants :

    • aws-aft-logs-471112509802-us-east-1

    • aws-aft-s3-access-logs-471112509802-us-east-1

    (Remplacez 111122223333 par votre identifiant de compte.)

  4. Supprimez les deux compartiments.

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez les rôles IAM.

  1. Ouvrez la console IAM.

  2. Vérifiez que les rôles suivants ne sont utilisés par aucun service actif :

    • AWSAFTService

    • AWSAFTExecution

  3. Supprimez les deux rôles.

Administrateur AWS, AWS DevOps, DevOps ingénieur
TâcheDescriptionCompétences requises

Supprimez les rôles IAM.

  1. Connectez-vous au compte d'audit avec des autorisations d'administrateur.

  2. Ouvrez la console IAM.

  3. Vérifiez que les rôles suivants ne sont utilisés par aucun service actif :

    • AWSAFTService

    • AWSAFTExecution

  4. Supprimez les deux rôles.

Administrateur AWS, AWS DevOps, DevOps ingénieur
TâcheDescriptionCompétences requises

Supprimez les rôles IAM.

  1. Connectez-vous au compte de AWS Control Tower gestion avec des autorisations d'administrateur.

  2. Ouvrez la console IAM.

  3. Vérifiez que les rôles suivants ne sont utilisés par aucun service actif :

    • AWSAFTService

    • AWSAFTExecution

    • aft-control-tower-events-rule

  4. Supprimez les trois rôles.

Administrateur AWS, AWS DevOps, DevOps ingénieur

Supprimez EventBridge les règles.

  1. Ouvrez la EventBridge console Amazon.

  2. Dans le volet de navigation de gauche, choisissez Rules (Règles).

  3. Recherchez et sélectionnez la règle nomméeaft-capture-ct-events.

  4. Choisissez Supprimer et confirmez la suppression lorsque vous y êtes invité.

Administrateur AWS, AWS DevOps, DevOps ingénieur

Résolution des problèmes

ProblèmeSolution

Le détachement de la passerelle Internet a échoué.

Lorsque vous supprimez des ressources identifiées par la balise AFT, si vous rencontrez ce problème lorsque vous détachez ou supprimez la passerelle Internet, vous devez d'abord supprimer les points de terminaison VPC :

  1. Connectez-vous au compte AFT Management, puis ouvrez la console Amazon VPC.

  2. Dans le volet de navigation, dans la liste Filtrer par VPC, choisissez le VPC nommé. aft-management-vpc

  3. Dans le volet de navigation, choisissez Points de terminaison.

  4. Sélectionnez les points de terminaison associés au VPC. aft-management-vpc

    • Vérifiez la colonne VPC ID avant de la supprimer pour éviter de supprimer les mauvais points de terminaison.

    • Veillez à ne supprimer que les points de terminaison associés au VPC AFT.

  5. Choisissez Actions, Delete VPC endpoints (Supprimer le point de terminaison d’un VPC).

  6. Dans la boîte de dialogue de confirmation, tapez Supprimer, puis sélectionnez Supprimer.

  7. Attendez que l'état du terminal passe à Supprimé.

    La suppression peut prendre quelques minutes.

Vous ne trouvez pas les CloudWatch requêtes spécifiées.

Si vous ne trouvez pas les CloudWatch requêtes créées par AFT, procédez comme suit :

  1. Connectez-vous au compte AFT Management, puis ouvrez la CloudWatch console.

  2. Dans le volet de navigation, sous Logs, sélectionnez Logs Insights.

  3. Dans le coin supérieur droit, cliquez sur l'icône Requêtes enregistrées et exemples.

    Vous devriez maintenant être en mesure de voir les requêtes AFT. Pour une capture d'écran, consultez la section Informations supplémentaires.

  4. Sélectionnez les requêtes suivantes, puis choisissez Actions, Supprimer pour les supprimer.

    • Customization Logs by Account ID

    • Customization Logs by Customization Request ID

Ressources connexes

Informations supplémentaires

Pour afficher les requêtes AFT sur le tableau de bord de CloudWatch Logs Insights, choisissez l'icône de requêtes enregistrées et d'exemples dans le coin supérieur droit, comme illustré dans la capture d'écran suivante :

Accès aux requêtes AFT sur le tableau de bord de CloudWatch Logs Insights.