gpt4 book ai didi

amazon-web-services - CloudFormation 未知标签!<!Cidr>

转载 作者:行者123 更新时间:2023-12-03 07:14:01 25 4
gpt4 key购买 nike

我尝试使用 Amazon CloudFormation 构建 VPC 和子网,但在尝试使用 !Cidr function 时不断遇到问题指定 CidrBlock of the subnets .

简单的示例,我使用直接源自亚马逊文档的 CF 模板来实现 !Cidr 函数。我将其保存到文件中,创建一个新堆栈,选择加载到该文件中,然后在设计器中查看。我收到此错误:

Cannot render the template because of an error.: YAMLException: unknown tag !<!Cidr> at line 18, column 75: ... Att ExampleVpc.CidrBlock, 1, 8 ]] ^

这是我正在使用的模板:

AWSTemplateFormatVersion: "2010-09-09"
Description: "Try to create VPC and Subnet using Cidr function"
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

我的模板有问题吗?还是 CloudFormation 模板设计器有问题?

最佳答案

您必须稍微重新组织模板。设计器语法解析器肯定有一些错误。这应该有效:

AWSTemplateFormatVersion: "2010-09-09"
Description: "Try to create VPC and Subnet using Cidr function"
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
- Fn::Cidr: [ !GetAtt ExampleVpc.CidrBlock, 1, 8 ]
Ipv6CidrBlock:
!Select
- 0
- Fn::Cidr: [ !Select [ 0, !GetAtt ExampleVpc.Ipv6CidrBlocks], 1, 64 ]
VpcId: !Ref ExampleVpc

关于amazon-web-services - CloudFormation 未知标签!&lt;!Cidr>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69712960/

25 4 0