Cree una arquitectura IPAM jerárquica y multirregional mediante Terraform AWS - 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.

Cree una arquitectura IPAM jerárquica y multirregional mediante Terraform AWS

Donny Schreiber, Amazon Web Services

Resumen

La administración de direcciones IP (IPAM) es un componente esencial de la administración de redes y se vuelve cada vez más compleja a medida que las organizaciones escalan su infraestructura en la nube. Sin la IPAM adecuada, las organizaciones corren el riesgo de que se produzcan conflictos con las direcciones IP, se desperdicie espacio en las direcciones y se resuelvan problemas complejos que pueden provocar interrupciones y tiempo de inactividad en las aplicaciones. Este patrón demuestra cómo implementar una solución de IPAM integral para AWS entornos empresariales mediante Terraform. HashiCorp Ayuda a las organizaciones a crear una arquitectura de IPAM jerárquica y multirregional que facilita la administración centralizada de las direcciones IP en todos los componentes de la organización. Cuentas de AWSAWS

Este patrón lo ayuda a implementar el Administrador de direcciones IP de Amazon VPC con una sofisticada jerarquía de grupos de cuatro niveles: grupo de nivel superior, grupos regionales, grupos de unidades de negocio y grupos específicos del entorno. Esta estructura permite realizar una gobernanza adecuada de las direcciones IP y, al mismo tiempo, permite delegar la administración de direcciones IP en los equipos correspondientes de la organización. La solución utiliza AWS Resource Access Manager (AWS RAM) para compartir sin problemas los grupos de administradores de direcciones IP en toda la organización. AWS RAM centraliza y estandariza las especificaciones de IPAM, que los equipos pueden utilizar en todas las cuentas gestionadas.

Este patrón lo ayuda a lograr lo siguiente:

  • Automatice la asignación de direcciones IP en todas las Regiones de AWS unidades de negocio y los entornos.

  • Aplicar las políticas de red de la organización mediante la validación con programación.

  • Escalar la infraestructura de red de manera eficiente a medida que evolucionan los requisitos de la empresa.

  • Reducir la sobrecarga operativa mediante la administración centralizada de los espacios de direcciones IP.

  • Acelerar las implementaciones de cargas de trabajo nativas en la nube con la asignación de rangos de CIDR de autoservicio.

  • Evitar gestionar los conflictos mediante la validación y los controles basados en políticas.

Requisitos previos y limitaciones

Requisitos previos 

Limitaciones

  • El Administrador de direcciones IP está sujeto a las cuotas de servicio. La cuota de servicio predeterminada para los grupos es de 50 por ámbito. Al ejecutar esta implementación en 6 regiones, 2 unidades de negocio y 4 entornos, se crearían 67 grupos. Por lo tanto, podría ser necesario incrementar la cuota.

  • Al modificar o eliminar los grupos del Administrador de direcciones IP una vez asignados los recursos, podrían surgir problemas de dependencias. Primero debe liberar la asignación antes de poder eliminar el grupo.

  • En el Administrador de direcciones IP, la supervisión de los recursos puede experimentar un ligero retraso a la hora de reflejar los cambios en los recursos. Este retraso puede ser de 20 minutos aproximadamente.

  • El Administrador de direcciones IP no puede aplicar la unicidad de las direcciones IP en distintos ámbitos de forma automática.

  • Las etiquetas personalizadas deben cumplir con las prácticas recomendadas en materia de etiquetado de AWS. Por ejemplo, cada clave debe ser única y no puede empezar por aws:.

  • Hay ciertas consideraciones y limitaciones a la hora de integrar el Administrador de direcciones IP con cuentas externas a su organización.

Arquitectura

Arquitectura de destino

Configuración y jerarquía de grupos del Administrador de direcciones IP

En el siguiente diagrama se ilustran los constructos lógicos de la arquitectura de destino. Un ámbito es el contenedor de nivel más alto del Administrador de direcciones IP. Cada ámbito representa el espacio de direcciones IP de una única red. Los grupos son conjuntos de rangos continuos de direcciones IP (o rangos de CIDR) dentro del ámbito. Los grupos lo ayudan a organizar las direcciones IP según sus necesidades de enrutamiento y seguridad. En este diagrama se ilustran cuatro niveles jerárquicos de grupos: un grupo de nivel superior, grupos regionales, grupos de unidades de negocio y grupos de entornos.

