資源類型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的定義規則。如果不符合規則,模板會驗證失敗。