Fn::Cidr - AWS CloudFormation

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

La funzione Fn::Cidr intrinseca restituisce una matrice di blocchi di indirizzi. CIDR Il numero di CIDR blocchi restituiti dipende dal count parametro.

Dichiarazione

JSON

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

YAML

Sintassi per il nome completo della funzione:

Fn::Cidr: - ipBlock - count - cidrBits

Sintassi per la forma breve:

!Cidr [ ipBlock, count, cidrBits ]

Parametri

ipBlock

Il blocco di CIDR indirizzi specificato dall'utente da suddividere in CIDR blocchi più piccoli.

count

Il numero di CIDRs da generare. L'intervallo valido è 1–256.

cidrBits

Il numero di bit di sottorete per. CIDR Ad esempio, specificando un valore «8" per questo parametro si creerà un valore CIDR con una maschera pari a «/24".

Nota

I bit di sottorete sono l'inverso della subnet mask. Per calcolare i bit host richiesti per un determinato bit di sottorete, sottrai i bit di sottorete da 32 per o 128 per. IPv4 IPv6

Valore restituito

Una serie di blocchi di indirizzi. CIDR

Esempio

Utilizzo di base

Questo esempio crea 6 CIDRs con una subnet mask «/27" all'interno di una CIDR con una maschera «/24".

JSON

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

YAML

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

IPv6Creazione di un file abilitato VPC

Questo modello di esempio crea una sottorete IPv6 abilitata.

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

Funzioni supportate

È possibile utilizzare le funzioni seguenti in una funzione Fn::Cidr.