Un alcance privado y cuatro niveles de grupos en una sola región de AWS en una cuenta de red.

Esta solución establece una jerarquía clara de grupos del Administrador de direcciones IP:

  1. El grupo de nivel superior comprende todo el espacio de direcciones IP de la organización, como 10.176.0.0/12.

  2. Los grupos regionales son para las asignaciones específicas de una región, como 10.176.0.0/15 para us-east-1.

  3. Los grupos de unidades de negocio son asignaciones específicas de dominio dentro de cada uno de ellos. Región de AWS Por ejemplo, la unidad de negocios de finanzas de la región us-east-1 podría tener 10.176.0.0/16.

  4. Los grupos de entornos son asignaciones con una finalidad específica para diferentes entornos. Por ejemplo, la unidad de negocios de finanzas de la región us-east-1 podría tener 10.176.0.0/18 para un entorno de producción.

Esta topología de implementación distribuye geográficamente los recursos del Administrador de direcciones IP y, al mismo tiempo, mantiene el control centralizado. Sus características son las siguientes:

  • El administrador de direcciones IP se implementa en un único servidor principal. Región de AWS

  • Las regiones adicionales se registran como regiones operativas, donde el Administrador de direcciones IP puede administrar los recursos.

  • Cada región operativa recibe un grupo de direcciones dedicado del grupo de nivel superior.

  • Los recursos de todas las regiones operativas se administran de forma centralizada a través del Administrador de direcciones IP en la región principal.

  • Cada grupo regional tiene una propiedad de configuración regional vinculada a su región que lo ayuda a asignar los recursos de forma adecuada.

Validación avanzada del rango de CIDR

Esta solución está diseñada para evitar que se implementen configuraciones que no sean válidas. Al implementar los grupos a través de Terraform, se valida lo siguiente durante la fase de planificación de Terraform:

  • Valida que todos los rangos de CIDR del entorno estén contenidos dentro de los rangos de CIDR de las unidades de negocio principales

  • Confirma que todos los rangos de CIDR de la unidad de negocio estén contenidos dentro de los rangos de CIDR regionales principales

  • Verifica que todos los rangos de CIDR regionales estén contenidos en los rangos de CIDR de nivel superior

  • Comprueba si hay rangos de CIDR solapados dentro del mismo nivel jerárquico

  • Valida la asignación adecuada de los entornos a sus respectivas unidades de negocio

Asignación de rangos de CIDR

El siguiente diagrama muestra un ejemplo de cómo los desarrolladores o administradores pueden crear direcciones IP nuevas VPCs y asignarlas desde los niveles del grupo.

Un alcance privado y cuatro niveles de grupos en una sola región de AWS en una cuenta de red.

En el diagrama, se muestra el siguiente flujo de trabajo:

  1. A través de la Consola de administración de AWS infraestructura como código (IaC) o mediante la infraestructura como código (IaC), un desarrollador o administrador solicita el siguiente rango de CIDR disponible en el grupo de AY3 entornos. AWS CLI

  2. El Administrador de direcciones IP asigna el siguiente rango de CIDR disponible en ese grupo a la VPC AY3-4. Este rango de CIDR ya no se puede utilizar.

Automatización y escala

Esta solución está diseñada para ofrecer escalabilidad de la siguiente manera:

  • Expansión regional: para agregar nuevas regiones, amplíe la configuración de Terraform con entradas adicionales del grupo regional.

  • Crecimiento de las unidades de negocio: para admitir las nuevas unidades de negocio, agréguelas al mapa de configuración de las unidades de negocio.

  • Flexibilidad del entorno: configure distintos tipos de entornos, como entornos de desarrollo o producción, en función de las necesidades de la organización.

  • Soporte multicuenta: comparta grupos entre todas las cuentas de su organización a través de. AWS RAM

  • Aprovisionamiento automatizado de VPC: intégrelo con los flujos de trabajo de aprovisionamiento de VPC para automatizar la asignación de rangos de CIDR.

La estructura jerárquica también permite diferentes escalas de delegación y control, como las siguientes:

  • Los administradores de red pueden administrar los grupos regionales y de nivel superior.

  • Es posible que los equipos de TI de las unidades de negocio hayan delegado el control de sus grupos respectivos.

  • Los equipos de aplicaciones pueden consumir direcciones IP de los grupos de entornos designados.

