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.
Implementación del generador de cuentas para Terraform (AFT) de AWS Control Tower
Esta sección está destinada a los administradores de entornos de AWS Control Tower que deseen configurar el generador de cuentas para Terraform (AFT) en su entorno actual. Describe cómo configurar un entorno del generador de cuentas para Terraform (AFT) con una cuenta de administración de AFT nueva y dedicada.
nota
Un módulo Terraform implementa AFT. Este módulo está disponible en el repositorio AFT
Le recomendamos que consulte los módulos AFT en GitHub lugar de clonar el repositorio AFT. De esta forma puede controlar y consumir las actualizaciones de los módulos a medida que estén disponibles.
Para obtener más información sobre las versiones más recientes de la funcionalidad AWS Control Tower Account Factory for Terraform (AFT), consulte el archivo de versiones
Requisitos previos para una implementación
Antes de configurar y lanzar el entorno de AFT, debe tener los siguientes recursos disponibles:
-
Una región de origen para la zona de aterrizaje de AWS Control Tower. Para obtener más información, consulte How Regiones de AWS work with AWS Control Tower.
-
Una zona de aterrizaje de AWS Control Tower. Para obtener más información, consulte Plan your AWS Control Tower landing zone.
Una cuenta de administración de AFT, que puede aprovisionar en AWS Control Tower o aprovisionar por otros medios e inscribirla en AWS Control Tower.
-
Una versión y distribución de Terraform. Para obtener más información, consulte Terraform and AFT versions.
-
Un proveedor de VCS para rastrear y administrar cambios en el código y otros archivos. De forma predeterminada, AFT usa AWS CodeCommit. Para obtener más información, consulte ¿Qué es AWS CodeCommit? en la Guía AWS CodeCommit del usuario.
Si va a implementar AFT por primera vez y no tiene un CodeCommit repositorio existente, debe elegir un proveedor de VCS externo, como GitHub o BitBucket. Para obtener más información, consulte Alternatives for version control of source code in AFT.
-
Un entorno de tiempo de ejecución en el que pueda ejecutar el módulo Terraform que instala AFT.
-
Opciones de características de AFT. Para obtener más información, consulte Enable feature options.
Configuración y lanzamiento del generador de cuentas para Terraform de AWS Control Tower
En los pasos siguientes se considera que conoce el flujo de trabajo de Terraform. También puede obtener más información sobre la implementación de AFT siguiendo el laboratorio de introducción a la AFT
Paso 1: lanzar la zona de aterrizaje de AWS Control Tower
Complete los pasos de Getting started with AWS Control Tower
nota
Asegúrese de crear un rol para la cuenta de administración de la Torre de Control de AWS que tenga AdministratorAccesscredenciales. Para obtener más información, consulte los siguientes temas:
-
Identidades de IAM (usuarios, grupos y roles) en la Guía del usuario de AWS Identity and Access Management
-
AdministratorAccessen la Guía de referencia de políticas AWS administradas
Paso 2: creación de una nueva unidad organizativa para AFT (se recomienda encarecidamente)
Le recomendamos que cree una UO aparte en la zona de aterrizaje de AWS Control Tower. En esta UO aprovisionará la cuenta de administración de AFT. Cree la nueva UO y la cuenta de administración de AFT desde la cuenta de administración de AWS Control Tower. Para obtener más información, consulte Create a new OU.
Paso 3: aprovisionar la cuenta de administración de AFT
AFT requiere que proporcione una AWS cuenta dedicada a las operaciones de administración de AFT. Cree la cuenta de administración de AWS Control Tower cuando haya iniciado sesión en la cuenta de administración de AWS Control Tower que está asociada con la zona de aterrizaje de AWS Control Tower. Puede aprovisionar la cuenta de administración de AFT desde la consola de AWS Control Tower seleccionando Crear cuenta en la página Organización o por otros medios. Para obtener más información, consulte Aprovisionar cuentas con AWS Service Catalog Account Factory.
nota
Si ha creado una OU independiente para AFT, asegúrese de seleccionar esta OU al crear la cuenta de administración de AFT.
El aprovisionamiento completo de la cuenta de administración de AFT puede tardar hasta 30 minutos.
Paso 4: verificación de que el entorno de Terraform esté disponible para implementación
En este paso se considera que tiene experiencia con Terraform y que dispone de procedimientos para su ejecución. Para obtener más información, consulte Command: init
nota
AFT es compatible con la versión de Terraform 1.6.0 o posterior.
Paso 5: configuraciones opcionales
-
De manera opcional, establezca la configuración de la nube privada virtual (VPC)
El módulo de AFT incluye un parámetro
aft_enable_vpcque especifica si AWS Control Tower aprovisiona recursos de cuenta dentro de una VPC en la cuenta de administración de AFT central. De forma predeterminada, el parámetro está definido comotrue. Si establece este parámetro enfalse, AWS Control Tower implementa AFT sin utilizar una VPC ni recursos de red privados, como puertas de enlace NAT o puntos de conexión de VPC. La deshabilitación deaft_enable_vpcpuede ayudar a reducir el costo operativo de AFT en algunos patrones de uso. Al agregar cualquier configuración de VPC se anula el parámetroaft_enable_vpcque se está configurando enfalse.nota
Para volver a habilitar el parámetro
aft_enable_vpc(cambiar el valor defalseatrue), es posible que tenga que ejecutar el comandoterraform applydos veces seguidas.En lugar de aprovisionar una VPC nueva, puede configurar AFT para que use una VPC existente en su cuenta. Para usar su propia VPC, proporcione los siguientes parámetros de configuración de VPC:
-
aft_customer_vpc_id: ID de su VPC existente -
aft_customer_private_subnets- Una lista de subredes privadas IDs en su VPC
Ejemplo de configuración:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # VPC configuration aft_customer_vpc_id = "vpc-0123456789abcdef0" aft_customer_private_subnets = ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"] # Other AFT parameters... }importante
No le recomendamos que use la opción de VPC personalizada si ya tiene una implementación de AFT. Es posible que dependa de las funciones de Lambda CodePipeline o que dependa de los recursos de la VPC subyacente existente.
-
-
Si lo desea, configure el nombre del proyecto de Terraform
Puede personalizar el nombre del proyecto de Terraform utilizado por AFT configurando el parámetro
terraform_project_name. De forma predeterminada, AFT coloca la implementación en el proyecto “predeterminado” en Terraform Cloud o Terraform Enterprise.Ejemplo de configuración:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # Project name configuration terraform_project_name = "my-organization-aft" # Other AFT parameters... }nota
Este parámetro solo se aplica a implementaciones de Terraform Enterprise o Terraform Cloud.
-
Opcionalmente, aplique etiquetas personalizadas a recursos de AFT
Puede aplicar etiquetas personalizadas a todos los recursos de AFT mediante el parámetro
tags. Estas etiquetas ayudan a organizar recursos, asignar costos y controlar el acceso.Ejemplo de configuración:
module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory" # Custom tags configuration tags = { Environment = "Production" CostCenter = "IT-12345" Project = "AFT-Deployment" Owner = "platform-team@example.com" } # Other AFT parameters... }Estas etiquetas se aplican a todos los recursos creados por el módulo AFT. AFT agrega automáticamente una etiqueta
managed_by = "AFT"a todos los recursos, que no puede ser anulada por etiquetas personalizadas.nota
Se pueden agregar etiquetas personalizadas en cualquier momento, no solo durante la implementación inicial.
-
Si lo desea, aplique una clave de cifrado AWS KMS administrada por el cliente (CMK) a los grupos de registros y a los temas de SNS CloudWatch
Para habilitar el cifrado CMK de KMS para grupos de registros y temas de SNS, defina las variables
cloudwatch_log_group_enable_cmk_encryptionysns_topic_enable_cmk_encryption.Si opta por esta configuración, AFT utilizará la CMK existente, alias/aft, para cifrar los registros y los temas de SNS. CloudWatch Esta CMK se crea cuando AFT se implementa en la cuenta de administración de AFT y se puede aplicar a grupos de registros y temas de SNS.
Si la variable
cloudwatch_log_group_enable_cmk_encryptionse establece en true, los grupos de CloudWatch registros de AFT se cifran mediante la CMK. Si la variable se establece en false, que es el valor predeterminado, los registros se cifran mediante el cifrado del lado del servidor con los CloudWatch registros predeterminados.Si la variable
sns_topic_enable_cmk_encryptionse establece en true, las notificaciones enviadas a los temas de AFT SNS (aft-notifications y aft-failure-notifications) se cifran mediante la CMK. Si la variable se establece en false, que es el valor predeterminado, los mensajes SNS se cifran con la clave administrada por AWS:. alias/aws/sns Para obtener más información, consulte Términos clave de SSE.
-
Si lo desea, cambie el tipo de cómputo CodeBuild
Durante la implementación, para cambiar el tipo de cómputo que utiliza AFT CodeBuild, defina la variable
aft_codebuild_compute_type.Para obtener información sobre los tipos de computación aceptados, consulte Acerca de los tipos de entornos bajo demanda. El tipo de computación predeterminado es
BUILD_GENERAL1_MEDIUM.
Paso 6: Llame al módulo Account Factory for Terraform para implementar AFT
Llame al módulo AFT con el rol que creó para la cuenta de administración de la Torre de Control Tower de AWS que tiene AdministratorAccesscredenciales. AWS Control Tower aprovisiona un módulo de Terraform a través de la cuenta de administración de AWS Control Tower que establece toda la infraestructura necesaria para orquestar las solicitudes del generador de cuentas de AWS Control Tower.
Puede ver el módulo AFT en el repositorio de AFT
Si tiene canalizaciones en el entorno establecidas para administrar Terraform, puede integrar el módulo de AFT en el flujo de trabajo existente. De lo contrario, ejecute el módulo de AFT desde cualquier entorno que esté autenticado con las credenciales necesarias.
El tiempo de espera provoca un error en la implementación. Te recomendamos usar credenciales AWS Security Token Service(STS) para asegurarte de que dispones de un tiempo de espera suficiente para una implementación completa. El tiempo de espera mínimo para las AWS STS credenciales es de 60 minutos. Para obtener más información, consulte Temporary security credentials in IAM en la Guía del usuario de AWS Identity and Access Management.
nota
Puede esperar hasta 30 minutos para que AFT termine de implementarse a través del módulo Terraform.
Paso 7: Administre el archivo de estado de Terraform
Al implementar AFT, se genera un archivo de estado de Terraform. Este artefacto describe el estado de los recursos que Terraform ha creado. Si tiene previsto actualizar la versión de AFT, asegúrese de preservar el archivo de estado de Terraform o configure un backend de Terraform con Amazon S3 y DynamoDB. El módulo de AFT no administra un estado del backend de Terraform.
nota
Es responsable de proteger el archivo de estado de Terraform. Algunas variables de entrada pueden contener valores confidenciales, como una clave ssh privada o un token de Terraform. Según el método de implementación, estos valores serán visibles como texto sin formato en el archivo de estado de Terraform. Para obtener más información, consulte Datos confidenciales del estado en