Pulisci le risorse di AWS Account Factory for Terraform (AFT) in modo sicuro dopo la perdita dei file di stato - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

 Pulisci le risorse di AWS Account Factory for Terraform (AFT) in modo sicuro dopo la perdita dei file di stato

Creato da Gokendra Malviya (AWS)

Riepilogo

Quando utilizzi AWS Account Factory for Terraform (AFT) per gestire il tuo AWS Control Tower ambiente, AFT genera un file di stato Terraform per tenere traccia dello stato e della configurazione delle risorse create da Terraform. La perdita del file di stato Terraform può creare sfide significative per la gestione e la pulizia delle risorse. Questo modello fornisce un approccio sistematico per identificare e rimuovere in sicurezza le risorse relative ad AFT mantenendo l'integrità dell'ambiente. AWS Control Tower

Il processo è progettato per garantire la corretta rimozione di tutti i componenti AFT, anche senza il riferimento originale al file di stato. Questo processo fornisce un percorso chiaro per ristabilire e riconfigurare con successo AFT nell'ambiente, per contribuire a ridurre al minimo le interruzioni delle operazioni. AWS Control Tower

Per ulteriori informazioni su AFT, consultate la documentazione.AWS Control Tower

Prerequisiti e limitazioni

Prerequisiti

  • Una conoscenza approfondita dell'architettura AFT.

  • Accesso da amministratore ai seguenti account:

    • Account di gestione AFT

    • AWS Control Tower Account di gestione

    • Account Log Archive

    • Account di audit

  • Verifica che nessuna politica di controllo del servizio (SCPs) contenga restrizioni o limitazioni che bloccherebbero l'eliminazione delle risorse relative ad AFT.

Limitazioni

  • Questo processo può ripulire le risorse in modo efficace, ma non può recuperare i file di stato perduti e alcune risorse potrebbero richiedere l'identificazione manuale.

  • La durata del processo di pulizia dipende dalla complessità dell'ambiente e potrebbe richiedere diverse ore.

  • Questo modello è stato testato con la versione AFT 1.12.2 ed elimina le seguenti risorse. Se utilizzate una versione diversa di AFT, potrebbe essere necessario eliminare risorse aggiuntive.

    Nome del servizio

    Numero di risorse

    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 ruoli (IAM)

    40

    AWS Key Management Service (AWS KMS)

    2

    AWS Lambda

    17

    Amazon Simple Storage Service (Amazon S3)

    2

    Servizio di notifica semplice Amazon (Amazon Simple Notification Service (Amazon SNS))

    2

    Amazon Simple Queue Service (Amazon SQS)

    2

    AWS Systems Manager

    62

    AWS Step Functions

    4

Importante

Le risorse che vengono eliminate seguendo i passaggi indicati in questo schema non possono essere recuperate. Prima di seguire questi passaggi, verificate attentamente i nomi delle risorse e assicuratevi che siano stati creati da AFT.

Architettura

Il diagramma seguente mostra i componenti AFT e il flusso di lavoro di alto livello. AFT imposta una pipeline Terraform che ti aiuta a fornire e personalizzare i tuoi account. AWS Control Tower AFT segue un GitOps modello per automatizzare i processi di fornitura degli account. AWS Control Tower Si crea un file Terraform per una richiesta di account e lo si archivia in un repository, che fornisce l'input che attiva il flusso di lavoro AFT per il provisioning degli account. Una volta completata la fornitura dell'account, AFT può eseguire automaticamente ulteriori passaggi di personalizzazione.

Componenti AFT e flusso di lavoro di alto livello.

In questa architettura:

  • AWS Control Tower L'account di gestione Account AWS è un account dedicato al AWS Control Tower servizio. In genere viene anche chiamato conto di AWS pagamento o conto di AWS Organizations gestione.

  • L'account AFT Management Account AWS è dedicato alle operazioni di gestione AFT. È diverso dall'account di gestione dell'organizzazione.

  • L'account Vended è un account Account AWS che contiene tutti i componenti e i controlli di base selezionati. AFT utilizza AWS Control Tower per vendere un nuovo account.

Per ulteriori informazioni su questa architettura, vedere Introduzione ad AFT nel AWS Control Tower workshop.

Strumenti

