全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
弹性伸缩

创建伸缩组

更新时间:2018-05-08 17:16:09

描述

创建一个伸缩组(CreateScalingGroup)。伸缩组是具有相同应用场景的 ECS 实例集合,伸缩组有最大 ECS 实例数、最小 ECS 实例数、移出策略、冷却时间、关联的负载均衡实例和关联的 RDS 实例等属性。

  • 伸缩组、关联的负载均衡实例和关联的 RDS 实例必须在同一个地域。更多详情,请参阅 地域与可用区

  • 您最多能创建 20 个伸缩组。

  • 伸缩组创建成功后,伸缩组不会立即生效。您需要启用伸缩组(EnableScalingGroup)后,才能触发伸缩活动和接受伸缩规则。

  • 如果在伸缩组中指定了负载均衡实例:

    • 指定的负载均衡实例必须是 已启用active) 状态。
    • 伸缩组自动将加入伸缩组的 ECS 实例添加到指定的负载均衡实例中。
    • 指定的负载均衡实例所有配置的监听端口必须开启健康检查,否则创建失败。
    • 加入负载均衡实例的 ECS 实例权重默认为 50。
  • 如果在伸缩组中指定了 RDS 实例:

    • 指定的 RDS 实例必须是 运行中running) 状态。
    • 伸缩组自动将加入伸缩组的 ECS 实例的内网 IP 添加到指定的 RDS 实例的访问白名单当中。
    • 指定的 RDS 实例访问白名单的 IP 数不能超过上限值。更多详情,请参阅 RDS 设置白名单

请求参数

名称 类型 是否必需 描述
Action String 系统规定参数。取值:CreateScalingGroup
RegionId String 伸缩组所属的地域 ID。更多详情,请参阅 地域与可用区
MaxSize Integer 伸缩组内 ECS 实例台数的最大值,取值范围:[0, 1000]。
当伸缩组内 ECS 实例数大于 MaxSize 时,弹性伸缩会自动移出 ECS 实例。
MinSize Integer 伸缩组内 ECS 实例台数的最小值,取值范围:[0, 1000] 。
当伸缩组内 ECS 实例数小于 MinSize 时,弹性伸缩会自动创建 ECS 实例。
ScalingGroupName String 伸缩组的显示名称,不能与您当前地域下的伸缩组重名。长度为 [2, 40] 个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、连字符(-)和小数点(.)。
默认值:伸缩组 ID
DefaultCooldown Integer 一次伸缩活动(添加或移出 ECS 实例)结束后的一段冷却时间。取值范围:[0, 86400],单位:秒。
默认值:300
冷却时间内,该伸缩组不执行其它的伸缩活动。目前,仅针对 云监控 报警任务触发的伸缩活动有效。
RemovalPolicy.N String 移出 ECS 实例的伸缩组策略,更多详情,请参阅 移出策略N 的取值范围 [1,2]。取值范围:
  • OldestInstance:移出最早加入伸缩组的 ECS 实例
  • NewestInstance:移出最新加入伸缩组的 ECS 实例
  • OldestScalingConfiguration:移出最早伸缩配置创建的 ECS 实例
默认值:OldestScalingConfiguration 和 OldestInstance
LoadBalancerIds String 负载均衡实例 ID。取值可以由多台负载均衡实例 ID 组成一个 JSON 数组,格式为 ["lb-idx", "lb-idy", … "lb-idz"],最多支持 100 个 ID,ID 之间用半角逗号(,)隔开。
DBInstanceIds String RDS 实例 ID。取值可以由多台 RDS 实例 ID 组成一个 JSON 数组,格式为 ["rm-idx", "rm-idy", … "rm-idz"],最多支持 100 个 ID,ID 之间用半角逗号(,)隔开。
VSwitchId String 创建 VPC 类型的伸缩组时,指定的虚拟交换机 ID。
VSwitchIds.N String 一台或多台虚拟交换机 ID,N 的取值范围为 [1, 5]。如果您使用了 VSwitchIds.N 参数,VSwitchId 参数将被忽略。
  • 虚拟交换机可以来自多个可用区。
  • 虚拟交换机的优先级按照数字升序排序,1 表示最高优先级。当优先级较高的虚拟交换机所在可用区无法创建 ECS 实例时,自动选择下一优先级的虚拟交换机创建 ECS 实例。
