有奖捉虫:云通信与企业服务文档专题,速来> HOT

1. 接口描述

接口请求域名: as.tencentcloudapi.com 。

本接口(CreateAutoScalingGroup)用于创建伸缩组

默认接口请求频率限制:20次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:CreateAutoScalingGroup。
Version String 公共参数,本接口取值:2018-04-19。
Region String 公共参数,详见产品支持的 地域列表
AutoScalingGroupName String 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。
示例值:asgname
LaunchConfigurationId String 启动配置ID
示例值:asc-aaaabbbb
MaxSize Integer 最大实例数,取值范围为0-2000。
示例值:1
MinSize Integer 最小实例数,取值范围为0-2000。
示例值:1
VpcId String VPC ID,基础网络则填空字符串
示例值:vpc-aaaabbbb
DefaultCooldown Integer 默认冷却时间,单位秒,默认值为300
示例值:300
DesiredCapacity Integer 期望实例数,大小介于最小实例数和最大实例数之间
示例值:1
LoadBalancerIds.N Array of String 传统负载均衡器ID列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
示例值:["lb-aaaabbbb"]
ProjectId Integer 伸缩组内实例所属项目ID。不填为默认项目。
示例值:1
ForwardLoadBalancers.N Array of ForwardLoadBalancer 应用型负载均衡器列表,目前长度上限为100,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个
SubnetIds.N Array of String 子网ID列表,VPC场景下必须指定子网。多个子网以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。
示例值:["subnet-xxxxbbbb"]
TerminationPolicies.N Array of String 销毁策略,目前长度上限为1。取值包括 OLDEST_INSTANCE 和 NEWEST_INSTANCE,默认取值为 OLDEST_INSTANCE。

  • OLDEST_INSTANCE 优先销毁伸缩组中最旧的实例。

  • NEWEST_INSTANCE,优先销毁伸缩组中最新的实例。
  • Zones.N Array of String 可用区列表,基础网络场景下必须指定可用区。多个可用区以填写顺序为优先级,依次进行尝试,直至可以成功创建实例。
    示例值:["ap-beijing-1"]
    RetryPolicy String 重试策略,取值包括 IMMEDIATE_RETRY、 INCREMENTAL_INTERVALS、NO_RETRY,默认取值为 IMMEDIATE_RETRY。部分成功的伸缩活动判定为一次失败活动。

  • IMMEDIATE_RETRY,立即重试,在较短时间内快速重试,连续失败超过一定次数(5次)后不再重试。

  • INCREMENTAL_INTERVALS,间隔递增重试,随着连续失败次数的增加,重试间隔逐渐增大,重试间隔从秒级到1天不等。

  • NO_RETRY,不进行重试,直到再次收到用户调用或者告警信息后才会重试。
    示例值:IMMEDIATE_RETRY
  • ZonesCheckPolicy String 可用区校验策略,取值包括 ALL 和 ANY,默认取值为ANY。

  • ALL,所有可用区(Zone)或子网(SubnetId)都可用则通过校验,否则校验报错。

  • ANY,存在任何一个可用区(Zone)或子网(SubnetId)可用则通过校验,否则校验报错。

    可用区或子网不可用的常见原因包括该可用区CVM实例类型售罄、该可用区CBS云盘售罄、该可用区配额不足、该子网IP不足等。
    如果 Zones/SubnetIds 中可用区或者子网不存在,则无论 ZonesCheckPolicy 采用何种取值,都会校验报错。
    示例值:ALL
  • Tags.N Array of Tag 标签描述列表。通过指定该参数可以支持绑定标签到伸缩组。同时绑定标签到相应的资源实例。每个伸缩组最多支持30个标签。
    ServiceSettings ServiceSettings 服务设置,包括云监控不健康替换等服务设置。
    Ipv6AddressCount Integer 实例具有IPv6地址数量的配置,取值包括 0、1,默认值为0。
    示例值:1
    MultiZoneSubnetPolicy String 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。

  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。

  • EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡。

    与本策略相关的注意点:

  • 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。

  • 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。

  • 按照 PRIORITY 策略创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3,会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。
    示例值:PRIORITY
  • HealthCheckType String 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考实例健康检查
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考健康检查
    如果选择了CLB类型,伸缩组将同时检查实例网络状态与CLB健康检查状态,如果出现实例网络状态不健康,实例将被标记为 UNHEALTHY 状态;如果出现 CLB 健康检查状态异常,实例将被标记为CLB_UNHEALTHY 状态,如果两个异常状态同时出现,实例HealthStatus字段将返回 UNHEALTHY|CLB_UNHEALTHY。默认值:CLB
    示例值:CLB
  • LoadBalancerHealthCheckGracePeriod Integer CLB健康检查宽限期,当扩容的实例进入IN_SERVICE后,在宽限期时间范围内将不会被标记为不健康CLB_UNHEALTHY
    默认值:0。取值范围[0, 7200],单位:秒。
    示例值:0
    InstanceAllocationPolicy String 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED,默认取 LAUNCH_CONFIGURATION。

  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。

  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。
    示例值:LAUNCH_CONFIGURATION
  • SpotMixedAllocationPolicy SpotMixedAllocationPolicy 竞价混合模式下,各计费类型实例的分配策略。
    仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。
    CapacityRebalance Boolean 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围:

  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。

  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。

    默认取 FALSE。
    示例值:false
  • InstanceNameIndexSettings InstanceNameIndexSettings 实例名称序号相关设置。若不指定该参数,则默认不开启。开启后为伸缩组内自动创建的实例名称添加递增的数字序号。

    3. 输出参数

    参数名称 类型 描述
    AutoScalingGroupId String 伸缩组ID
    示例值:asg-aaaaqqqq
    RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 创建伸缩组

    创建伸缩组,VPC网络,配置7层负载均衡器

    输入示例

    POST / HTTP/1.1
    Host: as.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: CreateAutoScalingGroup
    <公共请求参数>
    
    {
        "VpcId": "vpc-hy436tmc",
        "DesiredCapacity": "0",
        "LaunchConfigurationId": "asc-7vucy6ae",
        "ProjectId": "0",
        "SubnetIds": [
            "subnet-b0vxjhot",
            "subnet-3tmerl37"
        ],
        "AutoScalingGroupName": "asg-vpc-7layer-lb",
        "DefaultCooldown": "300",
        "MinSize": "0",
        "MaxSize": "10",
        "TerminationPolicies": [
            "OLDEST_INSTANCE"
        ],
        "ForwardLoadBalancers": [
            {
                "TargetAttributes": [
                    {
                        "Port": "8080",
                        "Weight": "10"
                    }
                ],
                "Region": "ap-guangzhou",
                "LocationId": "loc-l3hmaev9",
                "ListenerId": "lbl-ncw704sn",
                "LoadBalancerId": "lb-23aejgcv"
            }
        ]
    }

    输出示例

    {
        "Response": {
            "AutoScalingGroupId": "asg-nkdwoui0",
            "RequestId": "a5d66fed-85b9-4f43-8243-597337ba896e"
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    InternalError 内部错误。
    InternalError.CallLbError LB 接口调用失败。
    InternalError.CallTagError Tag 接口调用失败。
    InternalError.CallTvpcError Tvpc 接口调用失败。
    InternalError.CallVpcError VPC接口调用失败。
    InternalError.RequestError 内部请求错误。
    InvalidParameter.ActionNotFound 无效的Action请求。
    InvalidParameter.InScenario 在特定场景下的不合法参数。
    InvalidParameterValue.BaseCapacityTooLarge 指定的基础容量过大,需小于等于最大实例数。
    InvalidParameterValue.ClassicLb 在应当指定传统型负载均衡器的参数中,错误地指定了一个非传统型的负载均衡器。
    InvalidParameterValue.CvmError CVM参数校验异常。
    InvalidParameterValue.DuplicatedForwardLb 提供的应用型负载均衡器重复。
    InvalidParameterValue.DuplicatedSubnet 指定的子网重复。
    InvalidParameterValue.ForwardLb 在应当指定应用型负载均衡器的参数中,错误地指定了一个非应用型的负载均衡器。
    InvalidParameterValue.GroupNameDuplicated 伸缩组名称重复。
    InvalidParameterValue.InvalidClbRegion 为CLB指定的地域不合法。
    InvalidParameterValue.InvalidLaunchConfigurationId 启动配置ID无效。
    InvalidParameterValue.InvalidSubnetId 子网ID无效。
    InvalidParameterValue.LaunchConfigurationNotFound 找不到指定启动配置。
    InvalidParameterValue.LbProjectInconsistent 负载均衡器项目不一致。
    InvalidParameterValue.LimitExceeded 取值超出限制。
    InvalidParameterValue.ListenerTargetTypeNotSupported 不支持目标组类型的监听器。
    InvalidParameterValue.OnlyVpc 账号仅支持VPC网络。
    InvalidParameterValue.ProjectIdNotFound 项目ID不存在。
    InvalidParameterValue.Range 取值超出指定范围。
    InvalidParameterValue.Size 伸缩组最大数量、最小数量、期望实例数取值不合法。
    InvalidParameterValue.SubnetIds 子网信息不合法。
    InvalidParameterValue.TargetPortDuplicated 负载均衡器四层监听器的后端端口重复。
    InvalidParameterValue.TooLong 取值过多。
    InvalidParameterValue.ZoneMismatchRegion 指定的可用区与地域不匹配。
    LimitExceeded 超过配额限制。
    LimitExceeded.AutoScalingGroupLimitExceeded 伸缩组数量超过限制。
    LimitExceeded.MaxSizeLimitExceeded 最大实例数大于限制。
    LimitExceeded.MinSizeLimitExceeded 最小实例数低于限制。
    MissingParameter.InScenario 在特定场景下缺少参数。
    ResourceNotFound.ListenerNotFound 指定的Listener不存在。
    ResourceNotFound.LoadBalancerNotFound 找不到指定负载均衡器。
    ResourceNotFound.LocationNotFound 指定的Location不存在。
    ResourceUnavailable.LaunchConfigurationStatusAbnormal 启动配置状态异常。
    ResourceUnavailable.LbBackendRegionInconsistent CLB实例的后端地域与AS服务所在地域不一致。
    ResourceUnavailable.LbVpcInconsistent 负载均衡器VPC与伸缩组不一致。
    ResourceUnavailable.ProjectInconsistent 项目不一致。
    ResourceUnavailable.ZoneUnavailable 指定的可用区不可用。