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.

De même que pour la réponse de la commande describe-availability-zones de l'AWS CLI, l'ordre des résultats de la fonction Fn::GetAZs n'est pas garanti et peut changer quand de nouvelles zones de disponibilité sont ajoutées.

Autorisations IAM

Les autorisations dont vous avez besoin pour pouvoir utiliser la fonction Fn::GetAZs dépendent de la plateforme sur laquelle vous lancez les instances Amazon EC2. Pour les deux plateformes, vous avez besoin des autorisations requises pour les actions Amazon EC2 DescribeAvailabilityZones et DescribeAccountAttributes. Pour EC2-VPC, vous devez également disposer des autorisations requises pour l'action Amazon EC2 DescribeSubnets.

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" ]

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 courte YAML

Les exemples suivants illustrent des modèles valides pour l'utilisation des fonctions intrinsèque imbriquées à l'aide d'une forme YAML courte. 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 fonction Fn::GetAZs.