MultiAZPolicy String 多可用区伸缩组 ECS 实例扩缩容策略。取值范围:
  • PRIORITY:根据您定义的虚拟交换机(VSwitchIds.N)扩缩容。当优先级较高的虚拟交换机所在可用区无法创建 ECS 实例时,自动使用下一优先级的虚拟交换机创建 ECS 实例。
  • BALANCE:在伸缩组指定的多可用区之间均匀分配 ECS 实例。如果由于库存不足等原因可用区之间变得不平衡,您可以通过 API RebalanceInstance 平衡资源。
默认值:PRIORITY

返回参数

名称 类型 描述
ScalingGroupId String 伸缩组 ID

示例

请求示例

  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. }

错误码

以下为 CreatScalingGroup 接口的特有错误码。更多详情,请参阅通用 客户端错误服务器端错误

错误代码 错误信息 HTTP 状态码 说明
IncorrectDBInstanceStatus The current status of DB instance “XXX” does not support this action. 400 指定的 RDS 实例必须是 运行中 状态。
IncorrectLoadBalancerHealthCheck The current health check type of specified load balancer does not support this action. 400 指定的负载均衡实例必须开启健康检查。
IncorrectLoadBalancerStatus The current status of the specified load balancer does not support this action. 400 指定的负载均衡实例必须是启用状态。
IncorrectVSwitchStatus The current status of virtual switch does not support this operation. 400 虚拟交换机不可用,无法创建 ECS 实例。
InvalidDBInstanceId. RegionMismatch DB instance “XXX” and the specified scaling group are not in the same Region. 400 指定的 RDS 实例与伸缩组必须在同一地域。
InvalidLoadBalancerId.IncorrectAddressType The current address type of specified load balancer does not support this action. 400 指定虚拟交换机后,负载均衡实例为私网类型。更多详情,请参阅 负载均衡实例
InvalidLoadBalancerId.IncorrectInstanceNetworkType The network type of the instance in specified Load Balancer does not support this action. 400 指定的负载均衡实例内搭载的 ECS 实例的网络类型与伸缩组的网络类型必须一致。
InvalidLoadBalancerId.RegionMismatch The specified Load Balancer and the specified scaling group are not in the same Region. 400 指定的负载均衡实例与伸缩组必须在同一地域。
InvalidLoadBalancerId.VPCMismatch The specified virtual switch and the instance in specified Load Balancer are not in the same VPC. 400 伸缩组内的负载均衡实例搭载的 ECS 实例与虚拟交换机应该在同一个 VPC 中。
InvalidParameter.Conflict The value of parameter <parameter name" and parameter <parameter name" are conflict. 400 指定的 MinSize 不能大于 MaxSize
InvalidScalingGroupName.Duplicate The specified value of parameter <parameter name" is duplicated. 400 伸缩组名已存在。
QuotaExceeded.DBInstanceSecurityIP Security IP quota exceeded in DB instance “XXX”. 400 指定的 RDS 实例访问白名单的 IP 个数达到上限。
QuotaExceeded.PrivateIpAddress Private IP address quota exceeded in the specified virtual switch. 400 虚拟交换机无法再分配多余的私有 IP 地址。
QuotaExceeded.ScalingGroup Scaling group quota exceeded. 400 用户的伸缩组使用个数达到上限。
QuotaExceeded.VPCInstance Instance quota exceeded in the specified VPC. 400 该 VPC 内的实例数超过数量限制。
InvalidDBInstanceId.NotFound DB instance “XXX” does not exist. 404 指定的 RDS 实例不存在。
InvalidLoadBalancerId.NotFound The specified Load Balancer does not exist. 404 指定的负载均衡实例不存在。
InvalidRegionId.NotFound The specified region does not exist. 404 指定的地域不存在。
InvalidVSwitchId.NotFound The specified virtual switch does not exist. 404 指定的虚拟交换机不存在。
本文导读目录