Limpie los recursos de AWS Account Factory for Terraform (AFT) de forma segura después de la pérdida de archivos estatales - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

 Limpie los recursos de AWS Account Factory for Terraform (AFT) de forma segura después de la pérdida de archivos estatales

Creado por Gokendra Malviya (AWS)

Resumen

Cuando usa AWS Account Factory for Terraform (AFT) para administrar su AWS Control Tower entorno, AFT genera un archivo de estado de Terraform para rastrear el estado y la configuración de los recursos creados por Terraform. La pérdida del archivo de estado de Terraform puede suponer importantes desafíos para la gestión y la limpieza de los recursos. Este patrón proporciona un enfoque sistemático para identificar y eliminar de forma segura los recursos relacionados con la AFT y, al mismo tiempo, mantener la integridad de su entorno. AWS Control Tower

El proceso está diseñado para garantizar la eliminación adecuada de todos los componentes de la AFT, incluso sin la referencia del archivo estatal original. Este proceso proporciona un camino claro para restablecer y reconfigurar correctamente la AFT en su entorno, a fin de garantizar una interrupción mínima de sus AWS Control Tower operaciones.

Para obtener más información sobre AFT, consulte la AWS Control Tower documentación.

Requisitos previos y limitaciones

Requisitos previos 

  • Un conocimiento profundo de la arquitectura AFT.

  • Acceso de administrador a las siguientes cuentas:

    • Cuenta de administración de AFT

    • AWS Control Tower Cuenta de administración

    • Cuenta de Log Archive

    • Cuenta de auditoría

  • Verificación de que ninguna política de control de servicios (SCPs) contiene restricciones o limitaciones que puedan bloquear la eliminación de los recursos relacionados con AFT.

Limitaciones

  • Este proceso puede limpiar los recursos de forma eficaz, pero no puede recuperar los archivos de estado perdidos y algunos recursos pueden requerir una identificación manual.

  • La duración del proceso de limpieza depende de la complejidad del entorno y puede tardar varias horas.

  • Este patrón se probó con la versión 1.12.2 de AFT y elimina los siguientes recursos. Si está utilizando una versión diferente de AFT, es posible que deba eliminar recursos adicionales.

    Nombre del servicio

    Número de recursos

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

    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

Los recursos que se eliminan mediante los pasos de este patrón no se pueden recuperar. Antes de seguir estos pasos, compruebe cuidadosamente los nombres de los recursos y asegúrese de que fueron creados por AFT.

Arquitectura

El siguiente diagrama muestra los componentes de la AFT y el flujo de trabajo de alto nivel. AFT establece una canalización de Terraform que le ayuda a aprovisionar y personalizar sus cuentas. AWS Control Tower AFT sigue un GitOps modelo para automatizar los procesos de aprovisionamiento de cuentas. AWS Control Tower Se crea un archivo de Terraform para una solicitud de cuenta y se deposita en un repositorio, que proporciona la entrada que activa el flujo de trabajo de AFT para el aprovisionamiento de cuentas. Una vez completado el aprovisionamiento de la cuenta, AFT puede ejecutar pasos de personalización adicionales automáticamente.

Componentes de AFT y flujo de trabajo de alto nivel.

En esta arquitectura:

  • AWS Control Tower La cuenta de administración es una Cuenta de AWS que está dedicada al AWS Control Tower servicio. Por lo general, también se denomina cuenta de AWS pagador o cuenta AWS Organizations de administración.

  • La cuenta de administración de AFT es una Cuenta de AWS que se dedica a las operaciones de administración de AFT. Es diferente de la cuenta de administración de su organización.

  • La cuenta vendida es una Cuenta de AWS que contiene todos los componentes y controles básicos que ha seleccionado. AFT utiliza AWS Control Tower para vender una cuenta nueva.

Para obtener información adicional sobre esta arquitectura, consulte Introducción a la AFT en el AWS Control Tower taller.

Herramientas