nota

También puede integrar esta solución con el Generador de cuentas de AWS Control Tower para Terraform (AFT). Para obtener más información, consulte Integración con AFT en la sección Información adicional de este patrón.

Tools (Herramientas)

Servicios de AWS

  • Amazon le CloudWatch ayuda a supervisar las métricas de sus AWS recursos y las aplicaciones en las que se ejecuta AWS en tiempo real.

  • AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante comandos en su shell de línea de comandos.

  • AWS Organizationses un servicio de administración de cuentas que le ayuda a consolidar múltiples cuentas Cuentas de AWS en una organización que puede crear y administrar de forma centralizada.

  • AWS Resource Access Manager (AWS RAM) le ayuda a compartir sus recursos de forma segura Cuentas de AWS para reducir la sobrecarga operativa y ofrecer visibilidad y capacidad de auditoría.

  • 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 es una característica de Amazon VPC. Le ayuda a planificar, rastrear y monitorear las direcciones IP de sus cargas de AWS trabajo.

Otras herramientas

  • HashiCorp Terraform es una herramienta de infraestructura como código (IaC) que facilita usar el código para aprovisionar y administrar los recursos y la infraestructura en la nube.

Repositorio de código

El código de este patrón está disponible en el repositorio de ejemplo de implementación de Terraform para el IPAM jerárquico. AWS GitHub La estructura del repositorio incluye lo siguiente:

  • Módulo raíz: variables de entrada y orquestación de la implementación.

  • Módulo de IPAM: implementación básica de la arquitectura que se describe en este patrón.

  • Módulo de etiquetas: etiquetado estandarizado para todos los recursos.

Prácticas recomendadas

Tenga en cuenta las siguientes prácticas recomendadas para la planificación de redes:

  • Planifique primero: planifique minuciosamente el espacio de direcciones IP antes de la implementación. Para obtener más información, consulte Planificar el aprovisionamiento de direcciones IP.

  • Evite el solapamiento de rangos de CIDR: asegúrese de que los rangos de CIDR de cada nivel no se solapen.

  • Reserve espacio en el búfer: asigne siempre rangos de CIDR más grandes de lo que necesite inmediatamente para adaptarse al crecimiento.

  • Documente la asignación de direcciones IP: mantenga la documentación de la estrategia de asignación de direcciones IP.

Tenga en cuenta las siguientes prácticas recomendadas para la implementación:

  • Comience con entornos que no sean de producción: haga implementaciones primero en entornos que no sean de producción.

  • Utilice la administración de estados de Terraform: implemente el almacenamiento y el bloqueo de estados remotos. Para obtener más información, consulte State storage and locking en la documentación de Terraform.

  • Implemente el control de versiones: controle las versiones de todo el código de Terraform.

  • Implemente CI/CD la integración: utilice los canales de integración continua y entrega continua (CI/CD) para realizar despliegues repetibles.

Tenga en cuenta las siguientes prácticas operativas recomendadas:

  • Habilite la importación automática: configure un grupo del Administrador de direcciones IP para detectar e importar automáticamente los recursos existentes. Siga las instrucciones que se indican en Edición de un grupo de IPAM para activar la importación automática.

  • Supervise la utilización de direcciones IP: configure alarmas para los umbrales de utilización de direcciones IP. Para obtener más información, consulta Supervisar el IPAM con Amazon CloudWatch.

  • Realice auditorías periódicas: audite periódicamente el uso y el cumplimiento de las direcciones IP. Para obtener más información, consulte Seguimiento del uso de direcciones IP en IPAM.

  • Elimine las asignaciones sin utilizar: libere las asignaciones de direcciones IP cuando se retiren los recursos. Para obtener más información, consulte Eliminar el aprovisionamiento CIDRs de un grupo.

