Fn::GetAZs - AWS CloudFormation

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

JSON

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

YAML

Sintaks untuk nama fungsi penuh:

Fn::GetAZs: region

Sintaks untuk bentuk pendek:

!GetAZs region

Parameter

region

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

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

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.