Utilice zonas de disponibilidad coherentes en VPCs diferentes AWS cuentas - 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.

Utilice zonas de disponibilidad coherentes en VPCs diferentes AWS cuentas

Creado por Adam Spicer () AWS

Repositorio de código: mapeo de zonas de disponibilidad multicuenta

Entorno: producción

Tecnologías: bases de datos; infraestructura

AWSservicios: AWS CloudFormation; AmazonVPC; AWS Lambda

Resumen

En la nube de Amazon Web Services (AWS), una zona de disponibilidad tiene un nombre que puede variar entre sus AWS cuentas y un ID de zona de disponibilidad (AZ ID) que identifica su ubicación. Si utiliza AWS CloudFormation nubes privadas virtuales (VPCs), debe especificar el nombre o el ID de la zona de disponibilidad al crear las subredes. Si crea VPCs en varias cuentas, el nombre de la zona de disponibilidad es aleatorio, lo que significa que las subredes utilizan distintas zonas de disponibilidad en cada cuenta. 

Para usar la misma zona de disponibilidad en todas sus cuentas, debe asignar el nombre de la zona de disponibilidad de cada cuenta al mismo Identificador de zona de disponibilidad. Por ejemplo, en el siguiente diagrama se muestra que el use1-az6 ID de zona de acceso se nombra us-east-1a en la AWS cuenta A y us-east-1c en la cuenta Z. AWS

El ID AZ use1-az6 se denomina us-east-1a en la cuenta A y us-east-1c en AWS la cuenta Z. AWS

Este patrón ayuda a garantizar la coherencia zonal al proporcionar una solución escalable y multicuenta para utilizar las mismas zonas de disponibilidad en sus subredes. La coherencia zonal garantiza que el tráfico de red entre cuentas evite las rutas de red entre zonas de disponibilidad, lo que ayuda a reducir los costos de transferencia de datos y a reducir la latencia de red entre las cargas de trabajo.

Este patrón es una aproximación alternativa a la propiedad. AWS CloudFormation AvailabilityZoneId

Requisitos previos y limitaciones

Requisitos previos 

  • Al menos dos AWS cuentas activas en la misma AWS región.

  • Evalúe cuántas zonas de disponibilidad se necesitan para satisfacer sus VPC requisitos en la región.

  • Identifique y registre el Identificador de zona de disponibilidad para cada zona de disponibilidad que necesite admitir. Para obtener más información al respecto, consulte Availability Zone IDs para sus AWS recursos en la documentación de AWS Resource Access Manager.  

  • Una lista ordenada y separada por comas de su zona de disponibilidad. IDs Por ejemplo, la primera zona de disponibilidad de la lista se mapea como az1, la segunda zona de disponibilidad se mapea como az2 y esta estructura de mapeo continúa hasta que la lista separada por comas esté completamente mapeada. No hay un número máximo de AZ IDs que se puedan mapear. 

  • El az-mapping.yaml archivo del repositorio de mapeo de zonas de disponibilidad de GitHub múltiples cuentas, copiado en su máquina local

Arquitectura

El siguiente diagrama muestra la arquitectura que se implementa en una cuenta y que crea AWS los valores del almacén de parámetros de Systems Manager. Estos valores del almacén de parámetros se consumen al crear un VPC en la cuenta.

Flujo de trabajo para crear valores de almacén de parámetros de Systems Manager para cada ID de AZ y almacenar el nombre de AZ.

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

  1. La solución de este patrón se implementa en todas las cuentas que requieren coherencia zonal para unVPC. 

  2. La solución crea valores de almacén de parámetros para cada Identificador de zona de disponibilidad y almacena el nombre de la nueva zona de disponibilidad. 

  3. La AWS CloudFormation plantilla utiliza el nombre de la zona de disponibilidad almacenado en cada valor del almacén de parámetros, lo que garantiza la coherencia zonal.

El siguiente diagrama muestra el flujo de trabajo para crear una VPC con la solución de este patrón.

El flujo de trabajo envía una CloudFormation plantilla para crear una VPC con la AZ IDs correcta.

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

  1. Envíe una plantilla para crear un VPC to AWS CloudFormation.

  2. AWS CloudFormation resuelve los valores del almacén de parámetros de cada zona de disponibilidad y devuelve el nombre de la zona de disponibilidad de cada ID de zona de disponibilidad.

  3. A VPC se crea con la AZ correcta IDs necesaria para garantizar la coherencia zonal.

