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
Kien Pham y Alex Pazik, Amazon Web Services
Resumen
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 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 e IPAM para asignar un bloque IPv4 CIDR a una nueva VPC durante el proceso de venta de cuentas.
Requisitos previos y limitaciones
Requisitos previos
Una activa AWS Control Tower habilitada en una compatible Cuenta de AWS y una AFT implementada Región de AWS
Un proveedor de sistemas de control de versiones (VCS)
compatible BitBucket, como GitHub, y Enterprise GitHub Interfaz de la línea de comandos (CLI) de Terraform instalada
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 y configurado
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
. Para ver los puntos de conexión específicos, consulte Service endpoints and quotas y elija el enlace del servicio.
Versiones de producto
AWS Control Tower landing zone versión 3.0 o posterior, anterior a la versión 4.0
Versión 1.13.0 o posterior de la AFT
, 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
( terraform-provider-aws) versión 5.11.0 o posterior, anterior a la versión 6.0.0La versión 2.1.0 o posterior del módulo de Terraform para IPAM
( aws-ia/ipam/aws)
Arquitectura
En el siguiente diagrama se muestran el flujo de trabajo y los componentes de este patrón.

El flujo de trabajo consta de las tareas principales siguientes:
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.
Automatice la construcción: en su interior CodeBuild, se activan varios proyectos de compilación AWS Step Functions.
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)
Servicios de AWS
AWS CodeBuild 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 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 Towerorganiza las capacidades de varios otros Servicios de AWS, 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 es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
AWS Lambda 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)
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 Catalogle 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 Functionses 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) 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
es una plataforma para desarrolladores que los desarrolladores pueden usar para crear, almacenar, administrar y compartir su código. HashiCorp Terraform
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
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 .
Repositorio de código
El código de este patrón está disponible en el repositorio GitHub AWS Control Tower Account Factory for Terraform
.
Prácticas recomendadas
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
. 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
| 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 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 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. AWS Control Tower | Administrador de la nube |
| 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:
Como alternativa, puede usar AWS CLI y ejecutar el siguiente comando:
Para obtener más información, consulte Integrar el IPAM con las cuentas de una AWS organización en la documentación de Amazon VPC enable-ipam-organization-adminy -account en AWS CLI la Referencia de comandos. importantePara 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 RAM Utilice los siguientes pasos:
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. importanteAsegú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 |
| 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:
| DevOps ingeniero |
Cree el archivo | Agregue código dinámico al archivo Utilice los siguientes pasos:
| DevOps ingeniero |
Cree el archivo | Agregue código dinámico al archivo Utilice los siguientes pasos:
| DevOps ingeniero |
Cree el archivo | Cree un Utilice los siguientes pasos:
| DevOps ingeniero |
Cree el archivo | Cree un archivo Utilice los siguientes pasos:
| DevOps ingeniero |
Cree el archivo | Cree un archivo Utilice los siguientes pasos:
| DevOps ingeniero |
Cree el archivo | Cree un nuevo Utilice los siguientes pasos:
| DevOps ingeniero |
Confirme la personalización. | Para confirmar la nueva personalización en el repositorio de personalizaciones de la cuenta, ejecute los siguientes comandos:
| DevOps ingeniero |
Aplique la personalización. | Agregue el código al archivo Utilice los siguientes pasos:
| 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:
| DevOps ingeniero |
Resolución de problemas
| 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 en la Referencia general de AWS . |
Recursos relacionados
Servicio de AWS documentación
Security best practices in IAM (Prácticas recomendadas de seguridad en IAM)
Otros recursos