Fn::GetAZs - AWS CloudFormation

Questa è la nuova Guida di riferimento ai modelli CloudFormation . Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida AWS CloudFormation per l'utente.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fn::GetAZs

La funzione intrinseca Fn::GetAZs restituisce una matrice in cui sono elencate le zone di disponibilità per una Regione specifica in ordine alfabetico. Poiché i clienti hanno accesso a diverse zone di disponibilità, la funzione intrinseca Fn::GetAZs consente ai creatori di modelli di scrivere modelli che si adattano al tipo di accesso degli utenti che effettuano la chiamata. In questo modo non è necessario effettuare la codifica fissa di un elenco completo di zone di disponibilità per una determinata Regione.

Importante

La funzione Fn::GetAZs restituisce solo le zone di disponibilità con una sottorete predefinita, a meno che nessuna delle zone di disponibilità disponga di una sottorete predefinita. In questo caso, vengono restituite tutte le zone di disponibilità.

Analogamente alla risposta dal comando describe-availability-zones AWS CLI, l'ordine dei risultati dalla funzione Fn::GetAZs non è garantito e può variare quando vengono aggiunte nuove zone di disponibilità.

Autorizzazioni IAM

Le autorizzazioni necessarie per utilizzare la funzione Fn::GetAZs dipendono dalla piattaforma in cui vengono avviate le istanze Amazon EC2. Per entrambe le piattaforme, hai bisogno delle autorizzazioni per le operazioni Amazon EC2 DescribeAvailabilityZones e DescribeAccountAttributes. Per EC2-VPC, devi disporre anche delle autorizzazioni per l'operazione Amazon EC2 DescribeSubnets.

Dichiarazione

JSON

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

YAML

Sintassi per il nome completo della funzione:

Fn::GetAZs: region

Sintassi per la forma breve:

!GetAZs region

Parametri

region

Nome della Regione per la quale desideri ottenere le zone di disponibilità.

Puoi utilizzare lo pseudoparametro AWS::Region per specificare la Regione in cui viene creato lo stack. La specifica di una stringa vuota equivale a specificare AWS::Region.

Valore restituito

Elenco delle zone di disponibilità per la Regione.

Esempi

Valutazione di una Regione

Per questi esempi, CloudFormation valuta Fn::GetAZs nella seguente matrice —, presupponendo che l'utente abbia creato lo stack nella Regione 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

 

Specifica la zona di disponibilità di una sottorete

L'esempio seguente utilizza Fn::GetAZs per specificare la zona di disponibilità di una sottorete:

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

 

Funzioni nidificate con YAML in formato breve

I seguenti esempi mostrano i modelli validi per l'utilizzo di funzioni intrinseche nidificate che utilizzano YAML in formato breve. Non è possibile nidificare funzioni in formato breve in modo consecutivo. Pertanto, un modello simile a !GetAZs !Ref non è valido.

YAML

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

YAML

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

Funzioni supportate

Puoi utilizzare la funzione Ref nella funzione Fn::GetAZs.