Tras implementar la solución de este patrón, puede crear subredes que hagan referencia a los valores del almacén de parámetros. Si lo usa AWS CloudFormation, puede hacer referencia a los valores de los parámetros de mapeo de zonas de disponibilidad a partir del siguiente código de ejemplo con el siguiente YAML formato:

Resources: PrivateSubnet1AZ1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPC CidrBlock: !Ref PrivateSubnetAZ1CIDR AvailabilityZone: !Join - '' - - '{{resolve:ssm:/az-mapping/az1:1}}'

Este código de ejemplo se incluye en el vpc-example.yaml  archivo del repositorio de mapeo de zonas de disponibilidad de GitHub varias cuentas. Muestra cómo crear subredes a VPC y que se alineen con los valores del almacén de parámetros para garantizar la coherencia zonal.

Pila de tecnología

  • AWS CloudFormation

  • AWSLambda

  • AWSAlmacén de parámetros de Systems Manager

Automatizar y escalar

Puede implementar este patrón en todas sus AWS cuentas mediante AWS CloudFormation StackSets la solución Customizations for AWS Control Tower. Para obtener más información, consulte Trabajar con AWS CloudFormation StackSets en la documentación de AWS Cloudformation y Personalizaciones para AWS Control Tower en la biblioteca de AWS soluciones. 

Después de implementar la AWS CloudFormation plantilla, puede actualizarla para usar los valores del almacén de parámetros e implementarla VPCs en canalizaciones o según sus necesidades. 

Herramientas

AWSservicios

  • AWS CloudFormationle ayuda a modelar y configurar sus AWS recursos, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida. Facilita poder usar una plantilla para describir los recursos y sus dependencias, y lanzarlos y configurarlos juntos como una pila, en lugar de administrarlos de forma individual. Puede gestionar y aprovisionar pilas en varias AWS cuentas y AWS regiones.

  • AWSLambda es un servicio informático que admite la ejecución de código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Solo pagará por el tiempo de computación que consuma, no se aplican cargos cuando el código no se está ejecutando.

  • AWSEl almacén de parámetros de Systems Manager es una capacidad de AWS Systems Manager. Proporciona un almacenamiento seguro y jerárquico para administrar los datos de configuración y los secretos.

Código

El código de este patrón se proporciona en el repositorio de mapeo de zonas de disponibilidad de GitHub varias cuentas.

Epics

TareaDescripciónHabilidades requeridas

Determine las zonas de disponibilidad requeridas para la región.

  1. Determine la zona de IDs disponibilidad que debe utilizarse de forma coherente en su región. 

  2. Registre estas AZ IDs en una lista separada por comas y en el orden en que desee aplicarlas. Por ejemplo, la primera zona de disponibilidad de la lista se mapea como az1 y la segunda se mapea como az2. No hay un número máximo de AZ IDs que se puedan mapear.

Arquitecto de la nube

Implemente el archivo az-mapping.yaml.

Usa el az-mapping.yaml archivo para crear una AWS CloudFormation pila en todas las AWS cuentas requeridas. En el parámetro AZIds, utilice la lista separada por comas que creó anteriormente. 

Le recomendamos que utilice AWS CloudFormation StackSetsla solución Customizations for AWS Control Tower.

Arquitecto de la nube
TareaDescripciónHabilidades requeridas

Personaliza las AWS CloudFormation plantillas.

Al crear las subredes con AWS CloudFormation, personalice las plantillas para que utilicen los valores del almacén de parámetros que creó anteriormente.

Para ver una plantilla de ejemplo, consulte el vpc-example.yaml archivo en el repositorio de mapeo de zonas de disponibilidad de GitHub varias cuentas.

Arquitecto de la nube

Implemente elVPCs.

Implemente las AWS CloudFormation plantillas personalizadas en sus cuentas. Por lo VPC tanto, cada una de las regiones tiene coherencia zonal en las zonas de disponibilidad utilizadas para las subredes

Arquitecto de la nube

Recursos relacionados