【问题标题】:Dynamic Reference for EC2 Instance Type from Parameter Store in Cloudformation TemplateCloudformation 模板中 Parameter Store 中 EC2 实例类型的动态参考
【发布时间】:2018-12-12 14:59:21
【问题描述】:

我在确定如何直接从参数存储中引用 EC2 实例类型参数时遇到了一些困难。我搜索了高低,但没有运气。

我可以使用我的方法引用其他参数,例如 EC2KeyPair。

我首先使用以下命令在参数存储中创建一个参数。 aws ssm put-parameter --name myEC2TypeDev --type String --value "t2.small"

在 CF 模板中,我定义了 InstanceType 参数。

"InstanceType" : {
  "Description" : "WebServer EC2 instance type",
  "Type" : "AWS::SSM::Parameter::Value<String>",
  "Default" : "myEC2TypeDev",
  "AllowedValues" : [ "t1.micro", "t2.nano", "t2.micro", "t2.small", "t2.medium", "t2.large", "m1.small", "m1.medium", "m1.large", "m1.xlarge", "m2.xlarge", "m2.2xlarge", "m2.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge", "m4.large", "m4.xlarge", "m4.2xlarge", "m4.4xlarge", "m4.10xlarge", "r5.large", "c5.large", "c5.xlarge", "c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", "c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge", "g2.2xlarge", "g2.8xlarge", "r3.large", "r3.xlarge", "r3.2xlarge", "r3.4xlarge", "r3.8xlarge", "i2.xlarge", "i2.2xlarge", "i2.4xlarge", "i2.8xlarge", "d2.xlarge", "d2.2xlarge", "d2.4xlarge", "d2.8xlarge", "hi1.4xlarge", "hs1.8xlarge", "cr1.8xlarge", "cc2.8xlarge", "cg1.4xlarge"],
  "ConstraintDescription" : "must be a valid EC2 instance type."
}

执行模板时,返回以下错误:

调用 UpdateStack 时发生错误 (ValidationError) 操作:参数InstanceType未能满足约束:必须 是有效的 EC2 实例类型。

【问题讨论】:

    标签: amazon-cloudformation


    【解决方案1】:

    如果您的资源类型存储在SSM上(如AWS::SSM::Parameter::Value),则提供的值需要是SSM上的参数名称(如myEC2TypeDev)。因此,您的AllowedValues 列表可能会导致冲突并引发错误。

    请删除AllowedValues 属性,然后重试。

    【讨论】:

      猜你喜欢
      • 2023-03-20
      • 1970-01-01
      • 2020-08-03
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      • 2018-10-06
      • 2021-12-08
      相关资源
      最近更新 更多