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
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 comoaz2
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.
En el diagrama, se muestra el siguiente flujo de trabajo:
La solución de este patrón se implementa en todas las cuentas que requieren coherencia zonal para unVPC.
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.
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.
En el diagrama, se muestra el siguiente flujo de trabajo:
Envíe una plantilla para crear un VPC to AWS CloudFormation.
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.
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.
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
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
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Determine las zonas de disponibilidad requeridas para la región. |
| Arquitecto de la nube |
Implemente el archivo az-mapping.yaml. | Usa el Le recomendamos que utilice AWS CloudFormation StackSetsla solución Customizations for AWS Control Tower | Arquitecto de la nube |
Tarea | Descripción | Habilidades 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 | 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
Zona de disponibilidad IDs para sus AWS recursos (documentación AWS de Resource Access Manager)
AWS:EC2: :Subnet (documentación) AWS CloudFormation