

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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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`
<a name="intrinsic-function-reference-getavailabilityzones"></a>

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 del `describe-availability-zones` AWS CLI comando, l'ordine dei risultati della `Fn::GetAZs` funzione non è garantito e può cambiare 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
<a name="intrinsic-function-reference-getazs-declaration"></a>

### JSON
<a name="intrinsic-function-reference-getazs-syntax.json"></a>

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

### YAML
<a name="intrinsic-function-reference-getazs-syntax.yaml"></a>

Sintassi per il nome completo della funzione:

```
Fn::GetAZs: region
```

Sintassi per la forma breve:

```
!GetAZs region
```

## Parameters
<a name="intrinsic-function-reference-getazs-parameters"></a>

region  <a name="region"></a>
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
<a name="intrinsic-function-reference-getazs-return-value"></a>

Elenco delle zone di disponibilità per la Regione.

## Esempi
<a name="intrinsic-function-reference-getazs-examples"></a>

### Valutazione di una Regione
<a name="intrinsic-function-reference-getazs-examples-evaluate-region"></a>

Per questi esempi, CloudFormation restituisce la seguente `Fn::GetAZs` 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
<a name="intrinsic-function-reference-getazs-example1.json"></a>

```
1. { "Fn::GetAZs" : "" }
2. { "Fn::GetAZs" : { "Ref" : "AWS::Region" } }
3. { "Fn::GetAZs" : "us-east-1" }
```

#### YAML
<a name="intrinsic-function-reference-getazs-example1.yaml"></a>

```
1. Fn::GetAZs: ""
2. Fn::GetAZs:
3.   Ref: "AWS::Region"
4. Fn::GetAZs: us-east-1
```

 

### Specifica la zona di disponibilità di una sottorete
<a name="intrinsic-function-reference-getazs-examples-subnet-az"></a>

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

#### JSON
<a name="intrinsic-function-reference-getazs-example.json"></a>

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

#### YAML
<a name="intrinsic-function-reference-getazs-example.yaml"></a>

```
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
<a name="intrinsic-function-reference-getazs-examples-nested-functions"></a>

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
<a name="intrinsic-function-reference-getavailabilityzones-example3.yaml"></a>

```
1. AvailabilityZone: !Select
2.   - 0
3.   - !GetAZs
4.     Ref: 'AWS::Region'
```

#### YAML
<a name="intrinsic-function-reference-getavailabilityzones-example4.yaml"></a>

```
1. AvailabilityZone: !Select
2.   - 0
3.   - Fn::GetAZs: !Ref 'AWS::Region'
```

## Funzioni supportate
<a name="intrinsic-function-reference-getazs-supported-functions"></a>

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