Fn::GetAZs - AWS CloudFormation

Ini adalah Panduan Referensi AWS CloudFormation Template baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat Panduan AWS CloudFormation Pengguna.

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

Fn::GetAZs

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::GetAZsFungsi 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 EC2 instans Amazon. Untuk kedua platform, Anda memerlukan izin ke Amazon EC2 DescribeAvailabilityZones dan DescribeAccountAttributes tindakan. Untuk EC2 -VPC, Anda juga memerlukan izin untuk tindakan Amazon. EC2 DescribeSubnets

Pernyataan

JSON

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

YAML

Sintaks untuk nama fungsi penuh:

Fn::GetAZs: region

Sintaks untuk bentuk pendek:

!GetAZs region

Parameter

region

Nama Wilayah tempat Anda ingin mendapatkan Availability Zone.

Anda dapat menggunakan parameter AWS::Region semu untuk menentukan Wilayah tempat tumpukan dibuat. Penentuan string kosong setara dengan penentuan AWS::Region.

Nilai yang dikembalikan

Daftar Availability Zone untuk Wilayah tersebut.

Contoh

Mengevaluasi Wilayah

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

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

 

Menentukan Availability Zone subnet

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

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

 

Fungsi ber-nest dengan YAML bentuk singkat

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

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

YAML

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

Fungsi yang didukung

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