

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.

# Automatice las asignaciones de CIDR, IPAM y IPv4 CIDR de Amazon VPC para nuevos mediante AFT Cuentas de AWS
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft"></a>

*Kien Pham y Alex Pazik, Amazon Web Services*

## Resumen
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-summary"></a>

Este patrón muestra cómo automatizar las asignaciones de IPv4 CIDR de Amazon VPC IP Address Manager (IPAM) para las nuevas mediante Cuentas de AWS [AWS Control Tower Account](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) Factory for Terraform (AFT). Esto se hace mediante una personalización a nivel de cuenta que asigna un bloque IPv4 CIDR de IPAM a una nueva nube privada virtual (VPC) mediante el módulo. `aft-account-customizations`

Con IPAM, puede organizar, asignar, monitorear y auditar las direcciones IP a gran escala, lo que le permite planificar, rastrear y monitorear fácilmente las direcciones IP de sus cargas de trabajo. AWS Puede [crear un grupo de IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/create-ipam.html) e IPAM para asignar un bloque IPv4 CIDR a una nueva VPC durante el proceso de venta de cuentas.

## Requisitos previos y limitaciones
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-prereqs"></a>

**Requisitos previos **
+ Una activa AWS Control Tower habilitada en una compatible Cuenta de AWS y una AFT implementada [Región de AWS](https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html)
+ Un [proveedor de sistemas de control de versiones (VCS)](https://github.com/aws-ia/terraform-aws-control_tower_account_factory?tab=readme-ov-file#input_vcs_provider) compatible BitBucket, como GitHub, y Enterprise GitHub 
+ Interfaz de la línea de comandos (CLI) de Terraform [instalada](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
+ Un entorno de tiempo de ejecución en el que pueda ejecutar el módulo Terraform que instala AFT.
+ AWS Command Line Interface [(AWS CLI) [instalado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) y configurado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

**Limitaciones**
+ Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

**Versiones de producto**
+ [AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/2022-all.html#version-3.0) versión 3.0 o posterior, anterior a la versión 4.0
+ Versión 1.13.0 o posterior de la [AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory), anterior a la versión 2.0.0
+ La versión 1.2.0 o posterior de Terraform OSS, anterior a la versión 2.0.0
+ [Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (`terraform-provider-aws`) versión 5.11.0 o posterior, anterior a la versión 6.0.0
+ La versión 2.1.0 o posterior del [módulo de Terraform para IPAM](https://github.com/aws-ia/terraform-aws-ipam) (`aws-ia/ipam/aws`)

## Arquitectura
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-architecture"></a>

En el siguiente diagrama se muestran el flujo de trabajo y los componentes de este patrón.

![\[Flujo de trabajo para crear la asignación de CIDR de IPAM IPv4 de Amazon VPC.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/986cfc7d-058b-4490-9029-6cd1eadd1dd2/images/f90b84dd-0420-460e-ac0f-9f22b4a9fdc4.png)


El flujo de trabajo consta de las tareas principales siguientes:

1. **Cambios desencadenantes: los cambios** en la personalización de Terraform e IPAM se transfieren al repositorio y se publican. GitHub Esta tarea activa la AWS CodeBuild canalización automáticamente.

1. **Automatice la construcción**: en su interior CodeBuild, se activan varios proyectos de compilación AWS Step Functions.

1. **Aplica la personalización**: Step Functions se coordina con CodeBuild ella para planificar y aplicar los cambios de Terraform. Esta tarea utiliza el módulo AFT Terraform para coordinar la asignación de IP del grupo de IPAM a la AWS cuenta vendida.

## Tools (Herramientas)
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-tools"></a>

**Servicios de AWS**
+ [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 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 Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)organiza las capacidades de varios otros [Servicios de AWS](https://docs.aws.amazon.com/controltower/latest/userguide/integrated-services.html), incluidos AWS Organizations, y. AWS Service Catalog AWS IAM Identity Center Puede ayudarlo a configurar y administrar un entorno de AWS múltiples cuentas, siguiendo las mejores prácticas prescriptivas.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [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.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)le ayuda a gestionar de forma centralizada los catálogos de servicios de TI AWS aprobados. Los usuarios finales pueden implementar rápidamente solo los servicios de TI aprobados que necesitan, de acuerdo con las limitaciones establecidas por su organización.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)es un servicio de organización sin servidor que le ayuda a combinar AWS Lambda funciones y otras Servicios de AWS para crear aplicaciones esenciales para la empresa.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS. El administrador de direcciones IP de Amazon VPC (IPAM) es una función de VPC que le facilita la planificación, el seguimiento y la supervisión de las direcciones IP de sus cargas de trabajo. AWS 

**Otras herramientas**
+ [GitHub](https://docs.github.com/)es una plataforma para desarrolladores que los desarrolladores pueden usar para crear, almacenar, administrar y compartir su código.
+ [HashiCorp Terraform](https://www.terraform.io/) es una herramienta de infraestructura como código (IaC) que le ayuda a crear y administrar recursos locales y en la nube. Esto incluye componentes de bajo nivel, como instancias de procesamiento, almacenamiento y redes, y componentes de alto nivel, como entradas de DNS y característica de software como servicio (SaaS).
+ [Python](https://www.python.org/) es un lenguaje de programación informático de uso general. Puede usar esta herramienta para crear aplicaciones, automatizar tareas y desarrollar servicios en [Nube de AWS](https://aws.amazon.com/developer/language/python/).

**Repositorio de código**
+ El código de este patrón está disponible en el repositorio GitHub [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory).

## Prácticas recomendadas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-best-practices"></a>

Al implementar AFT, le recomendamos que siga las prácticas recomendadas para garantizar una implementación segura, eficiente y correcta. Las pautas y recomendaciones clave para implementar y operar la AFT incluyen los siguientes pasos: 
+ **Revisión exhaustiva de las entradas**: revise y comprenda cuidadosamente cada [entrada](https://github.com/aws-ia/terraform-aws-control_tower_account_factory). La configuración correcta de las entradas es crucial para la configuración y el funcionamiento de la AFT.
+ **Actualizaciones periódicas de las plantillas**: mantenga las plantillas actualizadas 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="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-epics"></a>

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente AWS Control Tower. | Instálelo y AWS Control Tower configúrelo en su AWS entorno para garantizar la administración y el gobierno centralizados de 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 | 
| Implemente AWS Control Tower Account Factory para Terraform (AFT). | Configure AFT en una nueva cuenta de administración de AFT dedicada. Para obtener más información, consulte [Configurar e iniciar su AWS Control Tower Account Factory para Terraform](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html#aft-configure-and-launch) en la AWS Control Tower documentación. | Administrador de la nube | 
| Complete la AFT después de la implementación. | Una vez que se complete el despliegue de la infraestructura AFT, complete los pasos que se indican en la documentación sobre [los pasos posteriores al despliegue](https://docs.aws.amazon.com/controltower/latest/userguide/aft-post-deployment.html). AWS Control Tower  | Administrador de la nube | 

### Creación de un IPAM
<a name="create-ipam"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Delegue un administrador de IPAM | Para delegar una cuenta de administrador de IPAM en su AWS organización, siga los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)Como alternativa, puede usar AWS CLI y ejecutar el siguiente comando:<pre>aws ec2 enable-ipam-organization-admin-account \<br />    --delegated-admin-account-id 012345678901</pre>Para obtener más información, consulte [Integrar el IPAM con las cuentas de una AWS organización](https://docs.aws.amazon.com/vpc/latest/ipam/enable-integ-ipam.html) en la documentación de Amazon VPC [enable-ipam-organization-adminy](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-ipam-organization-admin-account.html) -account en AWS CLI la Referencia de comandos. Para seguir utilizando IPAM, debe iniciar sesión en la cuenta de administrador delegado. El perfil de SSO o las variables de AWS entorno especificadas en el siguiente paso deben permitirle iniciar sesión en esa cuenta y conceder permisos para crear un grupo regional y de alto nivel de IPAM. | Administrador de AWS | 
| Cree un grupo regional y de nivel superior de IPAM. | El GitHub repositorio de este patrón contiene una plantilla de Terraform que puede usar para crear su grupo de nivel superior y su grupo regional de IPAM. A continuación, puede compartir los grupos con una organización, unidad organizativa (OU) u otro recurso mediante AWS Resource Access Manager (). Cuenta de AWSAWS RAMUtilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)Anote el ID del grupo de recursos que se muestra después de la creación. Necesitará ese ID al enviar la solicitud de cuenta. Si olvida el ID del grupo de recursos, puede obtenerlo más adelante en la Consola de administración de AWS. Asegúrese de que los grupos creados CIDRs no se superpongan con ningún otro grupo de su región de trabajo. Puede crear un grupo sin un CIDR, pero no podrá utilizar el grupo para asignaciones hasta que le haya aprovisionado un CIDR. Puede añadir elementos CIDRs a un grupo en cualquier momento editando el grupo. | Administrador de AWS | 

### Integración de IPAM con AFT
<a name="integrate-ipam-with-aft"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Comience a crear la personalización de la cuenta. | Para iniciar una nueva personalización de la cuenta, ejecute los siguientes comandos desde su terminal:<pre># Default name for customization repo<br />cd aft-account-customizations # Replace with your actual repo name if different than the default<br />mkdir -p APG-AFT-IPAM/terraform # Replace APG-AFT-IPAM with your desired customization name<br />cd APG-AFT-IPAM/terraform</pre> | DevOps ingeniero | 
| Cree el archivo `aft-providers.jinja`. | Agregue código dinámico al archivo `aft-providers.jinja` que especifique el backend y el proveedor de Terraform que va a usar.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `backend.jinja`. | Agregue código dinámico al archivo `backend.jinja` que especifique el backend y el proveedor de Terraform que va a usar.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `main.tf`. | Cree un `main.tf` archivo nuevo y añada código que defina dos fuentes de datos que recuperan dos valores de AWS Systems Manager (`aws_ssm`) y crean la VPC.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `variables.tf`. | Cree un archivo `variables.tf` que indique las variables que usa el módulo de Terraform.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `terraform.tfvars`. | Cree un archivo `terraform.tfvars` que defina los valores de las variables que se pasan al archivo `main.tf`.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `outputs.tf`. | Cree un nuevo `outputs.tf` archivo que exponga algunos valores en CodeBuild.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Confirme la personalización. | Para confirmar la nueva personalización en el repositorio de personalizaciones de la cuenta, ejecute los siguientes comandos:<pre># Assumes you are still in the /terraform directory<br />cd .. # Skip if you are in the account customization root directory (APG-AFT-IPAM)<br />git add .<br />git commit -m "APG customization"<br />git push origin</pre> | DevOps ingeniero | 
| Aplique la personalización. | Agregue el código al archivo `account-requests.tf` que solicita una nueva cuenta con la personalización de la cuenta recién creada. Los campos personalizados crean los parámetros de Systems Manager en la cuenta de venta que son necesarios para crear la VPC con el CIDR asignado por IPv4 IPAM correcto.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | AWS DevOps | 
| Valide la personalización. | Inicie sesión en la cuenta recién creada y compruebe que la personalización se haya aplicado correctamente.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 

## Resolución de problemas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
|  Se producen errores en la creación o administración de los recursos a causa de permisos inadecuados. |  Revise las funciones y políticas AWS Identity and Access Management (de IAM) asociadas a Step Functions y otros servicios involucrados en la implementación. CodeBuild Confirme que tengan los permisos necesarios. Si tiene problemas con los permisos, ajuste las políticas de IAM para conceder el acceso necesario. | 
|  Servicio de AWS Las cuotas se alcanzan durante la implementación. |  Antes de implementar la canalización, compruebe Servicio de AWS las cuotas de recursos, como los buckets de Amazon Simple Storage Service (Amazon S3), las funciones y las funciones de IAM. AWS Lambda Si es necesario, solicite un aumento de las cuotas. Para obtener más información, consulte [Servicio de AWS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) en la *Referencia general de AWS *. | 

## Recursos relacionados
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-resources"></a>

**Servicio de AWS documentación**
+ [AWS Control Tower Guía del usuario](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ [Cómo funciona el IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/how-it-works-ipam.html)
+ [Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (Prácticas recomendadas de seguridad en IAM)
+ [Servicio de AWS cuotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)

**Otros recursos**
+ [Documentación de Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)