【问题标题】:Cloudformation error: "Template validation error: Invalid template parameter property 'VPC'"Cloudformation 错误:“模板验证错误:无效的模板参数属性‘VPC’”
【发布时间】:2016-03-19 19:02:54
【问题描述】:

我得到了很大的 cloudformation json 模板,并试图将 VPC 添加到它。 添加 VPC 时出现此错误:

模板验证错误:模板参数属性“VPC”无效

这里是我在 Resource 中使用 VPC 的地方:

"VPC": {
            "Type": "AWS::EC2::VPC",
            "Properties": {
                "CidrBlock": "String",
                "EnableDnsSupport": true,
                "EnableDnsHostnames": true,
                "Tags": [
                    {"Key": "Name", "Value": {"Fn::Join": ["", [{"Ref": "Env"}, "-VPC"]]}, "PropagateAtLaunch": true}
        ]
            }
        }

我在负载均衡器、SecurityGroups PrivateSubnet、PublicSubnet 属性中使用 "VpcId": {"Ref": "VPC"}。 这是参数中的VpcId:

"VpcId" : {
            "Type" : "String",
            "Description" : "VpcId of your existing Virtual Private Cloud (VPC)."
        }

我在这里没有做一些很特别的事情,但仍然对使用 cloudformation 创建堆栈的错误输出感到有些困惑。 谁能告诉我,我在这里做错了什么?

这是整个模板link(没有重要凭据)。 谢谢!

【问题讨论】:

  • 我猜您的 VPC 资源位于模板的“参数”部分,但它应该位于“资源”部分。您需要分享更多模板以进行确认。
  • @Jason 我希望它是如此简单:) 不,它在资源部分。还有其他猜测吗?
  • 我注意到您没有定义 CIDR 块。您也不应该使用 PropogateOnLaunch 属性,因为它仅用于 Auto Scaling 组标签。
  • 谢谢@Jason。但还是同样的错误...
  • 任何使用 VPC ID 的东西都应该有一个 DependsOn (docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…)

标签: json amazon-web-services amazon-cloudformation


【解决方案1】:

根据模板,看起来一切正常。您是否仍然遇到同样的问题?

【讨论】:

    【解决方案2】:

    看起来您需要在“资​​源”块之前关闭“参数”块,以便 CFN 尝试使用属性“VPC”创建一个名为“资源”的参数

    【讨论】:

    • 谢谢哥们。但仍然没有帮助,因为我在发布到 stackoverflow 之前使用 jsonlint 检查了它。
    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-03
    • 2018-06-03
    • 2016-07-11
    • 2018-06-03
    • 1970-01-01
    相关资源
    最近更新 更多