【问题标题】:Value (PrivateSubnet2CIDR) for parameter cidrBlock is invalid. This is not a valid CIDR block. This is the error that I am getting参数 cidrBlock 的值 (PrivateSubnet2CIDR) 无效。这不是有效的 CIDR 块。这是我得到的错误
【发布时间】:2019-04-13 14:11:11
【问题描述】:

我作为输入提供的 IP CIDR 在 Cloudformation 中似乎无效。 使用的IP:VPC(192.168.0.0/16) Subnets-192.168.0.0/24, 192.168.64.0/24,192.168.128.0/24,192.168.192.0/24

我尝试手动创建 VPC 并添加上面给出的子网,并且成功了。但是在 Cloudformation 中提供输入时同样不起作用。

参数和资源代码:

"PublicSubnet1CIDR": {
      "Description": "Please enter the IP range (CIDR notation) for the public subnet in the first Availability Zone",
      "Type": "String",
      "Default": "192.168.0.0/24",
      "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})",
      "ConstraintDescription": "must be a valid IP CIDR range of the form x.x.x.x/x."
    }, 

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    这是您的问题,在您的 cloudformation sn-p 中,您有以下内容:

    "PrivateSubnet1" : {
        "Type" : "AWS::EC2::Subnet",
        "Properties" : {
          "VpcId" : {
            "Ref" : "VPC"
          },
          "CidrBlock" : "PrivateSubnet1CIDR",
          "AvailabilityZone" : {
            "Fn::Select" : [
              "0",
              {
                "Fn::GetAZs" : "ap-south-1"
              }
            ]
          },
          "MapPublicIpOnLaunch": false,
          "Tags": [
            {
              "Key": "Name",
              "Value": "Private Subnet (AZ1)"
            }
          ]
        }
      }
    

    请注意,对于 CidrBlock 的值,您没有引用参数,您只是给出了“PrivateSubnet1CIDR”的纯文本值。它应该看起来像这样:

    "PrivateSubnet1": {
        "Type": "AWS::EC2::Subnet",
        "Properties": {
          "VpcId": {
            "Ref": "VPC"
          },
          "CidrBlock": {
            "Ref": "PrivateSubnet1CIDR"
          },
          "AvailabilityZone": {
            "Fn::Select": [
              "0",
              {
                "Fn::GetAZs": "ap-south-1"
              }
            ]
          },
          "MapPublicIpOnLaunch": false,
          "Tags": [
            {
              "Key": "Name",
              "Value": "Private Subnet (AZ1)"
            }
          ]
        }
      }
    

    请注意,您需要为您尝试引用的参数提供一个“Ref”,您不能只声明 PrivateSubnet1CIDR 这个词。

    您还有其他几个相同问题的实例。

    【讨论】:

    • 按照您的建议尝试过,但遇到了同样的问题。
    • 您能否发布名为“cidrBlock”的参数的参数部分,并发布使用 cidrBlock 值的资源的 cloudformation 脚本。更好的是发布您的整个 cloudformation 脚本。
    • 请检查以下文件是否可以访问:s3.ap-south-1.amazonaws.com/prakash-1-007/VPC.txt
    • 我已经更新了我的答案。请在测试后投票并接受作为答案。
    猜你喜欢
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2019-06-21
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    相关资源
    最近更新 更多