Fn::GetAZs - AWS CloudFormation

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.

Fn::GetAZs

La fonction intrinsèque Fn::GetAZs renvoie un tableau qui répertorie les zones de disponibilité d’une région donnée en ordre alphabétique. Etant donné que les clients ont accès à différentes zones de disponibilité, la fonction intrinsèque Fn::GetAZs permet aux auteurs d'écrire des modèles qui s'adaptent à l'accès de l'utilisateur appelant. De cette façon, vous n’avez pas à coder en dur une liste complète de zones de disponibilité pour une région donnée.

Important

La fonction Fn::GetAZs renvoie uniquement les zones de disponibilité qui ont un sous-réseau par défaut, sauf si aucune d'elles n'a de sous-réseau par défaut. Dans ce cas, toutes les zones de disponibilité sont renvoyées.

À l'instar de la réponse du describe-availability-zones AWS CLI commande, l'ordre des résultats de la Fn::GetAZs fonction n'est pas garanti et peut changer lorsque de nouvelles zones de disponibilité sont ajoutées.

IAMautorisations

Les autorisations dont vous avez besoin pour utiliser la Fn::GetAZs fonction dépendent de la plateforme sur laquelle vous lancez les EC2 instances Amazon. Pour les deux plateformes, vous avez besoin d'autorisations pour accéder à Amazon EC2 DescribeAvailabilityZones et d'DescribeAccountAttributesactions. Pour EC2 -VPC, vous devez également disposer d'autorisations pour effectuer l'EC2DescribeSubnetsaction Amazon.

Déclaration

JSON

{ "Fn::GetAZs" : "region" }

YAML

Syntaxe pour le nom complet de la fonction :

Fn::GetAZs: region

Syntaxe pour la forme courte :

!GetAZs region

Paramètres

region

Nom de la région pour laquelle vous souhaitez obtenir les zones de disponibilité.

Vous pouvez utiliser le pseudo-paramètre AWS::Region pour spécifier la région dans laquelle la pile est créée. La définition d'une chaîne vide revient à spécifier AWS::Region.

Valeur renvoyée

Liste des zones de disponibilité de la région.

Exemples

Évaluer une région.

Pour ces exemples, CloudFormation évalue Fn::GetAZs le tableau suivant, en supposant que l'utilisateur a créé la pile dans la région : us-east-1

[ "us-east-1a", "us-east-1b", "us-east-1c", "us-east-1d", "us-east-1e" ]

JSON

{ "Fn::GetAZs" : "" } { "Fn::GetAZs" : { "Ref" : "AWS::Region" } } { "Fn::GetAZs" : "us-east-1" }

YAML

Fn::GetAZs: "" Fn::GetAZs: Ref: "AWS::Region" Fn::GetAZs: us-east-1

 

Spécification de la zone de disponibilité d'un sous-réseau

L'exemple suivant utilise Fn::GetAZs pour spécifier la zone de disponibilité d'un sous-réseau :

JSON

"mySubnet" : { "Type" : "AWS::EC2::Subnet", "Properties" : { "VpcId" : { "Ref" : "VPC" }, "CidrBlock" : "10.0.0.0/24", "AvailabilityZone" : { "Fn::Select" : [ 0, { "Fn::GetAZs" : "" } ] } } }

YAML

mySubnet: Type: "AWS::EC2::Subnet" Properties: VpcId: !Ref VPC CidrBlock: 10.0.0.0/24 AvailabilityZone: Fn::Select: - 0 - Fn::GetAZs: ""

 

Fonctions imbriquées avec forme abrégée YAML

Les exemples suivants montrent des modèles valides pour l'utilisation de fonctions intrinsèques imbriquées sous forme YAML abrégée. Comme vous ne pouvez pas imbriquer consécutivement des fonctions de forme courte, un modèle tel que !GetAZs !Ref n'est pas valide.

YAML

AvailabilityZone: !Select - 0 - !GetAZs Ref: 'AWS::Region'

YAML

AvailabilityZone: !Select - 0 - Fn::GetAZs: !Ref 'AWS::Region'

Fonctions prises en charge

Vous pouvez utiliser la fonction Ref dans la Fn::GetAZs fonction.