Tenga en cuenta las siguientes prácticas recomendadas en materia de seguridad:

  • Implemente privilegios mínimos: utilice los roles de IAM con los permisos mínimos necesarios. Para obtener más información, consulte Prácticas recomendadas de seguridad en IAM y Identity and Access Management en IPAM.

  • Utilice políticas de control de servicios: implemente políticas de control de servicios (SCPs) para imponer el uso del administrador de direcciones IP en su organización. Para obtener más información, consulte Exigir el uso de IPAM para la creación de VPC con. SCPs

  • Controle el uso compartido de recursos: administre cuidadosamente el alcance del uso compartido de recursos del Administrador de direcciones IP en. AWS RAM Para obtener más información, consulte Compartir un grupo de IPAM mediante AWS RAM.

  • Implemente el etiquetado: implemente el etiquetado obligatorio para todos los recursos relacionados con el Administrador de direcciones IP. Para obtener más información, consulte Estrategia de etiquetado en la sección Información adicional.

Epics

TareaDescripciónHabilidades requeridas

Habilite las AWS Organizations funciones.

Asegúrese de que AWS Organizations tiene todas las funciones habilitadas. Para obtener instrucciones, consulte Habilitar todas las funciones para una organización AWS Organizations en la AWS Organizations documentación.

Administrador de AWS

Habilite el uso compartido de recursos en AWS RAM.

Con el AWS CLI, introduzca el siguiente comando para habilitar el uso compartido de AWS RAM recursos en su organización:

aws ram enable-sharing-with-aws-organization

Para obtener más información, consulte Habilitar el uso compartido de recursos AWS Organizations en la AWS RAM documentación.

Administrador de AWS

Designe un administrador para el Administrador de direcciones IP.

Desde la cuenta de administración de la organización AWS CLI, introduzca el siguiente comando, donde 123456789012 aparece el ID de la cuenta que administrará el Administrador de direcciones IP:

aws ec2 enable-ipam-organization-admin-account \ --delegated-admin-account-id 123456789012
nota

Generalmente, las cuentas de redes o centro de redes se usan como administrador delegado del Administrador de direcciones IP.

Para obtener más información, consulte Integrar el IPAM con las cuentas de una AWS organización en la documentación del Administrador de direcciones IP.

Administrador de AWS
TareaDescripciónHabilidades requeridas

Defina la arquitectura de red.

Defina y documente la arquitectura de red, incluidos los rangos de CIDR de las regiones, unidades de negocio y entornos. Para obtener más información, consulte Planificar el aprovisionamiento de direcciones IP en la documentación del Administrador de direcciones IP.

Ingeniero de redes

Clonar el repositorio.

  1. Introduzca el siguiente comando para clonar el repositorio en la estación de trabajo local:

    git clone https://github.com/aws-samples/sample-amazon-vpc-ipam-terraform.git
  2. Introduzca el siguiente comando para ir al directorio terraform.

DevOps ingeniero

Configure las variables.

  1. Abra el archivo terraform.tfvars.

  2. Configure las variables para la implementación del Administrador de direcciones IP. Para ver un ejemplo de un archivo completo, consulte terraform.tfvars.example en el repositorio de código.

  3. Guarde y cierre el archivo terraform.tfvars.

Ingeniero de redes, Terraform

Implemente los recursos del Administrador de direcciones IP.

  1. Introduzca el comando siguiente para inicializar Terraform:

    terraform init
  2. Introduzca el comando siguiente para generar un plan de ejecución:

    terraform plan
  3. Revise el plan y valide los recursos y los componentes de infraestructura que se van a crear.

  4. Introduzca el siguiente comando para implementar la infraestructura:

    terraform apply
  5. Cuando se le solicite, introduzca para confirmar la implementación.

  6. Espere hasta que se complete la implementación.

Terraform

Valide la implementación.

  1. Inicie sesión en la consola del administrador de direcciones IP y Cuenta de AWS, a continuación, ábrala.

  2. En el panel de navegación, elija Pools (Grupos).

  3. En la lista de grupos, compruebe que se hayan creado los grupos que configuró.

  4. Abra la consola de AWS RAM.

  5. Compruebe que se hayan compartido los recursos del Administrador de direcciones IP. Siga las instrucciones de Visualización de recursos compartidos que creó en la AWS RAM documentación.

AWS general, ingeniero de redes
TareaDescripciónHabilidades requeridas

Cree una VPC.

Siga los pasos que se indican en Creación de una VPC en la documentación de Amazon VPC. Cuando llegue al paso donde debe elegir un rango de CIDR para la VPC, asigne el siguiente rango disponible de uno de los grupos regionales, de unidades de negocio y de entornos.

