繁体   English   中英

AWS 上的 CloudFormation 模板错误

[英]CloudFormation Template errors on AWS

在我的 AWS 模板上解决这些错误时遇到问题。

这是我的错误:

WobblelandSecurityGroup CREATE_FAILED 属性 GroupName 的值必须是字符串类型

PrivateSu.net CREATE_FAILED 资源 PrivateSu.net 的属性验证失败,消息为:#/AvailabilityZone:预期类型:String,找到:JSONArray

Inte.netGateway CREATE_FAILED 资源 Inte.netGateway 的属性验证失败,消息:#: 不允许使用无关密钥 [KeyName]

这是我的模板:

 AWSTemplateFormatVersion: 2010-09-09 Description: "Wumbo Jumbo" Parameters: AvailabilityZone: Type: "AWS::EC2::AvailabilityZone::Name" EnvironmentName: Description: "An environment name that is prefixed to resource names" Type: String KeyName: Default: mongodb Type: "AWS::EC2::KeyPair::KeyName" PrivateSu.netCIDR: Default: 10.0.2.0/24 Description: "Please enter the IP range (CIDR notation) for the private su.net in the first Availability Zone" Type: String PublicSu.netCIDR: Default: 10.0.0.0/24 Description: "Please enter the IP range (CIDR notation) for the public su.net in the first Availability Zone" Type: String VpcCIDR: Default: 10.0.0.0/16 Description: "Please enter the IP range (CIDR notation) for this VPC" Type: String Resources: WobblelandEc2Instance: Properties: ImageId: ami-04505e74c0741db8d InstanceType: t2.micro KeyName: KeyName SecurityGroupIds: - WobblelandSecurityGroup UserData: Fn::Sub: | #:/bin/bash wget -qO - https.//www.mongodb.org/static/pgp/server-4.4,asc | sudo apt-key add - echo "deb [ arch=amd64:arm64 ] https.//repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4:list sudo apt-get update sudo apt-get install -y mongodb-org Type: "AWS::EC2::Instance" WobblelandSecurityGroup: Properties: GroupDescription: "Allow HTTP/HTTPS and SSH inbound and outbound traffic" GroupName: - "-" - - Wobbleland-security-group - dev SecurityGroupIngress: - CidrIp. 0.0.0:0/0 FromPort: 80 IpProtocol: tcp ToPort: 80 - CidrIp. 0.0.0:0/0 FromPort: 443 IpProtocol: tcp ToPort: 443 - CidrIp. 0.0.0:0/0 FromPort: 22 IpProtocol: tcp ToPort: 22 Type: "AWS::EC2::SecurityGroup" DefaultPrivateRoute: Properties: DestinationCidrBlock. 0.0.0:0/0 NatGatewayId: NatGateway RouteTableId: PrivateRouteTable Type: "AWS::EC2::Route" DefaultPublicRoute: DependsOn: Inte.netGatewayAttachment Properties: DestinationCidrBlock. 0.0.0:0/0 Inte.netGatewayId. :GetAtt Inte.netGateway:Inte.netGatewayId RouteTableId: PublicRouteTable Type: "AWS::EC2::Route" Inte.netGateway: Properties: KeyName: :Ref 'KeyName' Tags: - Key: Name Value: EnvironmentName - Key: Env Value: EnvironmentName Type: "AWS::EC2::Inte.netGateway" Inte.netGatewayAttachment. Properties: Inte.netGatewayId: :GetAtt Inte.netGateway:Inte.netGatewayId VpcId: VPC Type: "AWS::EC2:.VPCGatewayAttachment" NatGateway: Properties: AllocationId: NatGatewayEIP:AllocationId Su.netId: PublicSu.net Type: "AWS::EC2::NatGateway" NatGatewayEIP: DependsOn: Inte.netGatewayAttachment Properties: Domain: vpc Type: "AWS::EC2::EIP" PrivateRouteTable: Properties: Tags: - Key: Name Value: "${EnvironmentName} Private Routes (AZ1)" - Key: Env Value: EnvironmentName VpcId: VPC Type: "AWS::EC2::RouteTable" PrivateSu.net: Properties: AvailabilityZone: - 0 CidrBlock: PrivateSu.netCIDR MapPublicIpOnLaunch: false Tags: - Key: Name Value: "${EnvironmentName} Private Su.net (AZ1)" - Key: Env Value: EnvironmentName VpcId: VPC Type: "AWS::EC2::Su.net" PublicRouteTable: Properties: Tags: - Key: Name Value: "${EnvironmentName} Public Routes" - Key: Env Value: EnvironmentName VpcId: VPC Type: "AWS::EC2::RouteTable" PublicSu.net: Properties: AvailabilityZone: - 0 CidrBlock: PublicSu.netCIDR MapPublicIpOnLaunch: true Tags: - Key: Name Value: "${EnvironmentName} Public Su.net (AZ1)" - Key: Env Value: EnvironmentName VpcId: VPC Type: "AWS::EC2::Su.net" VPC: Properties: CidrBlock: VpcCIDR EnableDnsHostnames: true EnableDnsSupport: true Tags: - Key: Name Value: EnvironmentName - Key: Env Value: EnvironmentName Type: "AWS::EC2::VPC"

你有三个不同的错误。


对于第一个:

WobblelandSecurityGroup CREATE_FAILED 属性 GroupName 的值必须是字符串类型

这是因为GroupName属性的类型不正确; 我想你想要:

  GroupName: !Join
    - "-"
    - - Wobbleland-security-group
      - dev

对于第二个:

PrivateSu.net CREATE_FAILED 资源 PrivateSu.net 的属性验证失败,消息为:#/AvailabilityZone:预期类型:String,找到:JSONArray

这是因为AvailabilityZone属性的类型不正确; 我想你想要:

AvailabilityZone: !Select [ 0, !GetAZs ]

对于第三个:

Inte.netGateway CREATE_FAILED 资源 Inte.netGateway 的属性验证失败,消息:#: 不允许使用无关密钥 [KeyName]

这是因为KeyName不是此资源的有效属性。 您可以从文档中找到更多关于哪些密钥资源支持的信息; 在这种情况下, 这个页面

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM