DATASOURCE::ESS::ScalingGroups类型用于查询伸缩组。

语法

{
  "Type": "DATASOURCE::ESS::ScalingGroups",
  "Properties": {
    "ScalingGroupNames": List,
    "GroupType": String,
    "ScalingGroupIds": List
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
ScalingGroupNames List 伸缩组名称列表。 查询结果会忽略失效的伸缩组名称,并且不报错。
说明 一次最多可查询20个伸缩组名称。
GroupType String 伸缩组管理实例类型。 取值:
  • ECS:ECS实例(默认值)。
  • ECI:ECI实例。
ScalingGroupIds List 待查询伸缩组ID列表。 查询结果会忽略失效的伸缩组ID,并且不报错。
说明 一次最多可以查询20个伸缩组ID。

返回数据(Fn::GetAtt)

  • ScalingGroups:伸缩组详情列表。
  • ScalingGroupIds:伸缩组ID列表。
属性名称 类型 描述 约束
ScalingGroupIds List 伸缩组ID列表。
ScalingGroups List 伸缩组详情列表。
DesiredCapacity Number 伸缩组内ECS实例期望数量。 伸缩组会自动将ECS实例数量维持在期望实例数。
LifecycleState String 伸缩组状态信息。 取值:
  • Active:生效状态。

    处于生效状态的伸缩组才能接收执行伸缩规则的请求并触发伸缩活动。

  • Inactive:失效状态。
TotalInstanceCount Number 伸缩组内所有ECS实例数量。
Weighted Boolean 是否设置了实例规格的权重。 取值:
  • true:已设置实例规格的权重。
  • false:未设置实例规格的权重。
RemovalPolicies List ECS实例移出伸缩组的策略集合。 取值:
  • OldestInstance:移出最早创建的ECS实例。
  • NewestInstance:移出最新创建的ECS实例。
  • OldestScalingConfiguration:移出最早由伸缩配置创建的ECS实例。
PendingWaitCapacity Number 伸缩组中处于加入挂起状态的ECS实例数量。
TotalCapacity Number 当伸缩组设置了实例规格权重,表示伸缩组内所有ECS实例的加权容量总和。否则,表示伸缩组内所有ECS实例的数量。
RemovingWaitCapacity Number 伸缩组中处于移除挂起状态的ECS实例数量。
IsElasticStrengthInAlarm Boolean 是否触发弹性伸缩告警。
ProtectedCapacity Number 伸缩组中处于保护状态的ECS实例数量。
StandbyCapacity Number 伸缩组中处于备用状态的实例数量。
ScalingPolicy String 指定伸缩组的回收模式。 取值:
  • recycle:停机回收模式。
  • release:释放模式。
说明 关于被移出实例的动作,请参见RemoveInstances
SuspendedProcesses List 暂停中的流程。 取值:
  • ScaleIn:缩容流程。
  • ScaleOut:扩容流程。
  • HealthCheck:健康检查。
  • AlarmNotification:报警任务。
  • ScheduledAction:定时任务。
RemovingCapacity Number 正在移出伸缩组的ECS实例的数量。
VSwitchIds List 伸缩组关联虚拟交换机的ID集合。 如果您使用了本参数,VSwitchId参数将被忽略。
ScalingGroupId String 伸缩组ID。
PendingCapacity Number 正在加入伸缩组。 还未完成相关配置的ECS实例数量。
VSwitchId String 伸缩组关联虚拟交换机ID。
LoadBalancerIds List 伸缩组关联的负载均衡实例ID列表。
GroupDeletionProtection Boolean 是否开启了伸缩组删除保护。 取值:
  • true:开启伸缩组删除保护。此时不能删除该伸缩组。
  • false:关闭伸缩组删除保护。
MaxSize Number 伸缩组内ECS实例台数的最大值。
ScalingGroupName String 伸缩组名称。
MinSize Number 伸缩组内ECS实例台数的最小值。
ActiveCapacity Number 已成功加入伸缩组。 正常运行的ECS实例数量。
DefaultCooldown Number 伸缩组默认的冷却时间。 冷却时间内,该伸缩组不执行其他的伸缩活动,仅针对云监控报警任务触发的伸缩活动有效。
VpcId String 伸缩组所属VPC的ID。
GroupType String 伸缩组管理的实例类型。 取值:
  • ECS(默认值):ECS实例。
  • ECI:ECI实例。
SystemSuspended Boolean 弹性伸缩是否停止执行伸缩组内的伸缩活动。 取值:
  • true:停止执行伸缩组内的伸缩活动。(伸缩组已经连续扩容或缩容失败超过7天。)

    您需要修改伸缩组或者伸缩配置,恢复执行伸缩活动。

  • false:执行伸缩组内的伸缩活动。
CreationTime String 伸缩组的创建时间。
MultiAZPolicy String 多可用区伸缩组ECS实例扩容或缩容策略。 取值:
  • PRIORITY:根据您定义的虚拟交换机(VSwitchIds)扩容或缩容。

    当优先级较高的虚拟交换机所在可用区无法创建ECS实例时,自动使用下一优先级的虚拟交换机创建ECS实例。

  • COST_OPTIMIZED:按vCPU单价从低到高进行尝试创建。

    当伸缩配置设置了抢占式计费方式的多实例规格时,优先创建对应抢占式实例。由于库存等原因无法创建抢占式实例时,您可以通过CompensateWithOnDemand参数指定是否自动尝试以按量付费的方式创建。

    说明

    COST_OPTIMIZED仅在伸缩配置设置了多实例规格或者选用了抢占式实例的情况下生效。

  • BALANCE:在伸缩组指定的多可用区之间均匀分配ECS实例。

    如果由于库存不足等原因可用区之间变得不平衡,您可以通过API RebalanceInstances平衡资源。

StoppedCapacity Number 伸缩组中处于节省停机效果的实例数量。
DBInstanceIds List 伸缩组关联RDS实例ID。 示例:[ "rm-bp15556qzebg1****", "rm-shj1829939342****"]
HealthCheckType String 伸缩组的健康检查方式。 取值:
  • NONE:不做健康检查。
  • ECS:对伸缩组内的ECS实例做健康检查。

示例

  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "GroupType": {
          "Type": "String",
          "Description": "The type of instances that are managed by the scaling group. Valid values:\nECS: the Elastic Compute Service (ECS) instances\nECI: the elastic container instances\nDefault value: ECS.",
          "Default": "ECS"
        }
      },
      "Resources": {
        "ExtensionDataSource": {
          "Type": "DATASOURCE::ESS::ScalingGroups",
          "Properties": {
            "GroupType": {
              "Ref": "GroupType"
            }
          }
        }
      },
      "Outputs": {
        "ScalingGroups": {
          "Description": "The list of scaling groups.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionDataSource",
              "ScalingGroups"
            ]
          }
        },
        "ScalingGroupIds": {
          "Description": "The list of scaling group IDs.",
          "Value": {
            "Fn::GetAtt": [
              "ExtensionDataSource",
              "ScalingGroupIds"
            ]
          }
        }
      }
    }
  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      GroupType:
        Type: String
        Description: |-
          The type of instances that are managed by the scaling group. Valid values:
          ECS: the Elastic Compute Service (ECS) instances
          ECI: the elastic container instances
          Default value: ECS.
        Default: ECS
    Resources:
      ExtensionDataSource:
        Type: DATASOURCE::ESS::ScalingGroups
        Properties:
          GroupType:
            Ref: GroupType
    Outputs:
      ScalingGroups:
        Description: The list of scaling groups.
        Value:
          Fn::GetAtt:
            - ExtensionDataSource
            - ScalingGroups
      ScalingGroupIds:
        Description: The list of scaling group IDs.
        Value:
          Fn::GetAtt:
            - ExtensionDataSource
            - ScalingGroupIds