- 最新动态
- 功能总览
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
通用类
- 弹性伸缩有什么限制?
- 弹性伸缩一定要搭配弹性负载均衡、云监控才能使用吗?
- 弹性伸缩是否收取费用?
- 弹性伸缩是否会因监控指标突变导致误伸缩?
- 我能创建和使用多少个伸缩策略和配置?
- 弹性伸缩是否能够自动升降云服务器的CPU、内存和带宽?
- 弹性伸缩的配额是什么?
- 同账户下不同用户操作弹性伸缩资源时,为什么提示密钥对不存在而拦截操作?
- 伸缩带宽对弹性公网IP带宽和共享带宽有什么要求?
- 弹性伸缩目前支持配置的服务器类型有哪些?可以配置云耀云服务器(HECS)吗?
- 组内单台ECS上的程序版本会随时更新,伸缩组能否自动创建并切换为最新镜像?
- 咨询AS扩容实例时能否创建包周期实例?
- 弹性伸缩能根据某个场景将带宽调高吗?
- 伸缩组类
- 伸缩策略类
-
实例类
- 如何保证手动移入的ECS实例不被移出伸缩组?
- 多规格伸缩配置创建实例的选择的规格顺序是什么?
- 当实例被移出伸缩组并删除后,实例中的数据会保留吗?
- 我能添加已经创建的包年包月ECS实例吗?
- 按照伸缩策略增加的云服务器,当我不用时可以自动删除吗?
- 什么是期望实例数?
- 如何删除通过弹性伸缩创建的云服务器?
- 包年包月的ECS实例出现异常后会不会被伸缩组删除?
- 如何处理伸缩组中状态是“异常”的实例?
- 当伸缩组中实例无法通过负载均衡健康检查而频繁地被删除再重新创建时应该怎么办?
- 如何阻止伸缩组内的云服务器被自动移除?
- 为什么在伸缩组内移除并删除实例后,ECS页面还能看到实例?
- 手动将实例移入伸缩组时,需要该实例已绑定弹性公网IP吗?
- 弹性伸缩(AS)伸缩出来的新实例必须是伸缩组已经关联的伸缩配置里的镜像,而不能复制现有的实例状态吗?
- 为ECS自动分配的EIP,是自动新购,还是从未绑定的EIP中绑定?
- 其他
-
通用类
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
示例5:批量操作实例
场景描述
本章节指导用户通过API批量操作弹性云服务器实例。API的调用方法请参见如何调用API。
实例是对运行在伸缩组中弹性云服务器的统称,AS支持批量移出伸缩组中的实例或批量添加伸缩组外的实例、批量对伸缩组中的实例设置或取消其实例保护属性、批量将伸缩组中的实例转入或移出备用状态。
约束条件
- 批量移出后实例数不能小于伸缩组的最小实例数。
- 批量添加后实例数不能大于伸缩组的最大实例数。
- 当伸缩组处于INSERVICE状态且没有伸缩活动时,才能添加实例。
- 当伸缩组没有伸缩活动时,才能移出实例。实例处于INSERVICE时才可以移出。
- 向伸缩组中添加实例时,必须保证实例所在的可用分区包含于伸缩组所配置的可用分区内,且实例所在VPC和伸缩组的VPC相同。
涉及接口
- 获取IAM用户Token:确定调用API鉴权时使用的token。
- 查询弹性伸缩组列表:确定要进行批量操作的伸缩组。
- 查询弹性伸缩组中的实例列表:获取指定伸缩组实例列表。
- 批量操作实例:批量移出实例。
调试
您可以在API Explorer中调试该接口。
操作步骤
- 确定调用API鉴权时使用的token。
- 查询token,详情请参见获取用户Token。
- 获取响应Header参数中X-Subject-Token对应的值。
- 确定要进行批量操作的伸缩组。
- 查询伸缩组列表。
- 接口相关信息
URI格式:GET /autoscaling-api/v1/{project_id}/scaling_group
详情请参见查询弹性伸缩组列表。
- 请求示例
GET: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group
{endpoint}信息请从地区和终端节点获取。
- 响应示例
{ "limit": 20, "scaling_groups": [ { "networks": [ { "id": "a8327883-6b07-4497-9c61-68d03ee193a", "ipv6_enable": true, "ipv6_bandwidth": { "id": "076ee2ff-f23e-4338-b8ac-1bc7278532d5" } } ], "available_zones": [ "XXXa", "XXXb" ], "detail": null, "scaling_group_name": "as-group-test", "scaling_group_id": "77a7a397-7d2f-4e79-9da9-6a35e2709150", "scaling_group_status": "INSERVICE", "scaling_configuration_id": "1d281494-6085-4579-b817-c1f813be835f", "scaling_configuration_name": "healthCheck", "current_instance_number": 0, "desire_instance_number": 1, "min_instance_number": 0, "max_instance_number": 500, "cool_down_time": 300, "lb_listener_id": "f06c0112570743b51c0e8fbe1f235bab", "security_groups": [ { "id": "8a4b1d5b-0054-419f-84b1-5c8a59ebc829" } ], "create_time": "2015-07-23T02:46:29Z", "vpc_id": "863ccae2-ee85-4d27-bc5b-3ba2a198a9e2", "health_periodic_audit_method": "ELB_AUDIT", "health_periodic_audit_time": 5, "health_periodic_audit_grace_period": 600, "instance_terminate_policy": "OLD_CONFIG_OLD_INSTANCE", "is_scaling": false, "delete_publicip": false, "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413", "multi_az_priority_policy": "PICK_FIRST" } ], "total_number": 1, "start_number": 0 }
- 接口相关信息
- 选择要操作实例的伸缩组,并记录伸缩组ID。
- 查询伸缩组列表。
- 获取指定伸缩组实例列表。
- 查询弹性伸缩组中的实例列表。
- 接口相关信息
URI格式:GET /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list
详情请参见查询弹性伸缩组中的实例列表。
- 请求示例
本示例展示了查询ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组下已启用且处于健康状态的实例。
GET: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/list?life_cycle_state=INSERVICE&health_status=NORMAL
{endpoint}信息请从地区和终端节点获取。
- 响应示例
{ "limit": 10, "total_number": 1, "start_number": 0, "scaling_group_instances": [ { "instance_id": "b25c1589-c96c-465b-9fef-d06540d1945c", "scaling_group_id": "e5d27f5c-dd76-4a61-b4bc-a67c5686719a", "scaling_group_name": "discuz", "life_cycle_state": "INSERVICE", "health_status": "NORMAL", "scaling_configuration_name": "discuz", "scaling_configuration_id": "ca3dcd84-d197-4c4f-af2a-cf8ba39696ac", "create_time": "2015-07-23T06:47:33Z", "instance_name": "discuz_3D210808", "protect_from_scaling_down": false } ] }
- 接口相关信息
- 选择需要操作的实例,并记录实例ID。
- 查询弹性伸缩组中的实例列表。
- 批量移出实例。
- 接口相关信息
URI格式:POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action
详情请参见批量操作实例。
- 请求示例
本示例展示将实例ID为instance_id_1和instance_id_2的两个实例批量从ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组移出并删除的操作。
POST: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action
{endpoint}信息请从地区和终端节点获取。
Body:
{ "action": "REMOVE", "instances_id": [ "instance_id_1", "instance_id_2" ], "instance_delete": "yes" }
- 接口相关信息