Fn::Cidr - AWS CloudFormation

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fn::Cidr

Die systeminterne Funktion Fn::Cidr gibt ein Array von Adressblöcken zurück. CIDR Die Anzahl der zurückgegebenen CIDR Blöcke hängt vom Parameter ab. count

Deklaration

JSON

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

YAML

Syntax für den vollständigen Funktionsnamen:

Fn::Cidr: - ipBlock - count - cidrBits

Syntax für die Kurzform:

!Cidr [ ipBlock, count, cidrBits ]

Parameter

ipBlock

Der vom Benutzer angegebene CIDR Adressblock, der in kleinere CIDR Blöcke aufgeteilt werden soll.

count

Die Anzahl der CIDRs zu generierenden. Der gültige Bereich liegt zwischen 1 und 256.

cidrBits

Die Anzahl der Subnetz-Bits für dieCIDR. Wenn Sie beispielsweise den Wert „8“ für diesen Parameter angeben, wird ein Wert CIDR mit der Maske „/24“ erstellt.

Anmerkung

Subnetz-Bits ist der invertierte Wert der Subnetzmaske. Um die erforderlichen Hostbits für ein bestimmtes Subnetz zu berechnen, subtrahieren Sie die Subnetzbits von 32 für oder 128 für. IPv4 IPv6

Rückgabewert

Eine Reihe von Adressblöcken. CIDR

Beispiel

Grundlegende Verwendung

In diesem Beispiel werden 6 CIDRs mit der Subnetzmaske „/27" innerhalb von A CIDR mit der Maske „/24" erstellt.

JSON

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

YAML

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

Erstellen eines aktivierten IPv6 VPC

Diese Beispielvorlage erstellt ein IPv6 aktiviertes Subnetz.

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

Unterstützte Funktionen

Sie können die folgenden Funktionen in einer Fn::Cidr-Funktion verwenden: