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:
!GetAZsregion
Parametri
- region
-
Nome della Regione per la quale desideri ottenere le zone di disponibilità.
Puoi utilizzare lo pseudoparametro
AWS::Regionper specificare la Regione in cui viene creato lo stack. La specifica di una stringa vuota equivale a specificareAWS::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.