资源类型ALIYUN::ECS::InstanceGroup用于批量创建ECS实例。

创建ECS实例时,您可以通过InstanceName和HostName属性指定实例名称和主机名称。您可以通过以下方式为每个ECS实例设置不同的实例名称和主机名称。

实例名称或者主机名的结构为name_prefix[begin_number,bits]name_suffix。各字段说明如下:

  • name_prefix:指定实例名或者主机名的前缀。此项为必填项。
  • [begin_number,bits]:每一个实例名和主机名变化的地方。begin_number指定实例名和主机名从某个数字开始。bits表示每一个数字占多少位。

    该字段必须满足以下要求才能被正确解析:

    • 整个字段中不能有空格。
    • bits取值范围为1~4。
    • begin_number取值范围为0~9999。

    bits取值规则:

    • 如果只指定begin_number,则bits会默认取值4。
    • 如果只指定[]或者[,],则begin_number从0开始取值,bits会默认取值4。
    • 如果指定的begin_number位数大于bits所指定的位数,例如[1234,1],且begin_number的值(1234)属于0~9999的范围,则bits的实际取值为4。
  • name_suffix:指定实例名或主机名的后缀。此项为选填项。

示例

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  WebServer:
    Type: ALIYUN::ECS::InstanceGroup
    Properties:
      ImageId: Cen****
      InstanceType: ecs.n4.large
      Password: Test1234
      MinAmount: 2
      MaxAmount: 2
      SecurityGroupId: sg-2zedcm7ep5quses0****
      SystemDiskCategory: cloud_efficiency
      IoOptimized: optimized
      InstanceName: my.test-[1114]
      HostName: host[]

根据上面的模板,ROS会批量创建两个ECS实例。

  • 两个ECS的实例名分别是:my.test-1114和my.test-1115。
  • 两个ECS的主机名分别是:host0000和host0001。
重要 即使是通过上述方式指定实例名称和主机名称,最终解析出来的名字必须符合InstanceNameHostName的定义规则。如果不符合规则,模板会验证失败。