Dies ist das neue CloudFormation Template Reference Guide. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe bei den ersten Schritten mit CloudFormation finden Sie im AWS CloudFormation Benutzerhandbuch.
Fn::GetAZs
Die intrinsische Funktion Fn::GetAZs gibt ein Array mit einer Liste der Availability Zones für eine angegebene Region in alphabetischer Reihenfolge zurück. Da Kunden Zugriff auf verschiedene Availability Zones haben, ermöglicht die intrinsische Funktion Fn::GetAZs die Erstellung von Vorlagen, die sich an den Zugriff des aufrufenden Benutzers anpassen. Dadurch ist es nicht erforderlich, eine vollständige Liste der Availability Zones für eine bestimmte Region im Code explizit anzugeben.
Wichtig
Die Funktion Fn::GetAZs gibt nur die Availability Zones zurück, die über ein Standardsubnetz verfügen, es sei denn, keine der Availability Zones verfügt über ein Standardsubnetz. In diesem Fall werden alle Availability Zones zurückgegeben.
Ähnlich wie bei der Rückgabe des describe-availability-zones AWS CLI-Befehls ist die Reihenfolge der Ergebnisse der Fn::GetAZs-Funktion nicht garantiert und kann sich ändern, wenn neue Availability Zones hinzugefügt werden.
IAM-Berechtigungen
Die Berechtigungen, die Sie zum Aufrufen der Funktion Fn::GetAZs benötigen, hängen von der Plattform ab, auf der Sie Amazon EC2 Instances starten. Bei beiden Plattformen benötigen Sie die Berechtigungen für die Amazon EC2-Aktionen DescribeAvailabilityZones und DescribeAccountAttributes. Bei EC2-VPC benötigen Sie auch Berechtigungen für die Amazon EC2-Aktion DescribeSubnets.
Deklaration
JSON
{ "Fn::GetAZs" : "region" }
YAML
Syntax für den vollständigen Funktionsnamen:
Fn::GetAZs:region
Syntax für die Kurzform:
!GetAZsregion
Parameter
- region
-
Der Name der Region, für die Sie die Availability Zones abrufen möchten.
Sie können mit dem Pseudoparameter
AWS::Regiondie Region angeben, in welcher der Stack erstellt wird. Die Angabe einer leeren Zeichenfolge entspricht der Angabe vonAWS::Region.
Rückgabewert
Die Liste der Availability Zones für die Region.
Beispiele
Bewerten einer Region
In diesen Beispielen wertet CloudFormation Fn::GetAZs zum folgenden Array aus— vorausgesetzt, dass der Benutzer den Stack in der Region us-east-1 erstellt hat:
[ "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
Die Availability Zone eines Subnetzes angeben
Im folgenden Beispiel wird mit Fn::GetAZs die Availability Zone (AZ) eines Subnetzes angegeben:
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: ""
Verschachtelte Funktionen mit YAML in Kurzschreibweise
Die folgenden Beispiele zeigen gültige Muster für die Nutzung von verschachtelten intrinsischen Funktionen mit der Kurzschreibweise von YAML. Sie können Funktionen in Kurzschreibweise nicht nacheinander verschachteln, daher ist ein Muster wie !GetAZs !Ref ungültig.
YAML
AvailabilityZone: !Select - 0 - !GetAZs Ref: 'AWS::Region'
YAML
AvailabilityZone: !Select - 0 - Fn::GetAZs: !Ref 'AWS::Region'
Unterstützte Funktionen
Sie können die Funktion Ref in der Funktion Fn::GetAZs verwenden.