繁体   English   中英

Cloudformation堆栈模板条件

[英]Cloudformation Stack Template Conditions

如何使用带有条件子句的Cloudformation模板创建10个实例作为参数。

我已将以下示例用于最多5个实例。 但是我怎么能使用超过5次呢? 这取决于我们如何创建条件子句。

Conditions:
  Launch1: !Equals [1, 1]
  Launch2: !Not [!Equals [1, !Ref InstanceCount]]
  Launch3: !Or
  - !Not [!Equals [1, !Ref InstanceCount]]
  - !Not [!Equals [2, !Ref InstanceCount]]
  Launch4: !Or
  - !Equals [4, !Ref InstanceCount]
  - !Equals [5, !Ref InstanceCount]
  Launch5: !Equals [5, !Ref InstanceCount]

您能否帮助我将此示例扩展到10个实例?

强烈建议您依靠AutoScaling组( AWS :: AutoScaling :: AutoScalingGroup )。 这样,您将能够使用DesiredCapacity属性引用实例计数。 这样做还可以带来很多其他好处。

编辑:但是,如果您仍然想使用条件来执行此操作,则需要执行以下操作:

AWSTemplateFormatVersion: "2010-09-09"
Parameters:
  InstanceCount:
    Type: Number

Conditions:
  Launch10: !Equals [10, !Ref InstanceCount]
  Launch9: !Or
  - !Equals [9, !Ref InstanceCount]
  - !Condition Launch10
  Launch8: !Or
  - !Equals [8, !Ref InstanceCount]
  - !Condition Launch9
  Launch7: !Or
  - !Equals [7, !Ref InstanceCount]
  - !Condition Launch8
  Launch6: !Or
  - !Equals [6, !Ref InstanceCount]
  - !Condition Launch7
  Launch5: !Or
  - !Equals [5, !Ref InstanceCount]
  - !Condition Launch6
  Launch4: !Or
  - !Equals [4, !Ref InstanceCount]
  - !Condition Launch5
  Launch3: !Or
  - !Equals [3, !Ref InstanceCount]
  - !Condition Launch4
  Launch2: !Or
  - !Equals [2, !Ref InstanceCount]
  - !Condition Launch3
  Launch1: !Or
  - !Equals [1, !Ref InstanceCount]
  - !Condition Launch2

Resources:
  Bucket1:
    Condition: Launch1
    Type: AWS::S3::Bucket

  Bucket2:
    Condition: Launch2
    Type: AWS::S3::Bucket

  Bucket3:
    Condition: Launch3
    Type: AWS::S3::Bucket

  Bucket4:
    Condition: Launch4
    Type: AWS::S3::Bucket

  Bucket5:
    Condition: Launch5
    Type: AWS::S3::Bucket

  Bucket6:
    Condition: Launch6
    Type: AWS::S3::Bucket

  Bucket7:
    Condition: Launch7
    Type: AWS::S3::Bucket

  Bucket8:
    Condition: Launch8
    Type: AWS::S3::Bucket

  Bucket9:
    Condition: Launch9
    Type: AWS::S3::Bucket

  Bucket10:
    Condition: Launch10
    Type: AWS::S3::Bucket

我用过水桶,所以测试起来会更快

暂无
暂无

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

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