DATASOURCE::ESS::ScalingGroups

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

语法

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

属性

属性名称

类型

必须

允许更新

描述

约束

ScalingGroupNames

List

伸缩组名称列表。

查询结果会忽略失效的伸缩组名称,并且不报错。

说明

一次最多可查询20个伸缩组名称。

GroupType

String

伸缩组管理实例类型。

取值:

  • ECS:ECS实例(默认值)。

  • ECI:ECI实例。

ScalingGroupIds

List

待查询伸缩组ID列表。

查询结果会忽略失效的伸缩组ID,并且不报错。

说明

一次最多可以查询20个伸缩组ID。

RefreshOptions

String

当资源栈更新时,数据源资源的刷新策略。

有效值:

  • Never(默认值):更新堆栈时,从不刷新数据源资源。

  • Always:更新堆栈时,始终刷新数据源资源。

返回数据(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实例做健康检查。

示例

{
  "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"
        ]
      }
    }
  }
}
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