Servizi AWS

  • AWS Control Towerti aiuta a configurare e gestire un ambiente AWS multi-account, seguendo le migliori pratiche prescrittive.

  • AWS Account Factory for Terraform (AFT) imposta una pipeline Terraform per aiutarti a fornire e personalizzare account e risorse. AWS Control Tower

  • AWS Organizationsti aiuta a gestire e governare centralmente il tuo ambiente man mano che cresci e scalerai le tue risorse. AWS Utilizzando Organizations, puoi creare account e allocare risorse, raggruppare account per organizzare i flussi di lavoro, applicare politiche di governance e semplificare la fatturazione utilizzando un unico metodo di pagamento per tutti i tuoi account.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue AWS risorse controllando chi è autenticato e autorizzato a utilizzarle. Questo modello richiede ruoli e autorizzazioni IAM.

Altri strumenti

  • Terraform è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.

Best practice

Epiche

AttivitàDescrizioneCompetenze richieste

Eliminare le risorse identificate dal tag AFT.

  1. Accedi all'account di gestione AFT con le autorizzazioni di amministratore.

  2. Apri la AWS Resource Groups console.

  3. Seleziona la regione in cui AWS Control Tower è stato distribuito.

  4. Nel riquadro di navigazione, scegli Tag Editor.

  5. Per i tipi di risorse, scegli Tutti i tipi di risorse supportati.

  6. Per Tag, digitate managed_by come chiave del tag e AFT come valore del tag.

  7. Scegli Cerca risorse.

    Questa ricerca mostra tutte le risorse create da AFT.

  8. Identifica i nomi delle risorse ed eliminali utilizzando le console di servizio corrispondenti. Ad esempio, per eliminare le risorse Parameter Store:

    1. Apri la AWS Systems Manager console.

    2. Nel riquadro di navigazione, selezionare Parameter Store (Archivio parametri).

    3. Nella casella di ricerca, fai clic per visualizzare il menu a discesa, scegli Nome, scegli equals, quindi digita /af.

    4. Eliminate i parametri in gruppi di 10. (Questo è il numero massimo che puoi eliminare contemporaneamente).

      Per la versione AFT 1.12.2, ci saranno circa 62 risorse Parameter Store da eliminare. Tutti i nomi dei parametri inizieranno con /aft.

    Tuttavia, non tutte le risorse possono essere identificate da AWS Resource Groups. Nei passaggi seguenti, troverai ed eliminerai le risorse rimanenti.

Amministratore AWS, AWS DevOps, DevOps ingegnere

Elimina i ruoli IAM.

  1. Accedi all'account di gestione AFT con le autorizzazioni di amministratore.

  2. Apri la console IAM.

  3. Elimina questi ruoli nell'ordine elencato (l'ordine è importante a causa delle dipendenze):

    • aft-*

    • AWSAFTAdmin

    • AWSAFTExecution

    • AWSAFTService

    • codebuild_trigger_role

Amministratore AWS, AWS DevOps, DevOps ingegnere

Elimina il vault AWS Backup di backup.

  1. Apri la AWS Backup console.

  2. Individua l'archivio di backup denominato. aws_backup_vault

  3. Verifica che il vault non contenga backup attivi.

  4. Elimina. aws_backup_vault

Amministratore AWS, AWS DevOps, DevOps ingegnere

Elimina CloudWatch le risorse Amazon.

  1. Apri la CloudWatch console.

  2. Elimina le seguenti risorse nell'ordine in cui sono elencate:

    1. Event bus: Eliminaaws_cloudwatch_event_bus.

    2. Registri: cerca il prefisso AFT ed elimina tutti i gruppi di log correlati.

    3. Definizioni delle interrogazioni: Eliminare le seguenti interrogazioni:

      • Customization Logs by Account ID

      • Customization Logs by Customization Request ID

Amministratore AWS, AWS DevOps, DevOps ingegnere

Eliminare AWS KMS risorse.

  1. Passa alla regione secondaria, che funge da backend per il monitoraggio dello stato dello stato di AFT.

  2. Apri la AWS KMS console.

  3. Eliminare l'alias denominato AFT.

