

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# `Fn::GetAZs`
<a name="intrinsic-function-reference-getavailabilityzones"></a>

Fungsi intrinsik `Fn::GetAZs` mengembalikan array yang mencantumkan Availability Zones untuk Wilayah tertentu dalam urutan abjad. Karena pelanggan memiliki akses ke berbagai Availability Zone, fungsi intrinsik `Fn::GetAZs` memungkinkan penulis templat untuk menulis templat yang beradaptasi terhadap akses pengguna pemanggilan. Dengan begitu Anda tidak perlu membuat hard-code daftar lengkap Availability Zones untuk Wilayah tertentu.

**penting**  
`Fn::GetAZs`Fungsi hanya mengembalikan Availability Zones yang memiliki subnet default kecuali tidak ada Availability Zones yang memiliki subnet default; dalam hal ini, semua Availability Zones dikembalikan.  
Demikian pula dengan respons dari `describe-availability-zones` AWS CLI perintah, urutan hasil dari `Fn::GetAZs` fungsi tidak dijamin dan dapat berubah saat Availability Zone baru ditambahkan.

Izin IAM

Izin yang Anda perlukan untuk menggunakan `Fn::GetAZs` fungsi bergantung pada platform tempat Anda meluncurkan instans Amazon EC2. Untuk kedua platform, Anda memerlukan izin ke Amazon `DescribeAvailabilityZones` EC2 `DescribeAccountAttributes` dan tindakan. Untuk EC2-VPC, Anda juga memerlukan izin untuk tindakan Amazon EC2. `DescribeSubnets`

## Pernyataan
<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>

Sintaks untuk nama fungsi penuh:

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

Sintaks untuk bentuk pendek:

```
!GetAZs {{region}}
```

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

region  <a name="region"></a>
Nama Wilayah yang ingin Anda dapatkan Availability Zones.  
Anda dapat menggunakan parameter `AWS::Region` semu untuk menentukan Wilayah tempat tumpukan dibuat. Penentuan string kosong setara dengan penentuan `AWS::Region`.

## Nilai yang dikembalikan
<a name="intrinsic-function-reference-getazs-return-value"></a>

Daftar Availability Zone untuk Wilayah tersebut.

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

### Mengevaluasi Wilayah
<a name="intrinsic-function-reference-getazs-examples-evaluate-region"></a>

Untuk contoh ini, CloudFormation evaluasi `Fn::GetAZs` ke array berikut—dengan asumsi bahwa pengguna telah membuat tumpukan di Wilayah: `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
```

 

### Menentukan Availability Zone subnet
<a name="intrinsic-function-reference-getazs-examples-subnet-az"></a>

Contoh berikut menggunakan `Fn::GetAZs` untuk menentukan Availability Zone subnet:

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

 

### Fungsi ber-nest dengan YAML bentuk singkat
<a name="intrinsic-function-reference-getazs-examples-nested-functions"></a>

Contoh berikut menunjukkan pola yang valid untuk menggunakan fungsi intrinsik ber-nest menggunakan YAML bentuk singkat. Anda tidak dapat meng-nest fungsi bentuk singkat secara berturut-turut, sehingga pola seperti `!GetAZs !Ref` menjadi tidak valid.

#### 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'
```

## Fungsi yang didukung
<a name="intrinsic-function-reference-getazs-supported-functions"></a>

Anda dapat menggunakan fungsi `Ref` di fungsi `Fn::GetAZs`.