Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fn::Cidr
La fonction intrinsèque Fn::Cidr
renvoie un tableau de blocs d'CIDRadresses. Le nombre de CIDR blocs renvoyés dépend du count
paramètre.
Déclaration
YAML
Syntaxe pour le nom complet de la fonction :
Fn::Cidr: -
ipBlock
-count
-cidrBits
Syntaxe pour la forme courte :
!Cidr [
ipBlock
,count
,cidrBits
]
Paramètres
- ipBlock
-
Le bloc d'CIDRadresse spécifié par l'utilisateur à diviser en CIDR blocs plus petits.
- count
-
Le nombre de CIDRs à générer. La plage valide est comprise entre 1 et 256.
- cidrBits
-
Le nombre de bits de sous-réseau pour leCIDR. Par exemple, si vous spécifiez une valeur « 8 » pour ce paramètre, vous créerez un CIDR avec un masque de « /24 ».
Note
Les bits de sous-réseaux sont l'inverse du masque de sous-réseau. Pour calculer les bits d'hôte requis pour un sous-réseau donné, soustrayez les bits de sous-réseau de 32 pour IPv4 ou 128 pour. IPv6
Valeur renvoyée
Un tableau de blocs d'CIDRadresses.
Exemple
Utilisation de base
Cet exemple crée 6 CIDRs avec un masque de sous-réseau « /27 » à l'intérieur à partir CIDR d'un masque « /24 ».
JSON
{ "Fn::Cidr" : [ "192.168.0.0/24", "6", "5"] }
YAML
!Cidr [ "192.168.0.0/24", 6, 5 ]
Création d'IPv6un VPC
Cet exemple de modèle crée un sous-réseau IPv6 activé.
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
Fonctions prises en charge
Vous pouvez utiliser les fonctions suivantes dans une fonction Fn::Cidr
: