Fn::Cidr - AWS CloudFormation

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

Fn::Cidr

Fungsi intrinsik Fn::Cidr mengembalikan array blok CIDR alamat. Jumlah CIDR blok yang dikembalikan tergantung pada count parameter.

Pernyataan

JSON

{ "Fn::Cidr" : [ipBlock, count, cidrBits]}

YAML

Sintaks untuk nama fungsi penuh:

Fn::Cidr: - ipBlock - count - cidrBits

Sintaks untuk bentuk pendek:

!Cidr [ ipBlock, count, cidrBits ]

Parameter

ipBlock

Blok CIDR alamat yang ditentukan pengguna akan dibagi menjadi blok yang lebih kecilCIDR.

count

Jumlah CIDRs untuk menghasilkan. Kisaran valid adalah antara 1 hingga 256.

cidrBits

Jumlah bit subnet untuk file. CIDR Misalnya, menentukan nilai “8" untuk parameter ini akan membuat CIDR dengan topeng “/24".

catatan

Bit subnet adalah kebalikan dari subnet mask. Untuk menghitung bit host yang diperlukan untuk bit subnet tertentu, kurangi bit subnet dari 32 untuk IPv4 atau 128 untuk. IPv6

Nilai yang dikembalikan

Array blok CIDR alamat.

Contoh

Penggunaan dasar

Contoh ini membuat 6 CIDRs dengan subnet mask “/27" di dalam dari CIDR dengan topeng “/24".

JSON

{ "Fn::Cidr" : [ "192.168.0.0/24", "6", "5"] }

YAML

!Cidr [ "192.168.0.0/24", 6, 5 ]

Membuat IPv6 diaktifkan VPC

Contoh template ini membuat subnet IPv6 diaktifkan.

JSON

{ "Resources": { "ExampleVpc": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.0.0.0/16" } }, "IPv6CidrBlock": { "Type": "AWS::EC2::VPCCidrBlock", "Properties": { "AmazonProvidedIpv6CidrBlock": true, "VpcId": { "Ref": "ExampleVpc" } } }, "ExampleSubnet": { "Type": "AWS::EC2::Subnet", "DependsOn": "IPv6CidrBlock", "Properties": { "AssignIpv6AddressOnCreation": true, "CidrBlock": { "Fn::Select": [ 0, { "Fn::Cidr": [ { "Fn::GetAtt": [ "ExampleVpc", "CidrBlock" ] }, 1, 8 ] } ] }, "Ipv6CidrBlock": { "Fn::Select": [ 0, { "Fn::Cidr": [ { "Fn::Select": [ 0, { "Fn::GetAtt": [ "ExampleVpc", "Ipv6CidrBlocks" ] } ] }, 1, 64 ] } ] }, "VpcId": { "Ref": "ExampleVpc" } } } } }

YAML

Resources: ExampleVpc: Type: AWS::EC2::VPC Properties: CidrBlock: 10.0.0.0/16 IPv6CidrBlock: Type: AWS::EC2::VPCCidrBlock Properties: AmazonProvidedIpv6CidrBlock: true VpcId: !Ref ExampleVpc ExampleSubnet: Type: AWS::EC2::Subnet DependsOn: IPv6CidrBlock Properties: AssignIpv6AddressOnCreation: true CidrBlock: !Select - 0 - !Cidr - !GetAtt ExampleVpc.CidrBlock - 1 - 8 Ipv6CidrBlock: !Select - 0 - !Cidr - !Select - 0 - !GetAtt ExampleVpc.Ipv6CidrBlocks - 1 - 64 VpcId: !Ref ExampleVpc

Fungsi yang didukung

Anda dapat menggunakan fungsi berikut di fungsi Fn::Cidr: