全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
弹性伸缩

创建伸缩组

更新时间:2017-09-27 11:10:24

伸缩组(Scaling Group)是具有相同应用场景的ECS实例的集合。

伸缩组定义了组内ECS实例数的最大值、最小值及其相关联的负载均衡实例和RDS实例等属性。

描述

根据输入参数创建伸缩组。

  • MaxSize、MinSize定义了伸缩组内ECS实例个数的最大值和最小值。

    • 当伸缩组的当前ECS实例数(Total Capacity)小于MinSize时,弹性伸缩会自动添加ECS实例,使得伸缩组的当前ECS实例数等于MinSize。
    • 当伸缩组的当前ECS实例数(Total Capacity)大于MaxSize时,弹性伸缩会自动移出ECS实例,使得伸缩组的当前ECS实例数等于MaxSize。
  • DefaultCooldown是伸缩组的默认冷却时间。

    • 一个伸缩活动(添加或移出ECS实例)执行完成后的一段冷却时间内,该伸缩组不执行其它的伸缩活动。
    • 目前仅针对云监控报警任务触发的伸缩活动有效。
  • RemovalPolicy移出策略是指当需要从伸缩组移出ECS实例并且有多种选择时,则按该策略选择需要移出的ECS实例。

    • 如果在伸缩组中指定了负载均衡实例,伸缩组会自动将加入伸缩组的ECS实例添加到指定的负载均衡实例当中。
    • 指定的负载均衡实例必须是已启用状态。
    • 指定的负载均衡实例所有配置的监听端口必须开启健康检查,否则创建失败。
    • 如果负载均衡实例已挂载了VPC类型的ECS实例,则不支持该负载均衡实例加入伸缩组。
    • 加入负载均衡的ECS实例的权重默认为50。
  • 如果在伸缩组中指定了RDS实例,伸缩组会自动将加入伸缩组的ECS实例的内网IP添加到指定的RDS实例的访问白名单当中。

    • 指定的RDS实例必须是运行中状态。
    • 指定的RDS实例访问白名单的IP个数达不能达到上限。
  • 伸缩组创建成功后,伸缩组不会立即生效,只有启用伸缩组,才能接受伸缩规则的触发和执行相关的伸缩活动。

  • ECS实例移出伸缩组的策略请参考移出策略章节。

  • 伸缩组、负载均衡实例和RDS实例必须在同一个地域。

  • 一个用户最多只能创建20个伸缩组。

请求参数

名称 类型 是否必须 描述
Action String 操作接口名,系统规定参数,取值:
CreateScalingGroup
RegionId String 伸缩组所属的地域ID。
MaxSize Integer 伸缩组内ECS实例个数的最大值,取值范围:[0, 100]。
MinSize Integer 伸缩组内ECS实例个数的最小值,取值范围:[0, 100] 。
ScalingGroupName String 伸缩组的显示名称,2-40 个英文或中文字符,以数字、大小字母或中文开头,可包含数字,”_”、”-“或”.”。同一用户账号同一地域内唯一。
如果没有指定该参数,默认值为ScalingGroupId。
DefaultCooldown Integer 伸缩组默认的冷却时间,取值范围:[0, 86400],单位:秒。
默认值为300秒。
RemovalPolicy.N String ECS实例移出伸缩组的策略。
可选值:
- OldestInstance:取最早加入伸缩组的ECS实例
- NewestInstance:取最新加入伸缩组的ECS实例
- OldestScalingConfiguration:取最早伸缩配置创建的实例
默认值为:OldestScalingConfiguration、OldestInstance。最多可以输入2个。
LoadBalancerIds String 负载均衡实例 ID 列表。一个带有格式的 Json Array:[ “lb-id0”, “lb-id1”, … “lb-idz” ],最多支持 5 个负载均衡实例。
DBInstanceIds String RDS 实例 ID 列表。一个带有格式的 Json Array:[ “rm-id0”, “rm-id1”, … “rm-idz” ],最多支持 8 个 RDS 实例。

返回参数

名称 类型 描述
ScalingGroupId String 伸缩组的ID,由系统生成,全局唯一。

错误码

关于所有接口的通用性错误,请参考客户端错误表服务器端错误表

错误 错误代码 描述 HTTP状态码
伸缩组名已存在 InvalidScalingGroupName.Duplicate The specified value of parameter <parameter name> is duplicated. 400
用户的伸缩组使用个数达到上限 QuotaExceeded.ScalingGroup Scaling group quota exceeded. 400
指定的地域不存在 InvalidRegionId.NotFound The specified region does not exist. 404
指定的MinSize大于MaxSize InvalidParameter.Conflict The value of parameter <parameter name> and parameter <parameter name> are conflict. 400
指定的负载均衡实例在该用户账号下不存在 InvalidLoadBalancerId.NotFound The specified Load Balancer does not exist. 404
指定的负载均衡实例与伸缩组所在的地域不匹配 InvalidLoadBalancerId.RegionMismatch The specified Load Balancer and the specified scaling group are not in the same Region. 400
指定的负载均衡实例为非active状态 IncorrectLoadBalancerStatus The current status of the specified load balancer does not support this action. 400
指定的负载均衡实例未开启健康检查 IncorrectLoadBalancerHealthCheck The current health check type of specified load balancer does not support this action. 400
在指定VswitchID后,指定的负载均衡实例为私网类型 InvalidLoadBalancerId.IncorrectAddressType The current address type of specified load balancer does not support this action. 400
指定的负载均衡实例含有的ECS实例的网络类型与伸缩组的网络类型不匹配 InvalidLoadBalancerId.IncorrectInstanceNetworkType The network type of the instance in specified Load Balancer does not support this action. 400
指定的伸缩组的负载均衡实例含有的ECS实例与VSwitchId不在同一个VPC当中 InvalidLoadBalancerId.VPCMismatch The specified virtual switch and the instance in specified Load Balancer are not in the same VPC. 400
指定的RDS实例在该用户账号下不存在 InvalidDBInstanceId.NotFound DB instance “XXX” does not exist. 404
指定的RDS实例与伸缩组所在的地域不匹配 InvalidDBInstanceId. RegionMismatch DB instance “XXX” and the specified scaling group are not in the same Region. 400
指定的RDS实例为非running状态 IncorrectDBInstanceStatus The current status of DB instance “XXX” does not support this action. 400
指定的RDS实例访问白名单的IP个数达到上限 QuotaExceeded.DBInstanceSecurityIP Security IP quota exceeded in DB instance “XXX”. 400
指定的虚拟交换机不存在 InvalidVSwitchId.NotFound The specified virtual switch does not exist. 404
虚拟交换机下的私有IP已经被使用完 QuotaExceeded.PrivateIpAddress Private IP address quota exceeded in the specified virtual switch. 400
该VPC下的实例数超过配额限制 QuotaExceeded.VPCInstance Instance quota exceeded in the specified VPC. 400
虚拟交换机不可用,还不能创建实例 IncorrectVSwitchStatus The current status of virtual switch does not support this operation. 400

示例

请求示例
  1. http://ess.aliyuncs.com/?Action=CreateScalingGroup
  2. &RegionId=cn-qingdao
  3. &MaxSize=20
  4. &MinSize=2
  5. &LoadBalancerId=147b46d767c-cn-qingdao-cm5-a01
  6. &DBInstanceId.1=rdszzzyyunybaeu
  7. &DBInstanceId.2=rdsia3u3yia3u3y
  8. &<公共请求参数>
返回示例

XML格式:

  1. <CreateScalingGroupResponse>
  2. <ScalingGroupId>dP8VqSd9ENXPc0ciVmbcrBT1</ScalingGroupId>
  3. <RequestId>536E9CAD-DB30-4647-AC87-AA5CC38C5382</RequestId>
  4. </CreateScalingGroupResponse>

JSON格式:

  1. {
  2. "RequestId": "536E9CAD-DB30-4647-AC87-AA5CC38C5382",
  3. "ScalingGroupId": "dP8VqSd9ENXPc0ciVmbcrBT1"
  4. }
本文导读目录