Servicios de AWS

  • AWS Control Towerle ayuda a configurar y gobernar un entorno de AWS múltiples cuentas, siguiendo las mejores prácticas prescriptivas.

  • AWS Account Factory for Terraform (AFT) establece una canalización de Terraform para ayudarlo a aprovisionar y personalizar cuentas y recursos. AWS Control Tower

  • AWS Organizationsle ayuda a gestionar y gobernar su entorno de forma centralizada a medida que crece y escala sus AWS recursos. Con Organizations, puede crear cuentas y asignar recursos, agrupar cuentas para organizar sus flujos de trabajo, aplicar políticas de gobierno y simplificar la facturación mediante el uso de un único método de pago para todas sus cuentas.

  • AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos. Este patrón requiere funciones y permisos de IAM.

Otras herramientas

  • Terraform es una herramienta de infraestructura como código (IaC) HashiCorp que le ayuda a crear y administrar recursos locales y en la nube.

Prácticas recomendadas

Epics

TareaDescripciónHabilidades requeridas

Elimine los recursos identificados por la etiqueta AFT.

  1. Inicie sesión en la cuenta de administración de AFT con permisos de administrador.

  2. Abra la consola de AWS Resource Groups.

  3. Seleccione la región en la que se AWS Control Tower ha desplegado.

  4. En el panel de navegación, elija Editor de etiquetas.

  5. En Tipos de recursos, seleccione Todos los tipos de recursos compatibles.

  6. En Etiquetas, escriba managed_by como clave de etiqueta y AFT como valor de etiqueta.

  7. Seleccione Buscar recursos.

    Esta búsqueda muestra todos los recursos creados por AFT.

  8. Identifique los nombres de los recursos y elimínelos mediante las consolas de servicio correspondientes. Por ejemplo, para eliminar los recursos del almacén de parámetros:

    1. Abra la consola de AWS Systems Manager.

    2. En el panel de navegación, elija Parameter Store (Almacén de parámetros).

    3. En el cuadro de búsqueda, haga clic para mostrar el menú desplegable, elija Nombre, elija igual y, a continuación, escriba /aft.

    4. Elimine los parámetros en lotes de 10. (Este es el número máximo que puede eliminar al mismo tiempo).

      Para la versión 1.12.2 de AFT, habrá que eliminar aproximadamente 62 recursos del almacén de parámetros. Todos los nombres de los parámetros comenzarán por /aft.

    Sin embargo, no todos los recursos se pueden identificar mediante AWS Resource Groups. En los pasos siguientes, encontrará y eliminará los recursos restantes.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimine las funciones de IAM.

  1. Inicie sesión en la cuenta de administración de AFT con permisos de administrador.

  2. Abra la consola de IAM.

  3. Elimine estos roles en el orden indicado (el orden es importante debido a las dependencias):

    • aft-*

    • AWSAFTAdmin

    • AWSAFTExecution

    • AWSAFTService

    • codebuild_trigger_role

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimine la bóveda AWS Backup de respaldo.

  1. Abra la consola de AWS Backup.

  2. Localice el almacén de copias de seguridad denominadoaws_backup_vault.

  3. Confirme que el almacén no contiene ninguna copia de seguridad activa.

  4. Elimine aws_backup_vault.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimina CloudWatch los recursos de Amazon.

  1. Abra la consola de CloudWatch .

  2. Elimina los siguientes recursos en el orden indicado:

    1. Bus de eventos: eliminaraws_cloudwatch_event_bus.

    2. Registros: busque el prefijo AFT y elimine todos los grupos de registros relacionados.

    3. Definiciones de consultas: elimine las siguientes consultas:

      • Customization Logs by Account ID

      • Customization Logs by Customization Request ID

Administrador de AWS DevOps, DevOps ingeniero de AWS

Eliminar AWS KMS recursos.

  1. Cambie a la región secundaria, que sirve como backend para el seguimiento estatal del propio estado de AFT.

  2. Abra la consola de AWS KMS.

  3. Elimine el alias denominado AFT.

Administrador de AWS DevOps, DevOps ingeniero de AWS
TareaDescripciónHabilidades requeridas

Elimine los depósitos de S3.

  1. Inicie sesión en la cuenta de Log Archive con permisos de administrador.

  2. Abra la consola de Amazon S3.

  3. Vacíe los siguientes depósitos:

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

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

    (111122223333Sustitúyalo por tu ID de cuenta).

  4. Elimine los dos cubos.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimine las funciones de IAM.

  1. Abra la consola de IAM.

  2. Compruebe que ningún servicio activo utilice las siguientes funciones:

    • AWSAFTService

    • AWSAFTExecution

  3. Elimine las dos funciones.

Administrador de AWS DevOps, DevOps ingeniero de AWS
TareaDescripciónHabilidades requeridas

Elimine las funciones de IAM.

  1. Inicie sesión en la cuenta de auditoría con permisos de administrador.

  2. Abra la consola de IAM.

  3. Compruebe que ningún servicio activo utilice las siguientes funciones:

    • AWSAFTService

    • AWSAFTExecution

  4. Elimine las dos funciones.

Administrador de AWS DevOps, DevOps ingeniero de AWS
TareaDescripciónHabilidades requeridas

Elimine las funciones de IAM.

  1. Inicie sesión en la cuenta AWS Control Tower de administración con permisos de administrador.

  2. Abra la consola de IAM.

  3. Compruebe que los siguientes roles no estén siendo utilizados por ningún servicio activo:

    • AWSAFTService

    • AWSAFTExecution

    • aft-control-tower-events-rule

  4. Elimine los tres roles.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Eliminar EventBridge reglas.

  1. Abre la EventBridge consola de Amazon.

  2. En el panel de navegación izquierdo, seleccione Rules (Reglas).

  3. Busca y selecciona la regla nombradaaft-capture-ct-events.

  4. Elija Eliminar y confirme la eliminación cuando se le solicite.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Solución de problemas

ProblemaSolución

No se pudo desconectar la puerta de enlace de Internet.

Mientras eliminas los recursos identificados por la etiqueta AFT, si te encuentras con este problema al desconectar o eliminar la puerta de enlace de Internet, primero debes eliminar los puntos finales de la VPC:

  1. Inicie sesión en la cuenta de administración de AFT y, a continuación, abra la consola de Amazon VPC.

  2. En el panel de navegación, en la lista Filtrar por VPC, elija la VPC nombrada. aft-management-vpc

  3. En el panel de navegación, elija Puntos de conexión.

  4. Seleccione los puntos finales que están asociados a la VPC aft-management-vpc.

    • Compruebe la columna de ID de VPC antes de eliminarla para evitar eliminar los puntos finales incorrectos.

    • Tenga cuidado de eliminar solo los puntos finales que están asociados a la VPC AFT.

  5. Elija Acciones, Eliminar puntos de conexión de VPC.

  6. En el cuadro de diálogo de confirmación, escriba eliminar y, a continuación, elija Eliminar.

  7. Espere a que el estado del punto final cambie a Eliminado.

    La eliminación puede tardar unos minutos en completarse.

No puedes encontrar las CloudWatch consultas especificadas.

Si no puede encontrar las CloudWatch consultas que creó AFT, siga estos pasos:

  1. Inicie sesión en la cuenta de administración de AFT y, a continuación, abra la CloudWatch consola.

  2. En el panel de navegación, en Registros, elija Logs Insights.

  3. En la esquina superior derecha, selecciona el icono de consultas guardadas y de muestra.

    Ahora deberías poder ver las consultas AFT. Para ver una captura de pantalla, consulta la sección de información adicional.

  4. Seleccione las siguientes consultas y, a continuación, elija Acciones y Eliminar para eliminarlas.

    • Customization Logs by Account ID

    • Customization Logs by Customization Request ID

Recursos relacionados

Información adicional

Para ver las consultas AFT en el panel de control de CloudWatch Logs Insights, selecciona el icono de consultas guardadas y de muestra en la esquina superior derecha, como se muestra en la siguiente captura de pantalla:

Acceder a las consultas AFT en el panel de control de CloudWatch Logs Insights.