View a markdown version of this page

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

Gokendra Malviya, Amazon Web Services

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 administración y 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 AFT, incluso sin la referencia del archivo de estado 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 operaciones. AWS Control Tower

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

Requisitos previos y limitaciones

Requisitos previos 

  • Un conocimiento detallado de la arquitectura de AFT.

  • Acceso de administrador a las siguientes cuentas:

    • Cuenta de administración de AFT

    • AWS Control Tower Cuenta de administración

    • Cuenta del archivo de registro

    • 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

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

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 pagador de AWS o cuenta de administración de AWS Organizations .

  • La cuenta de administración de AFT está dedicada a las operaciones de administración de AFT. Cuenta de AWS 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 seleccionó. 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.

Tools (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 nuevas cuentas y asignar recursos, agrupar cuentas para organizar sus flujos de trabajo, aplicar políticas con fines de gobernanza y simplificar la facturación mediante 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 roles 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 que identifique la etiqueta AFT.

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

  2. Abra la consola de Grupos de recursos de AWS.

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

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

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

  6. En Etiquetas, escriba managed_by como clave de la etiqueta y AFT como valor de la 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 que 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, podrá 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 Grupos de recursos de AWS. En los pasos siguientes, encontrará y eliminará los recursos restantes.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimine roles de IAM.

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

  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 denominado aws_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. Elimine los siguientes recursos en el orden que se indica a continuación:

    1. Bus de eventos: eliminar aws_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 realizar el seguimiento del 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 buckets de S3.

  1. Inicie sesión en la cuenta del archivo de registros con permisos de administrador.

  2. Abra la consola de Amazon S3.

  3. Vacíe los siguientes buckets:

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

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

    (Reemplace 111122223333 por su ID de cuenta).

  4. Elimine los dos buckets.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Elimine roles de IAM.

  1. Abra la consola de IAM.

  2. Compruebe que ningún servicio activo usa los siguientes roles:

    • AWSAFTService

    • AWSAFTExecution

  3. Elimine los dos roles.

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

Elimine roles 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 usa los siguientes roles:

    • AWSAFTService

    • AWSAFTExecution

  4. Elimine los dos roles.

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

Elimine roles 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 ningún servicio activo usa los siguientes roles:

    • 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. Busque y seleccione la regla denominada aft-capture-ct-events.

  4. Cuando se le pida, elija Eliminar y confirme la eliminación.

Administrador de AWS DevOps, DevOps ingeniero de AWS

Resolución de problemas

ProblemaSolución

No se pudo desconectar la puerta de enlace de Internet.

Mientras elimina los recursos identificados mediante la etiqueta AFT, si se encuentras con este problema al desconectar o eliminar la puerta de enlace de Internet, primero debe eliminar los puntos de conexión de VPC:

  1. Inicie sesión en la cuenta de administración de AFT y luego 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 ID de VPC antes de eliminarla para evitar eliminar los puntos de conexión incorrectos.

    • Asegúrese de eliminar únicamente los puntos de conexión asociados con la VPC de AFT.

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

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

  7. Espere a que su punto de conexión cambie de estado a Eliminado.

    El proceso de eliminación puede tardar unos minutos en completarse.

No puede encontrar las consultas CloudWatch 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 Información de registros.

  3. En la esquina superior derecha, elija el ícono Gonsultas guardadas y de ejemplo.

    Ahora debería poder ver las consultas de AFT. Para ver una captura de pantalla, consulte 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.