

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) mediante una canalización de arranque
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline"></a>

*Vinicius Elias y Edgar Costa Filho, Amazon Web Services*

## Resumen
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-summary"></a>

Este patrón proporciona un método sencillo y seguro para implementar AWS Control Tower Account Factory for Terraform (AFT) desde la cuenta de administración de AWS Organizations. El núcleo de la solución es una CloudFormation plantilla que automatiza la configuración de AFT mediante la creación de una canalización de Terraform, que está estructurada para adaptarse fácilmente a la implementación inicial o a las actualizaciones posteriores.

La seguridad y la integridad de los datos son las principales prioridades AWS, por lo que el archivo de estado de Terraform, que es un componente fundamental que rastrea el estado de la infraestructura y las configuraciones administradas, se almacena de forma segura en un depósito de Amazon Simple Storage Service (Amazon S3). Este bucket está configurado con varias medidas de seguridad, como el cifrado del servidor y políticas para bloquear el acceso público, a fin de garantizar que el estado de Terraform esté protegido contra el acceso no autorizado y las filtraciones de datos.

La cuenta de administración organiza y supervisa todo el entorno, por lo que es un recurso fundamental. AWS Control Tower Este patrón sigue las AWS mejores prácticas y garantiza que el proceso de implementación no solo sea eficiente, sino que también se alinee con los estándares de seguridad y gobernanza, a fin de ofrecer una forma integral, segura y eficiente de implementar la AFT en su entorno. AWS 

Para obtener más información sobre AFT, consulte la [documentación de AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html).

## Requisitos previos y limitaciones
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-prereqs"></a>

**Requisitos previos **
+ Un entorno básico de AWS múltiples cuentas con las siguientes cuentas como mínimo: cuenta de administración, cuenta de Log Archive, cuenta de auditoría y una cuenta adicional para la administración de AFT.
+ Un AWS Control Tower entorno establecido. La cuenta de administración debe estar configurada correctamente, ya que la CloudFormation plantilla se implementará en ella.
+ Los permisos necesarios en la cuenta AWS de administración. Necesitará permisos suficientes para crear y administrar recursos, como depósitos, AWS Lambda funciones AWS Identity and Access Management (IAM) y AWS CodePipeline proyectos de S3.
+ Familiaridad con Terraform. Es importante comprender los conceptos básicos y el flujo de trabajo de Terraform porque la implementación implica generar y administrar las configuraciones de Terraform.

**Limitaciones**
+ Tenga en cuenta las [cuotas de los recursos de AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) de su cuenta. La implementación puede crear varios recursos y encontrar cuotas de servicio podría impedir el proceso de implementación.
+ La plantilla está diseñada para versiones específicas de Terraform y Servicios de AWS. La actualización o el cambio de versiones pueden requerir modificaciones en la plantilla.
+ La plantilla no admite los servicios del sistema de control de versiones (VCS) autogestionado, como Enterprise. GitHub 

**Versiones de producto**
+ Terraform, versión 1.6.6 o posterior
+ Versión 1.11 o posteriores de AFT

## Arquitectura
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-architecture"></a>

**Pila de tecnología de destino**
+ CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon EventBridge
+ IAM
+ AWS Lambda
+ Amazon S3

**Arquitectura de destino**

En el siguiente diagrama se ilustra la implementación descrita en este patrón.

![Flujo de trabajo para implementar AFT mediante una canalización de arranque.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/944f9912-87c7-4cc5-8478-7070cf67f7ee/images/4ee74757-940d-4d92-a7f0-fb0db1476247.png)


El flujo de trabajo consta de tres tareas principales: creación de los recursos, generación del contenido y ejecución de la canalización.

*Creación de los recursos*

