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.
La fonction intrinsèque Fn::Cidr
renvoie un tableau de blocs d'adresse CIDR. Le nombre de blocs d'adresse CIDR renvoyés dépend du paramètre count
.
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
-
Bloc d'adresse CIDR spécifié par l'utilisateur à fractionner en plus petits blocs d'adresse CIDR.
- count
-
Le nombre de CIDRs à générer. La plage valide est comprise entre 1 et 256.
- cidrBits
-
Nombre de bits de sous-réseau pour le bloc CIDR. Par exemple, spécifier la valeur « 8 » pour ce paramètre crée un bloc CIDR avec un masque « /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
Tableau de blocs d'adresse CIDR.
exemple
Utilisation de base
Cet exemple crée 6 CIDRs avec un masque de sous-réseau « /27 » à l'intérieur d'un CIDR avec 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'un IPv6 VPC activé
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
: