Limpe os recursos AWS do Account Factory for Terraform (AFT) com segurança após a perda do arquivo de estado - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

 Limpe os recursos AWS do Account Factory for Terraform (AFT) com segurança após a perda do arquivo de estado

Criado por Gokendra Malviya (AWS)

Resumo

Quando você usa o AWS Account Factory for Terraform (AFT) para gerenciar seu AWS Control Tower ambiente, o AFT gera um arquivo de estado do Terraform para rastrear o estado e a configuração dos recursos criados pelo Terraform. A perda do arquivo de estado do Terraform pode criar desafios significativos para o gerenciamento e a limpeza de recursos. Esse padrão fornece uma abordagem sistemática para identificar e remover com segurança os recursos relacionados ao AFT, mantendo a integridade do seu AWS Control Tower ambiente.

O processo foi projetado para garantir a remoção adequada de todos os componentes do AFT, mesmo sem a referência do arquivo de estado original. Esse processo fornece um caminho claro para restabelecer e reconfigurar com sucesso o AFT em seu ambiente, para ajudar a garantir o mínimo de interrupção em suas operações. AWS Control Tower

Para obter mais informações sobre o AFT, consulte a AWS Control Tower documentação.

Pré-requisitos e limitações

Pré-requisitos

  • Uma compreensão completa da arquitetura AFT.

  • Acesso de administrador às seguintes contas:

    • Conta de gerenciamento AFT

    • AWS Control Tower Conta de gerenciamento

    • Conta do Log Archive

    • Conta de auditoria

  • Verificação de que nenhuma política de controle de serviço (SCPs) contém restrições ou limitações que bloqueariam a exclusão de recursos relacionados ao AFT.

