开发者社区> 问答> 正文

伸缩组:创建伸缩组


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


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


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


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


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

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



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





请求参数

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


返回参数

名称类型描述
ScalingGroupIdString伸缩组 ID


示例



请求示例


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

<CreateScalingGroupResponse>
    <ScalingGroupId>dP8VqSd9ENXPc0ciVmbcrBT1</ScalingGroupId>
    <RequestId>536E9CAD-DB30-4647-AC87-AA5CC38C5382</RequestId>
</CreateScalingGroupResponse>
JSON 格式

{
    "RequestId": "536E9CAD-DB30-4647-AC87-AA5CC38C5382",
    "ScalingGroupId": "dP8VqSd9ENXPc0ciVmbcrBT1"
}




错误码


以下为 CreatScalingGroup 接口的特有错误码。更多详情,请参阅通用 客户端错误服务器端错误
错误代码错误信息HTTP 状态码说明
IncorrectDBInstanceStatusThe current status of DB instance “XXX” does not support this action.400指定的 RDS 实例必须是 运行中 状态。
IncorrectLoadBalancerHealthCheckThe current health check type of specified load balancer does not support this action.400指定的负载均衡实例必须开启健康检查。
IncorrectLoadBalancerStatusThe current status of the specified load balancer does not support this action.400指定的负载均衡实例必须是启用状态。
IncorrectVSwitchStatusThe current status of virtual switch does not support this operation.400虚拟交换机不可用,无法创建 ECS 实例。
InvalidDBInstanceId. RegionMismatchDB instance “XXX” and the specified scaling group are not in the same Region.400指定的 RDS 实例与伸缩组必须在同一地域。
InvalidLoadBalancerId.IncorrectAddressTypeThe current address type of specified load balancer does not support this action.400指定虚拟交换机后,负载均衡实例为私网类型。更多详情,请参阅 负载均衡实例
InvalidLoadBalancerId.IncorrectInstanceNetworkTypeThe network type of the instance in specified Load Balancer does not support this action.400指定的负载均衡实例内搭载的 ECS 实例的网络类型与伸缩组的网络类型必须一致。
InvalidLoadBalancerId.RegionMismatchThe specified Load Balancer and the specified scaling group are not in the same Region.400指定的负载均衡实例与伸缩组必须在同一地域。
InvalidLoadBalancerId.VPCMismatchThe specified virtual switch and the instance in specified Load Balancer are not in the same VPC.400伸缩组内的负载均衡实例搭载的 ECS 实例与虚拟交换机应该在同一个 VPC 中。
InvalidParameter.ConflictThe value of parameter <parameter name" and parameter <parameter name" are conflict.400指定的 MinSize不能大于 MaxSize。
InvalidScalingGroupName.DuplicateThe specified value of parameter <parameter name" is duplicated.400伸缩组名已存在。
QuotaExceeded.DBInstanceSecurityIPSecurity IP quota exceeded in DB instance “XXX”.400指定的 RDS 实例访问白名单的 IP 个数达到上限。
QuotaExceeded.PrivateIpAddressPrivate IP address quota exceeded in the specified virtual switch.400虚拟交换机无法再分配多余的私有 IP 地址。
QuotaExceeded.ScalingGroupScaling group quota exceeded.400用户的伸缩组使用个数达到上限。
QuotaExceeded.VPCInstanceInstance quota exceeded in the specified VPC.400该 VPC 内的实例数超过数量限制。
InvalidDBInstanceId.NotFoundDB instance “XXX” does not exist.404指定的 RDS 实例不存在。
InvalidLoadBalancerId.NotFoundThe specified Load Balancer does not exist.404指定的负载均衡实例不存在。
InvalidRegionId.NotFoundThe specified region does not exist.404指定的地域不存在。
InvalidVSwitchId.NotFoundThe specified virtual switch does not exist.404指定的虚拟交换机不存在。

展开
收起
青蛙跳 2018-08-17 13:34:02 1566 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
弹性云的核心--基于热迁移的弹性调度 立即下载
k8s自动伸缩那些事资料下载 立即下载
低代码开发师(初级)实战教程 立即下载