La [CloudFormation plantilla que se proporciona con este patrón](https://github.com/aws-samples/aft-bootstrap-pipeline/blob/main/code/aft-deployment-pipeline.yaml) crea y configura todos los recursos necesarios, en función de los parámetros que selecciones al implementar la plantilla. Como mínimo, la plantilla crea los siguientes recursos:
+ Una CodePipeline canalización para implementar la AFT
+ Un bucket de S3 para almacenar el archivo de estado de Terraform asociado a la implementación de AFT
+ Dos CodeBuild proyectos para implementar el plan Terraform y aplicar comandos en diferentes etapas del proceso
+ Funciones y servicios de IAM CodeBuild CodePipeline 
+ Un segundo bucket de S3 para almacenar artefactos de tiempo de ejecución de la canalización

Según el proveedor de VCS que seleccione (CodeCommit o el VCS externo), la plantilla crea los siguientes recursos. 
+ Para **CodeCommit**:
  + Un CodeCommit repositorio para almacenar el código de arranque de AFT Terraform
  + Una EventBridge regla para capturar los cambios CodeCommit del repositorio en la sucursal `main`
  + Otra función de IAM para la regla EventBridge 
+ Para cualquier otro **proveedor de VCS externo**, como: GitHub
  + Una conexión AWS CodeConnections 

Además, al seleccionar CodeCommit como proveedor de VCS, si se establece el `Generate AFT Files` parámetro en`true`, la plantilla crea los siguientes recursos adicionales para generar el contenido:
+ Un depósito de S3 para almacenar el contenido generado y usarlo como fuente del repositorio CodeCommit 
+ Una función de Lambda para procesar los parámetros dados y generar el contenido apropiado
+ Una función de IAM para ejecutar la función de Lambda
+ Un recurso CloudFormation personalizado que ejecuta la función Lambda cuando se implementa la plantilla

*Generación del contenido*

Para generar los archivos de arranque de AFT y su contenido, la solución utiliza una función de Lambda y un bucket de S3. La función crea una carpeta en el bucket y, a continuación, crea dos archivos dentro de la carpeta: `main.tf` y `backend.tf`. La función también procesa los CloudFormation parámetros proporcionados y rellena estos archivos con código predefinido, sustituyendo los valores de los parámetros respectivos.

Para ver el código que se utiliza como plantilla para generar los archivos, consulte el [GitHub repositorio](https://github.com/aws-samples/aft-bootstrap-pipeline) de la solución. Básicamente, los archivos se generan de la siguiente manera.

**main.tf**

```
module "aft" {
  source = "github.com/aws-ia/terraform-aws-control_tower_account_factory?ref=<aft_version>"

  # Required variables
  ct_management_account_id  = "<ct_management_account_id>"
  log_archive_account_id    = "<log_archive_account_id>"
  audit_account_id          = "<audit_account_id>"
  aft_management_account_id = "<aft_management_account_id>"
  ct_home_region            = "<ct_home_region>"

  # Optional variables
  tf_backend_secondary_region = "<tf_backend_secondary_region>"
  aft_metrics_reporting       = "<false|true>"

  # AFT Feature flags
  aft_feature_cloudtrail_data_events      = "<false|true>"
  aft_feature_enterprise_support          = "<false|true>"
  aft_feature_delete_default_vpcs_enabled = "<false|true>"

  # Terraform variables
  terraform_version      = "<terraform_version>"
  terraform_distribution = "<terraform_distribution>"

  # VCS variables (if you have chosen an external VCS)
  vcs_provider                                  = "<github|githubenterprise|gitlab|gitlabselfmanaged|bitbucket>"
  account_request_repo_name                     = "<org-name>/aft-account-request"
  account_customizations_repo_name              = "<org-name>/aft-account-customizations"
  account_provisioning_customizations_repo_name = "<org-name>/aft-account-provisioning-customizations"
  global_customizations_repo_name               = "<org-name>/aft-global-customizations"

}
```

**backend.tf**

```
terraform {
  backend "s3" {
    region = "<aft-main-region>"
    bucket = "<s3-bucket-name>"
    key    = "aft-setup.tfstate"
  }
}
```

Durante la creación del CodeCommit repositorio, si estableces el `Generate AFT Files` parámetro en`true`, la plantilla utilizará el depósito de S3 con el contenido generado como fuente de la `main` rama para rellenar automáticamente el repositorio.

*Ejecutando la canalización*

Una vez creados los recursos y configurados los archivos de arranque, se ejecuta la canalización. La primera etapa (*Origen*) busca el código fuente de la ramificación principal del repositorio, y la segunda etapa (*Compilación*) ejecuta el comando de planificación de Terraform y genera los resultados para su revisión. En la tercera etapa (*Aprobación*), la canalización espera a que se lleve a cabo una acción manual para aprobar o rechazar la última etapa (*Implementación*). En la última etapa, la canalización ejecuta el comando `apply` de Terraform utilizando como entrada el resultado del comando `plan` de Terraform anterior. Por último, un rol entre cuentas y los permisos de la cuenta de administración se utilizan para crear los recursos de AFT en la cuenta de administración de AFT.

**nota**  
Si selecciona un proveedor de VCS externo, deberá autorizar la conexión con las credenciales de su proveedor de VCS. Para completar la configuración, sigue los pasos que se indican en la documentación de la consola de AWS Developer Tools sobre cómo [actualizar una conexión pendiente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html).

## Tools (Herramientas)
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-tools"></a>

**Servicios de AWS**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en Cuentas de AWS todas las regiones.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) es un servicio de compilación completamente administrado que le permite compilar código fuente, poner en marcha pruebas unitarias y producir artefactos listos para implementar. 
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) es un servicio de control de versiones que permite almacenar y administrar repositorios de Git de forma privada sin necesidad de administrar su propio sistema de control de origen.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) permite diseñar y configurar rápidamente las diferentes etapas de un proceso de lanzamiento de software y automatizar los pasos necesarios para lanzar los cambios en el software de manera continua.
+ [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)permite que AWS los recursos y servicios, por ejemplo CodePipeline, se conecten a repositorios de código externos, por ejemplo. GitHub
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ejecuta código como respuesta a eventos y administra automáticamente los recursos de computación, lo que proporciona una forma rápida de crear una aplicación moderna y sin servidor para producción.
+ [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)es un kit de desarrollo de software que le ayuda a integrar su aplicación, biblioteca o script de Python con Servicios de AWS.