Limitações

  • Esse processo pode limpar recursos de forma eficaz, mas não pode recuperar arquivos de estado perdidos, e alguns recursos podem exigir identificação manual.

  • A duração do processo de limpeza depende da complexidade do seu ambiente e pode levar várias horas.

  • Esse padrão foi testado com a versão 1.12.2 do AFT e exclui os seguintes recursos. Se você estiver usando uma versão diferente do AFT, talvez seja necessário excluir recursos adicionais.

    Nome do serviço

    Número de recursos

    AWS CodeBuild

    6

    AWS CodeCommit

    4

    AWS CodePipeline

    4

    Amazon DynamoDB

    5

    Nuvem de computação elástica da Amazon (Amazon EC2)

    16

    Amazon EventBridge

    4

    AWS Identity and Access Management Funções (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

Importante

Os recursos que são excluídos pelas etapas desse padrão não podem ser recuperados. Antes de seguir essas etapas, verifique cuidadosamente os nomes dos recursos e certifique-se de que eles foram criados pelo AFT.

Arquitetura

O diagrama a seguir mostra os componentes do AFT e o fluxo de trabalho de alto nível. O AFT configura um pipeline do Terraform que ajuda você a provisionar e personalizar suas contas em AWS Control Tower. O AFT segue um GitOps modelo para automatizar os processos de provisionamento de contas em. AWS Control Tower Você cria um arquivo Terraform para uma solicitação de conta e o submete em um repositório, que fornece a entrada que aciona o fluxo de trabalho AFT para provisionamento de contas. Depois que o provisionamento da conta for concluído, o AFT poderá executar etapas adicionais de personalização automaticamente.

Componentes AFT e fluxo de trabalho de alto nível.

Nesta arquitetura:

  • AWS Control Tower A conta de gerenciamento Conta da AWS é dedicada ao AWS Control Tower serviço. Isso também é normalmente chamado de conta do AWS pagador ou conta AWS Organizations de gerenciamento.

  • A conta de gerenciamento da AFT Conta da AWS é dedicada às operações de gerenciamento da AFT. Isso é diferente da conta de gerenciamento da sua organização.

  • A conta vendida Conta da AWS contém todos os componentes e controles básicos que você selecionou. A AFT usa AWS Control Tower para vender uma nova conta.

Para obter informações adicionais sobre essa arquitetura, consulte Introdução ao AFT no AWS Control Tower workshop.

Ferramentas

Serviços da AWS

  • AWS Control Towerajuda você a configurar e administrar um ambiente AWS com várias contas, seguindo as melhores práticas prescritivas.

  • AWS O Account Factory for Terraform (AFT) configura um pipeline do Terraform para ajudá-lo a provisionar e personalizar contas e recursos no. AWS Control Tower

  • AWS Organizationsajuda você a gerenciar e governar centralmente seu ambiente à medida que você cresce e escala seus AWS recursos. Usando o Organizations, você pode criar contas e alocar recursos, agrupar contas para organizar seus fluxos de trabalho, aplicar políticas de governança e simplificar o faturamento usando um único método de pagamento para todas as suas contas.

  • AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los. Esse padrão requer funções e permissões do IAM.

Outras ferramentas

  • O Terraform é uma ferramenta de infraestrutura como código (IaC) HashiCorp que ajuda você a criar e gerenciar recursos na nuvem e no local.

Práticas recomendadas

Épicos

TarefaDescriçãoHabilidades necessárias

Exclua recursos identificados pela tag AFT.

  1. Faça login na conta de gerenciamento do AFT com permissões de administrador.

  2. Abra o console de AWS Resource Groups.

  3. Selecione a região em AWS Control Tower que foi implantado.

  4. No painel de navegação, escolha Editor de tags.

  5. Em Tipos de recursos, escolha Todos os tipos de recursos compatíveis.

  6. Para Tags, digite managed_by como a chave da tag e AFT como o valor da tag.

  7. Escolha Recursos de pesquisa.

    Essa pesquisa exibe todos os recursos que foram criados pelo AFT.

  8. Identifique os nomes dos recursos e exclua-os usando os consoles de serviço correspondentes. Por exemplo, para excluir recursos do Parameter Store:

    1. Abra o console de AWS Systems Manager.

    2. No painel de navegação, selecione Parameter Store (Repositório de parâmetros).

    3. Na caixa de pesquisa, clique para exibir a lista suspensa, escolha Nome, escolha igual a e digite /aft.

    4. Exclua os parâmetros em lotes de 10. (Esse é o número máximo que você pode excluir ao mesmo tempo.)

      Para a versão 1.12.2 do AFT, haverá aproximadamente 62 recursos do Parameter Store a serem excluídos. Todos os nomes de parâmetros começarão com /aft.

    No entanto, nem todos os recursos podem ser identificados por AWS Resource Groups. Nas etapas a seguir, você encontrará e excluirá os recursos restantes.

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua as funções do IAM.

  1. Faça login na conta de gerenciamento do AFT com permissões de administrador.

  2. Abra o console do IAM.

  3. Exclua essas funções na ordem listada (a ordem é importante devido às dependências):

    • aft-*

    • AWSAFTAdmin

    • AWSAFTExecution

    • AWSAFTService

    • codebuild_trigger_role

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua o cofre AWS Backup de backup.

  1. Abra o console de AWS Backup.

  2. Localize o cofre de backup chamadoaws_backup_vault.

  3. Confirme se o cofre não contém nenhum backup ativo.

  4. Exclua aws_backup_vault.

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua CloudWatch os recursos da Amazon.

  1. Abra o console de CloudWatch .

  2. Exclua os seguintes recursos na ordem listada:

    1. Ônibus de eventos: Excluiraws_cloudwatch_event_bus.

    2. Registros: pesquise o prefixo AFT e exclua todos os grupos de registros relacionados.

    3. Definições de consulta: exclua as seguintes consultas:

      • Customization Logs by Account ID

      • Customization Logs by Customization Request ID

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua AWS KMS recursos.

  1. Mude para a região secundária, que serve como back-end para o rastreamento do estado do próprio AFT.

  2. Abra o console de AWS KMS.

  3. Exclua o alias chamado AFT.

Administrador da AWS, AWS DevOps, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Exclua os buckets do S3.

  1. Faça login na conta do Log Archive com permissões de administrador.

  2. Abra o console Amazon S3.

  3. Esvazie os seguintes baldes:

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

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

    (111122223333Substitua pelo ID da sua conta.)

  4. Exclua os dois compartimentos.

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua as funções do IAM.

  1. Abra o console do IAM.

  2. Verifique se as seguintes funções não estão sendo usadas por nenhum serviço ativo:

    • AWSAFTService

    • AWSAFTExecution

  3. Exclua as duas funções.

Administrador da AWS, AWS DevOps, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Exclua as funções do IAM.

  1. Faça login na conta de auditoria com permissões de administrador.

  2. Abra o console do IAM.

  3. Verifique se as seguintes funções não estão sendo usadas por nenhum serviço ativo:

    • AWSAFTService

    • AWSAFTExecution

  4. Exclua as duas funções.

Administrador da AWS, AWS DevOps, DevOps engenheiro
TarefaDescriçãoHabilidades necessárias

Exclua as funções do IAM.

  1. Faça login na conta AWS Control Tower de gerenciamento com permissões de administrador.

  2. Abra o console do IAM.

  3. Verifique se as seguintes funções não estão sendo usadas por nenhum serviço ativo:

    • AWSAFTService

    • AWSAFTExecution

    • aft-control-tower-events-rule

  4. Exclua as três funções.

Administrador da AWS, AWS DevOps, DevOps engenheiro

Exclua EventBridge as regras.

  1. Abra o EventBridge console da Amazon.

  2. No painel de navegação à esquerda, escolha Rules (Regras).

  3. Encontre e selecione a regra chamadaaft-capture-ct-events.

  4. Escolha Excluir e confirme a exclusão quando solicitado.

Administrador da AWS, AWS DevOps, DevOps engenheiro

Solução de problemas

ProblemaSolução

A desconexão do gateway da Internet não teve êxito.

Ao excluir recursos identificados pela tag AFT, se você encontrar esse problema ao desanexar ou excluir o gateway da Internet, primeiro precisará excluir os VPC endpoints:

  1. Faça login na conta de gerenciamento do AFT e abra o console da Amazon VPC.

  2. No painel de navegação, na lista Filtrar por VPC, escolha a VPC chamada. aft-management-vpc

  3. No painel de navegação, escolha Endpoints.

  4. Selecione os endpoints associados à VPC aft-management-vpc.

    • Verifique novamente a coluna VPC ID antes da exclusão para evitar a remoção dos endpoints errados.

    • Tenha cuidado para excluir somente os endpoints associados ao AFT VPC.

  5. Escolha Actions (Ações), Delete VPC endpoints (Excluir endpoints da VPC).

  6. Na caixa de diálogo de confirmação, digite delete e escolha Delete.

  7. Aguarde até que o status do endpoint mude para Excluído.

    A exclusão pode levar alguns minutos para ser concluída.

Você não consegue encontrar as CloudWatch consultas especificadas.

Se você não conseguir encontrar CloudWatch as consultas que foram criadas pelo AFT, siga estas etapas:

  1. Faça login na conta de gerenciamento do AFT e abra o CloudWatch console.

  2. No painel de navegação, em Registros, escolha Logs Insights.

  3. No canto superior direito, escolha o ícone Consultas salvas e amostras.

    Agora você deve conseguir ver as consultas do AFT. Para obter uma captura de tela, consulte a seção Informações adicionais.

  4. Selecione as consultas a seguir e escolha Ações, Excluir para removê-las.

    • Customization Logs by Account ID

    • Customization Logs by Customization Request ID

Recursos relacionados

Mais informações

Para visualizar as consultas AFT no painel do CloudWatch Logs Insights, escolha o ícone de consultas salvas e de amostra no canto superior direito, conforme ilustrado na captura de tela a seguir:

Acessando as consultas do AFT no painel do CloudWatch Logs Insights.