Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisez des zones de disponibilité cohérentes VPCs sur les différents comptes AWS
Créée par Adam Spicer (AWS)
Récapitulatif
Sur le cloud Amazon Web Services (AWS), le nom d'une zone de disponibilité peut varier selon vos comptes AWS et un ID de zone de disponibilité (AZ ID) qui identifie son emplacement. Si vous utilisez AWS CloudFormation pour créer des clouds privés virtuels (VPCs), vous devez spécifier le nom ou l'ID de la zone de disponibilité lors de la création des sous-réseaux. Si vous créez VPCs plusieurs comptes, le nom de la zone de disponibilité est aléatoire, ce qui signifie que les sous-réseaux utilisent des zones de disponibilité différentes dans chaque compte.
Pour utiliser la même zone de disponibilité sur tous vos comptes, vous devez associer le nom de la zone de disponibilité de chaque compte au même AZ ID. Par exemple, le schéma suivant montre que l'ID use1-az6
AZ est nommé us-east-1a
dans le compte AWS A et us-east-1c
dans le compte AWS Z.

Ce modèle permet de garantir la cohérence zonale en fournissant une solution évolutive entre comptes permettant d'utiliser les mêmes zones de disponibilité dans vos sous-réseaux. La cohérence zonale garantit que le trafic réseau entre comptes évite les chemins réseau entre zones de disponibilité, ce qui permet de réduire les coûts de transfert de données et de réduire la latence réseau entre vos charges de travail.
Ce modèle constitue une approche alternative à la CloudFormation AvailabilityZoneId propriété AWS.
Conditions préalables et limitations
Prérequis
Au moins deux comptes AWS actifs dans la même région AWS.
Évaluez le nombre de zones de disponibilité nécessaires pour répondre à vos besoins en matière de VPC dans la région.
Identifiez et enregistrez l'ID AZ pour chaque zone de disponibilité que vous devez prendre en charge. Pour plus d'informations à ce sujet, consultez la section Zone IDs de disponibilité de vos ressources AWS dans la documentation d'AWS Resource Access Manager.
Une liste ordonnée, séparée par des virgules, de votre AZ. IDs Par exemple, la première zone de disponibilité de votre liste est mappée en tant que
az1
, la seconde zone de disponibilité est mappée en tant queaz2
, et cette structure de mappage continue jusqu'à ce que votre liste séparée par des virgules soit entièrement mappée. Il n'y a pas de nombre maximum d'AZ IDs qui peuvent être mappés.Le
az-mapping.yaml
fichier du référentiel de mappage des zones de disponibilité GitHub multicomptes, copié sur votre machine locale
Architecture
Le schéma suivant montre l'architecture déployée dans un compte et qui crée les valeurs de l'AWS Systems Manager Parameter Store. Ces valeurs du Parameter Store sont consommées lorsque vous créez un VPC dans le compte.

Le schéma suivant illustre le flux de travail suivant :
La solution de ce modèle est déployée sur tous les comptes qui nécessitent une cohérence zonale pour un VPC.
La solution crée des valeurs de magasin de paramètres pour chaque ID AZ et stocke le nouveau nom de zone de disponibilité.
Le CloudFormation modèle AWS utilise le nom de la zone de disponibilité stocké dans chaque valeur du magasin de paramètres, ce qui garantit la cohérence zonale.
Le schéma suivant montre le flux de travail pour créer un VPC avec la solution de ce modèle.

Le schéma suivant illustre le flux de travail suivant :
Soumettez un modèle pour créer un VPC à AWS. CloudFormation
AWS CloudFormation résout les valeurs du magasin de paramètres pour chaque zone de disponibilité et renvoie le nom de la zone de disponibilité pour chaque ID AZ.
Un VPC est créé avec la bonne AZ IDs requise pour la cohérence zonale.
Après avoir déployé la solution de ce modèle, vous pouvez créer des sous-réseaux qui font référence aux valeurs du Parameter Store. Si vous utilisez AWS CloudFormation, vous pouvez référencer les valeurs des paramètres de mappage de la zone de disponibilité à partir de l'exemple de code au format YAML suivant :
Resources:
PrivateSubnet1AZ1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref VPC
CidrBlock: !Ref PrivateSubnetAZ1CIDR
AvailabilityZone:
!Join
- ''
- - '{{resolve:ssm:/az-mapping/az1:1}}'
Cet exemple de code est contenu dans le vpc-example.yaml
fichier du référentiel de mappage des zones de disponibilité GitHub multicomptes
Pile technologique
AWS CloudFormation
AWS Lambda
AWS Systems Manager Parameter Store
Automatisation et mise à l'échelle
Vous pouvez déployer ce modèle sur tous vos comptes AWS à l'aide d'AWS CloudFormation StackSets ou de la solution Customizations for AWS Control Tower. Pour plus d'informations, consultez Working with AWS CloudFormation StackSets dans la documentation AWS Cloudformation et Customizations for AWS Control Tower dans la
Après avoir déployé le CloudFormation modèle AWS, vous pouvez le mettre à jour pour utiliser les valeurs du Parameter Store et le déployer VPCs dans des pipelines ou selon vos besoins.
Outils
Services AWS
AWS vous CloudFormation aide à modéliser et à configurer vos ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie. Vous pouvez utiliser un modèle pour décrire vos ressources et leurs dépendances, puis les lancer et les configurer ensemble sous forme de pile, au lieu de gérer les ressources individuellement. Vous pouvez gérer et approvisionner des piles sur plusieurs comptes AWS et régions AWS.
AWS Lambda est un service de calcul qui prend en charge l'exécution de code sans provisionner ni gérer de serveurs. Lambda exécute le code uniquement lorsque cela est nécessaire et se met à l’échelle automatiquement, qu’il s’agisse de quelques requêtes par jour ou de milliers de requêtes par seconde. Vous payez uniquement le temps de calcul que vous utilisez. Vous n'exposez aucuns frais quand votre code n'est pas exécuté.
AWS Systems Manager Parameter Store est une fonctionnalité d'AWS Systems Manager. Il fournit un stockage hiérarchique sécurisé pour la gestion des données de configuration et la gestion des secrets.
Code
Le code de ce modèle est fourni dans le référentiel de mappage des zones de disponibilité GitHub multicomptes
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Déterminez les zones de disponibilité requises pour la région. |
| Architecte du cloud |
Déployez le fichier az-mapping.yaml. | Utilisez le Nous vous recommandons d'utiliser AWS CloudFormation StackSets ou la solution Customizations for AWS Control Tower | Architecte du cloud |
Tâche | Description | Compétences requises |
---|---|---|
Personnalisez les CloudFormation modèles AWS. | Lorsque vous créez les sous-réseaux à l'aide d'AWS CloudFormation, personnalisez les modèles pour utiliser les valeurs du magasin de paramètres que vous avez créées précédemment. Pour un exemple de modèle, consultez le | Architecte du cloud |
Déployez le VPCs. | Déployez les CloudFormation modèles AWS personnalisés dans vos comptes. Chaque VPC de la région possède alors une cohérence zonale dans les zones de disponibilité utilisées pour les sous-réseaux. | Architecte du cloud |
Ressources connexes
Zone de disponibilité IDs pour vos ressources AWS (documentation AWS Resource Access Manager)
AWS::EC2::Subnet( CloudFormation documentation AWS)