Amministratore AWS, AWS DevOps, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Eliminare i bucket S3.

  1. Accedi all'account Log Archive con le autorizzazioni di amministratore.

  2. Apri la console Amazon S3.

  3. Svuota i seguenti secchi:

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

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

    (111122223333Sostituiscilo con l'ID del tuo account).

  4. Elimina i due bucket.

Amministratore AWS, AWS DevOps, DevOps ingegnere

Elimina i ruoli IAM.

  1. Apri la console IAM.

  2. Verifica che i seguenti ruoli non vengano utilizzati da alcun servizio attivo:

    • AWSAFTService

    • AWSAFTExecution

  3. Eliminare i due ruoli.

Amministratore AWS, AWS DevOps, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Eliminare i ruoli IAM.

  1. Accedi all'account Audit con le autorizzazioni di amministratore.

  2. Apri la console IAM.

  3. Verifica che i seguenti ruoli non vengano utilizzati da alcun servizio attivo:

    • AWSAFTService

    • AWSAFTExecution

  4. Eliminare i due ruoli.

Amministratore AWS, AWS DevOps, DevOps ingegnere
AttivitàDescrizioneCompetenze richieste

Eliminare i ruoli IAM.

  1. Accedi all'account di AWS Control Tower gestione con le autorizzazioni di amministratore.

  2. Apri la console IAM.

  3. Verifica che i seguenti ruoli non vengano utilizzati da alcun servizio attivo:

    • AWSAFTService

    • AWSAFTExecution

    • aft-control-tower-events-rule

  4. Eliminare i tre ruoli.

Amministratore AWS, AWS DevOps, DevOps ingegnere

Eliminare EventBridge le regole.

  1. Apri la EventBridge console Amazon.

  2. Nel riquadro di navigazione a sinistra, selezionare Roles (Ruoli).

  3. Trova e seleziona la regola denominataaft-capture-ct-events.

  4. Scegli Elimina e conferma l'eliminazione quando richiesto.

Amministratore AWS, AWS DevOps, DevOps ingegnere

Risoluzione dei problemi

ProblemaSoluzione

La disconnessione del gateway Internet non è riuscita.

Durante l'eliminazione di risorse identificate dal tag AFT, se riscontri questo problema quando scolleghi o elimini il gateway Internet, devi prima eliminare gli endpoint VPC:

  1. Accedi all'account AFT Management, quindi apri la console Amazon VPC.

  2. Nel riquadro di navigazione, nell'elenco Filtra per VPC, scegli il VPC denominato. aft-management-vpc

  3. Nel pannello di navigazione, seleziona Endpoint.

  4. Seleziona gli endpoint associati al VPC. aft-management-vpc

    • Ricontrolla la colonna ID VPC prima dell'eliminazione per evitare di rimuovere gli endpoint sbagliati.

    • Fai attenzione a eliminare solo gli endpoint associati al VPC AFT.

  5. Seleziona Actions (Operazioni), Delete VPC endpoints (Eliminazione di endpoint VPC).

  6. Nella finestra di dialogo di conferma, digitate delete, quindi scegliete Elimina.

  7. Attendi che lo stato dell'endpoint passi a Eliminato.

    Il completamento dell'eliminazione potrebbe richiedere alcuni minuti.

Non riesci a trovare le CloudWatch domande specificate.

Se non riesci a trovare le CloudWatch query create da AFT, procedi nel seguente modo:

  1. Accedi all'account AFT Management, quindi apri la CloudWatch console.

  2. Nel riquadro di navigazione, in Logs, scegli Logs Insights.

  3. Nell'angolo in alto a destra, scegli l'icona Query salvate e di esempio.

    Ora dovresti essere in grado di vedere le interrogazioni AFT. Per uno screenshot, consultate la sezione Informazioni aggiuntive.

  4. Seleziona le seguenti interrogazioni, quindi scegli Azioni, Elimina per rimuoverle.

    • Customization Logs by Account ID

    • Customization Logs by Customization Request ID

Risorse correlate

Informazioni aggiuntive

Per visualizzare le interrogazioni AFT nella dashboard di CloudWatch Logs Insights, scegli l'icona Query salvate e di esempio nell'angolo in alto a destra, come illustrato nella schermata seguente:

Accesso alle interrogazioni AFT sulla dashboard di Logs Insights. CloudWatch