AWS general, administrador de redes, ingeniero de redes

Valide la asignación de rangos de CIDR.

  1. Abra la consola del Administrador de direcciones IP.

  2. En el panel de navegación, elija Panel.

  3. En el panel, compruebe que el rango de CIDR se haya asignado a la VPC que creó.

AWS general, administrador de redes, ingeniero de redes

Supervise el Administrador de direcciones IP.

Configure la supervisión y las alarmas relacionadas con la asignación de los recursos del Administrador de direcciones IP. Para obtener más información e instrucciones, consulta Supervisar el IPAM con Amazon CloudWatch y Supervisar el uso del CIDR por recurso en la documentación del administrador de direcciones IP.

AWS general

Imponga el uso del Administrador de direcciones IP.

Cree una política de control de servicios (SCP) AWS Organizations que exija a los miembros de su organización utilizar el administrador de direcciones IP al crear una VPC. Para obtener instrucciones, consulte Exigir el uso de IPAM para la creación de VPC en la SCPs documentación del Administrador de direcciones IP.

AWS general, administrador de AWS

Resolución de problemas

ProblemaSolución

Se produce un error en Terraform y no se encuentra el recurso del Administrador de direcciones IP

Asegúrese de que la cuenta de administrador del administrador de direcciones IP esté debidamente delegada y de que su AWS proveedor esté autenticado en esa cuenta.

Se produce un error en la asignación de rangos de CIDR

Compruebe que el rango de CIDR solicitado se ajuste al rango disponible del grupo del Administrador de direcciones IP y no se solape con las asignaciones existentes.

AWS RAM problemas de uso compartido

Compruebe que el uso compartido de recursos esté habilitado en su AWS organización. Compruebe que el principal correcto, el Amazon Resource Name (ARN) de la organización, se utilice en el AWS RAM recurso compartido.

Errores de validación de la jerarquía de grupos

Asegúrese de que los rangos de CIDR del grupo secundario estén correctamente contenidos dentro de los rangos de CIDR del grupo principal y no se solapen con los grupos del mismo nivel.

Se ha superado el límite de cuota del Administrador de direcciones IP

Solicite un aumento de cuota para los grupos del Administrador de direcciones IP. Para obtener más información, consulte Solicitud de aumento de cuota en la Guía del usuario de Service Quotas.

Recursos relacionados

Servicio de AWS documentación

AWS publicaciones de blog

Videos y tutoriales

Información adicional

Integración con AFT

Puede integrar esta solución con AWS Control Tower Account Factory for Terraform (AFT) para asegurarse de que las cuentas recién aprovisionadas reciban automáticamente las configuraciones de red adecuadas. Al implementar esta solución de IPAM en su cuenta central de red, las nuevas cuentas creadas a través de AFT pueden hacer referencia a los grupos de administradores de direcciones IP compartidos al crearlos. VPCs

El siguiente ejemplo de código muestra la integración de AFT en la personalización de una cuenta mediante AWS Systems Manager Parameter Store:

# Get the IP Address Manager pool ID from Parameter Store data "aws_ssm_parameter" "dev_ipam_pool_id" { name = "/org/network/ipam/finance/dev/pool-id" } # Create a VPC using the IP Address Manager pool resource "aws_vpc" "this" { ipv4_ipam_pool_id = data.aws_ssm_parameter.dev_ipam_pool_id.value ipv4_netmask_length = 24 tags = { Name = "aft-account-vpc" } }

Estrategia de etiquetado

La solución implementa una estrategia de etiquetado integral para simplificar la administración de los recursos. En el siguiente ejemplo de código se muestra cómo se usa:

# Example tag configuration module "tags" { source = "./modules/tags" # Required tags product_name = "enterprise-network" feature_name = "ipam" org_id = "finance" business_unit = "network-operations" owner = "network-team" environment = "prod" repo = "https://github.com/myorg/ipam-terraform" branch = "main" cost_center = "123456" dr_tier = "tier1" # Optional tags optional_tags = { "project" = "network-modernization" "stack_role" = "infrastructure" } }

Estas etiquetas se aplican automáticamente a todos los recursos del Administrador de direcciones IP. Esto simplifica la coherencia de la gobernanza, la asignación de costos y la administración de recursos.