**Otras herramientas**
+ [Terraform](https://developer.hashicorp.com/terraform?product_intent=terraform) es una herramienta de infraestructura como código (IaC) que le permite crear, cambiar y versionar la infraestructura de manera segura y eficiente. Esto incluye componentes de bajo nivel, como instancias de computación, almacenamiento y redes, y componentes de alto nivel, como entradas de DNS y característica de SaaS.
+ [Python](https://docs.python.org/3.9/tutorial/index.html) es un lenguaje de programación potente y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y proporciona un enfoque simple pero efectivo de la programación orientada a objetos.

**Repositorio de código**

El código de este patrón está disponible en el [repositorio bootstrap Pipeline de GitHub AFT](https://github.com/aws-samples/aft-bootstrap-pipeline).

Para ver el repositorio AFT oficial, consulte [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main) en GitHub.

## Prácticas recomendadas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-best-practices"></a>

Al implementar AFT mediante la CloudFormation plantilla proporcionada, le recomendamos que siga las mejores prácticas para garantizar una implementación segura, eficiente y exitosa. Las pautas y recomendaciones clave para implementar y operar AFT incluyen lo siguiente:
+ **Revisión exhaustiva de los parámetros**: revise y comprenda detenidamente cada parámetro de la CloudFormation plantilla. La configuración correcta de los parámetros es crucial para la configuración y el funcionamiento correctos de AFT.
+ **Actualizaciones periódicas de la plantilla**: mantenga la plantilla actualizada con las últimas AWS funciones y versiones de Terraform. Las actualizaciones periódicas lo ayudarán a aprovechar las nuevas funciones y a mantener la seguridad.
+ **Control de versiones**: fije la versión de su módulo de AFT y, si es posible, utilice una implementación de AFT independiente para realizar las pruebas.
+ **Alcance**: utilice AFT únicamente para implementar barreras de protección y personalizaciones de infraestructura. No use AFT para implementar la aplicación.
+ **Lint y validación**: la canalización de AFT requiere una configuración de Terraform de tipo Lint y que esté validada. Ejecute Lint, valide y pruebe todo antes de enviar la configuración a los repositorios de AFT.
+ **Módulos de Terraform**: cree código de Terraform reutilizable como módulos y especifique siempre las versiones de Terraform y del AWS proveedor para que se ajusten a los requisitos de su organización.

## Epics
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-epics"></a>

### Configure y configure el entorno AWS
<a name="set-up-and-configure-the-aws-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare el AWS Control Tower entorno. | Instálelo y AWS Control Tower configúrelo en su AWS entorno para garantizar una administración y un gobierno centralizados para su Cuentas de AWS. Para obtener más información, consulte [Primeros pasos AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html) en la AWS Control Tower documentación. | Administrador de la nube | 
| Iniciar la cuenta de administración de AFT. | Utilice AWS Control Tower Account Factory para lanzar una nueva Cuenta de AWS que sirva como su cuenta de administración de AFT. Para obtener más información, consulte [Aprovisionar cuentas con AWS Service Catalog Account Factory](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html) en la AWS Control Tower documentación. | Administrador de la nube | 

### Implemente la CloudFormation plantilla en la cuenta de administración
<a name="deploy-the-cfnshort-template-in-the-management-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie la CloudFormation plantilla. | En esta epopeya, despliega la CloudFormation plantilla proporcionada con esta solución para configurar la canalización de arranque de AFT en su cuenta AWS de administración. La canalización implementa la solución AFT en la cuenta de administración de AFT que configuró en la épica anterior.<br />**Paso 1: Abre la consola CloudFormation **[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 2: crear una nueva pila**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 3: configurar los parámetros de la pila**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 4: decidir la generación de archivos**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 5: Rellene los detalles de AWS Control Tower la cuenta AFT**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 6: configurar las opciones de AFT**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 7: especificar las versiones**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 8: revisar y crear la pila**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 9: supervisar la creación de la pila**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 10: comprobar la implementación**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 

### Relleno y validación del repositorio y la canalización de arranque de AFT
<a name="populate-and-validate-the-aft-bootstrap-repository-and-pipeline"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Opción 1: Rellenar el repositorio de arranque de AFT para un VCS externo. | Si configura el proveedor de VCS como un VCS externo (no lo haga CodeCommit), siga estos pasos.<br />(Opcional) Tras implementar la CloudFormation plantilla, puede rellenar o validar el contenido del repositorio bootstrap de AFT recién creado y comprobar si la canalización se ha ejecutado correctamente.<br />**Paso 1: actualizar la conexión**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 2: rellenar el repositorio**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 2: confirmar y enviar los cambios**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 
| Opción 2: llene el repositorio bootstrap de AFT para. CodeCommit | Si configuras el proveedor de VCS en CodeCommit, sigue estos pasos.<br />(Opcional) Tras implementar la CloudFormation plantilla, puede rellenar o validar el contenido del repositorio bootstrap de AFT recién creado y comprobar si la canalización se ha ejecutado correctamente.<br />Si establece el parámetro `Generate AFT Files` en `true`, pase a la siguiente historia (validación de la canalización).<br />**Paso 1: rellenar el repositorio**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 2: confirmar y enviar los cambios**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 
| Validar la canalización de arranque de AFT. | **Paso 1: Ver la canalización**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 2: aprobar los resultados del plan de Terraform**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 3: esperar a la implementación**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)<br />**Paso 4: comprobar los recursos creados**[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 

## Resolución de problemas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| La función Lambda personalizada incluida en la CloudFormation plantilla falla durante la implementación. | Compruebe la función Lambda en los CloudWatch registros de Amazon para identificar el error. Los registros proporcionan información detallada y pueden ayudar a identificar el problema específico. Confirme que la función de Lambda tiene los permisos necesarios y que las variables del entorno se han configurado correctamente. | 
| Se producen errores en la creación o administración de los recursos a causa de permisos inadecuados. | Revise las funciones y políticas de IAM asociadas a la función CodeBuild Lambda y otros servicios involucrados en la implementación. Confirme que tengan los permisos necesarios. Si tiene problemas con los permisos, ajuste las políticas de IAM para conceder el acceso necesario. | 
| Está utilizando una versión anticuada de la CloudFormation plantilla con versiones más recientes Servicios de AWS o de Terraform. | Actualiza la CloudFormation plantilla con regularidad para que sea compatible con las versiones más recientes AWS y las de Terraform. Consulte las notas de la versión o la documentación para ver si hay cambios o requisitos específicos de la versión. | 
|  Servicio de AWS Las cuotas se alcanzan durante el despliegue. | Antes de implementar la canalización, compruebe Servicio de AWS las cuotas de recursos, como los buckets de S3, las funciones de IAM y las funciones de Lambda. Solicite aumentos si fuera necesario. Para obtener más información, consulte [Servicio de AWS las cuotas en el sitio web](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). AWS  | 
| Se producen errores debido a parámetros de entrada incorrectos en la CloudFormation plantilla. | Compruebe todos los parámetros de entrada para ver si hay errores tipográficos o valores incorrectos. Confirme que los identificadores de recursos, como los nombres de cuentas IDs y regiones, sean correctos. | 

## Recursos relacionados
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-resources"></a>

Para implementar este patrón correctamente, revise los siguientes recursos. En estos recursos se proporciona información y orientación adicionales que pueden tener un valor incalculable para configurar y administrar AFT mediante CloudFormation.

**AWS****documentación:**
+ AWS Control Tower La [guía del usuario](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) ofrece información detallada sobre la configuración y la administración AWS Control Tower.
+ [CloudFormation la documentación](https://docs.aws.amazon.com/cloudformation/index.html) proporciona información sobre las CloudFormation plantillas, las pilas y la administración de recursos.

**Políticas de IAM y prácticas recomendadas:**
+ [Las prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) explican cómo ayudar a proteger los AWS recursos mediante el uso de las funciones y políticas de IAM.

**Terraform en: AWS**
+ La [documentación de Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) proporciona información completa sobre el uso de Terraform con. AWS

**Servicio de AWS cuotas:**
+ [Servicio de AWS cuotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) proporciona información sobre cómo ver Servicio de AWS las cuotas y cómo solicitar aumentos.