云服务器内容精选

  • 进行回调操作 在伸缩实例页面,单击需要进行回调操作的伸缩组名称,进入弹性伸缩组的“基本信息”界面。 选择“伸缩实例”页签。 单击被挂钩挂起实例“生命周期状态”列下的“加入挂起” 或“移出挂起”,如图3所示。 图3 回调操作入口 只有被生命周期挂钩挂起的实例,可执行回调操作。 在弹出的“伸缩实例挂起信息”界面,可查看某个实例的挂起信息及当前伸缩组中所有的挂钩,并且可对每个挂钩执行回调操作。如图4所示。 图4 伸缩实例挂起信息页面 回调操作包括: 继续 终止 延长超时时间 如果您在超时时间结束前已完成自定义操作,选择“继续”或“终止”完成生命周期操作。“继续”或“终止”操作含义请参见表1。如果您需要更多时间完成自定义操作,选择“延长超时间”延长超时时间,实例保持等待状态的时间将增加3600秒。
  • 工作原理 将生命周期挂钩添加到伸缩组后,生命周期挂钩将按照如下方式工作: 实例移入伸缩组 实例移入伸缩组并且初始化完成之后,自动触发挂钩类型为“实例启动”的生命周期挂钩,实例进入“加入挂起”状态,即实例被挂钩挂起。若您配置了一个通知目标,则系统会向该目标发送消息。收到消息后,您可以执行自定义操作,例如在实例上安装软件。自定义操作执行完成后,您可以手动执行回调操作,结束实例等待状态,详细操作步骤请参见进行回调操作。或等待超时时间结束,系统自动结束实例等待状态。实例等待状态结束之后的默认回调操作有两种执行方案,“继续”或“终止”。这两种执行方案解释如下: 继续:处于等待状态的实例将加入伸缩组。 终止:处于等待状态的实例将被直接删除并重新创建新实例。 若配置了多个“实例启动”类型的生命周期挂钩,实例移入伸缩组会触发多个生命周期挂钩,若有一个挂钩默认回调操作为“终止”时,将会直接删除实例并重新创建新实例。若所有挂钩默认回调操作都为“继续”时,则会等待最后一个挂钩挂起结束后,将实例加入伸缩组。 实例移出伸缩组 实例移出伸缩组时,先进入正在移出伸缩组状态,触发生命周期挂钩后,实例进入“移出挂起”状态。系统会向您配置的通知目标发送消息,收到消息后,您可以执行自定义操作,如卸载实例上的软件、备份数据等。自定义操作执行完成之后,您可以选择手动执行默认回调操作或等待超时时间超时来结束实例等待状态。等待状态结束后实例有两种执行方案,继续或终止,这两种执行方案解释如下: 继续:将实例移出伸缩组 终止:将实例移出伸缩组 当有多个挂钩时,“继续”表示继续等待其他挂钩挂起超时,只有所有挂钩状态都为“继续”时,才会将实例移出伸缩组。只要有一个挂钩默认回调操作为“终止”,会直接将实例移出伸缩组。
  • 实例移除策略 当您的伸缩组自动移除实例时,如果伸缩组内存在不属于当前配置的可用区的实例,移除实例时,会优先移除这些实例。其次,再按照您配置的实例移除策略移除实例。 弹性伸缩目前支持的实例移除策略,包括如下四种方式: 较早创建的实例:创建时间较早的实例优先被移除伸缩组。当您将伸缩组中的实例升级为新的实例类型,可以逐渐将较旧类型的实例替换为较新类型的实例时,此策略非常有用。 较晚创建的实例:创建时间较晚的实例优先被移除伸缩组。如果要测试新的伸缩配置但不想在生产中保留它时,此策略非常有用。 较早创建的配置中较早创建的实例:较早创建的配置中较早创建的“实例”优先被移除伸缩组。如果要更新某个组并且逐步淘汰先前配置中的实例时,此策略非常有用。 较早创建的配置中较晚创建的实例:较早创建的配置中较晚创建的“实例”优先被移除伸缩组。 手动移入伸缩组的云服务器不会遵循“实例移除策略”的要求,实例移除优先级最低,且移除时,系统不会删除该云服务器。当有多个手工加入伸缩组的云服务器时,移除规则是:先进先出。 父主题: 伸缩活动
  • 返回值 正常 200 异常 返回值 说明 400 Bad Request 服务器未能处理请求。 401 Unauthorized 被请求的页面需要用户名和密码。 403 Forbidden 对被请求的页面访问禁止。 404 Not Found 服务器无法找到被请求的页面。 405 Method Not Allowed 请求中指定的方法不被允许。 406 Not Acceptable 服务器生成的响应无法被客户端所接受。 407 Proxy Authentication Required 用户必须首先使用代理服务器进行验证,这样请求才会被处理。 408 Request Timeout 请求超出了服务器的等待时间。 409 Conflict 由于冲突,请求无法被完成。 500 Internal Server Error 请求未完成。服务异常。 501 Not Implemented 请求未完成。服务器不支持所请求的功能。 502 Bad Gateway 请求未完成。服务器从上游服务器收到一个无效的响应。 503 Service Unavailable 请求未完成。系统暂时异常。 504 Gateway Timeout 网关超时。
  • 响应示例 { "limit": 20, "scaling_activity_log": [ { "id": "8753a18c-931d-4cb8-8d49-6c99396af348", "instance_value": 0, "desire_value": 0, "scaling_value": 0, "start_time": "2018-11-22T13:46:20Z", "end_time": "2018-11-22T13:47:38Z", "status": "SUC CES S", "lb_bind_success_list": [ { "lbaas_listener": { "weight": 1, "listener_id": null, "pool_id": "0f0a9dd8-2e1d-4432-8ca2-49adc75aa662", "protocol_port": 82 } } ], "lb_bind_failed_list": [], "lb_unbind_success_list": [], "lb_unbind_failed_list": [], "type": "MODIFY_ELB" }, { "id": "44152cf2-a005-4507-b6e9-66a2a64eff52", "instance_value": 0, "desire_value": 1, "scaling_value": 1, "start_time": "2018-11-22T13:44:22Z", "end_time": "2018-11-22T13:46:02Z", "instance_added_list": [ { "instance_id": "8e273bac-d303-46dc-9883-628be2294bdf", "instance_name": "as-config-t66a_9W8L9SSK" } ], "instance_deleted_list": [], "instance_removed_list": [], "instance_failed_list": [], "status": "SUCCESS", "description": "{\"reason\":[{\"change_reason\":\"MANNUAL\",\"old_value\":0,\"change_time\":\"2018-11-22T13:44:19Z\",\"new_value\":1}]}", "type": "NORMAL" }], "total_number": 2, "start_number": 0}
  • URI GET /autoscaling-api/v2/{project_id}/scaling_activity_log/{scaling_group_id} 可以在URI后面用‘?’和‘&’添加不同的查询条件组合。支持参数说明中所有非必选参数过滤,请参考请求示例。 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 项目ID scaling_group_id 是 String 伸缩组ID log_id 否 String 伸缩活动日志ID start_time 否 String 查询的起始时间,遵循UTC时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 end_time 否 String 查询的截止时间,遵循UTC时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 start_number 否 Integer 查询的起始行号,默认为0。最小值为0。 limit 否 Integer 查询的记录条数,默认为20。取值范围为:0~100。 type 否 String 查询的伸缩活动类型(查询多类型使用逗号分隔): NORMAL:普通伸缩活动 MANNUAL_REMOVE:从伸缩组手动移除实例 MANNUAL_DELETE:从伸缩组手动移除并删除实例 MANNUAL_ADD:实例手动加入伸缩组。 ELB_CHECK_DELETE:ELB检查移除并删除实例。 AUDIT_CHECK_DELETE:通过审计移除并删除实例。 DIFF:期望实例数与实际实例数不一致。 MODIFY_ELB:LB迁移。 ENTER_STANDBY:实例转入备用。 EXIT_STANDBY:实例移出备用。 status 否 String 伸缩活动状态: SUCCESS:成功 FAIL:失败 DOING:伸缩中
  • 请求示例 查询ID为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组的伸缩活动日志,查询的起始时间为2018-11-22T00:00:00Z,结束时间为2018-11-22T14:00:00Z。 GET https://{Endpoint}/autoscaling-api/v2/{project_id}/scaling_activity_log/e5d27f5c-dd76-4a61-b4bc-a67c5686719a?start_time=2018-11-22T00:00:00Z&end_time=2018-11-22T14:00:00Z
  • 响应参数 表2 响应参数 参数 参数类型 描述 total_number Integer 总记录数 start_number Integer 查询的起始行号 limit Integer 查询记录数 scaling_activity_log Array of scaling_activity_log objects 伸缩活动日志列表。详情请见表 scaling_activity_log字段数据结构说明。 表3 scaling_activity_log字段数据结构说明 参数 参数类型 描述 status String 伸缩活动状态: SUCCESS:成功 FAIL:失败 DOING:伸缩过程中 start_time String 伸缩活动触发时间,遵循UTC时间。 end_time String 伸缩活动结束时间,遵循UTC时间。 id String 伸缩活动日志ID instance_removed_list Array of scaling_instance objects 完成伸缩活动且只被移出弹性伸缩组的云服务器名称列表。详情请见表 scaling_instance字段数据结构说明。 instance_deleted_list Array of scaling_instance objects 完成伸缩活动且被移出弹性伸缩组并删除的云服务器名称列表。详情请见表 scaling_instance字段数据结构说明。 instance_added_list Array of scaling_instance objects 完成伸缩活动且被加入弹性伸缩组的云服务器名称列表。详情请见表 scaling_instance字段数据结构说明。 instance_failed_list Array of scaling_instance objects 弹性伸缩组中伸缩活动失败的云服务器列表。详情请见表 scaling_instance字段数据结构说明。 instance_standby_list Array of scaling_instance objects 完成伸缩活动且被转入/移出备用状态的云服务器列表。详情请见表 scaling_instance字段数据结构说明。 scaling_value String 伸缩活动中变化(增加或减少)的云服务器数量。 description String 伸缩活动的描述信息 instance_value Integer 伸缩组当前实例数值 desire_value Integer 伸缩活动最终期望实例数值 lb_bind_success_list Array of modify_lb objects 绑定成功的负载均衡器列表。详情请见表 modify_lb字段数据结构说明。 lb_bind_failed_list Array of modify_lb objects 绑定失败的负载均衡器列表。详情请见表 modify_lb字段数据结构说明。 lb_unbind_success_list Array of modify_lb objects 解绑成功的负载均衡器列表。详情请见表 modify_lb字段数据结构说明。 lb_unbind_failed_list Array of modify_lb objects 解绑失败的负载均衡器列表。详情请见表 modify_lb字段数据结构说明。 type String 伸缩组活动类型 表4 scaling_instance字段数据结构说明 参数 参数类型 描述 instance_name String 云服务器名称 instance_id String 云服务器id failed_reason String 实例伸缩失败原因 failed_details String 实例伸缩失败详情 instance_config String 实例配置信息 表5 modify_lb字段数据结构说明 参数 参数类型 描述 lbaas_listener lbaas_listener object 增强型负载均衡器信息。详情请见表 lbaas_listener字段数据结构说明。 listener String 经典型负载均衡器信息 failed_reason String 负载均衡器迁移失败原因 failed_details String 负载均衡器迁移失败详情 表6 lbaas_listener字段数据结构说明 参数 参数类型 描述 listener_id String 监听器ID pool_id String 后端云服务器组ID protocol_port Integer 后端协议端口,指后端云服务器监听的端口 weight Integer 权重,指后端云服务器分发得到请求的数量比例
  • 按计划扩展资源 弹性伸缩进行伸缩活动时,应对需求有规律变化的场景,需按照规律定期或者周期性的进行伸缩活动,可通过配置定时策略和周期策略来调整资源。如何创建定时或周期策略可参考创建伸缩策略。 例如,假如有一个Web应用程序,该应用程序支持学生选择选修课程,在每学期开始时,该应用程序的使用率显著提高,但在每学期其余时间该应用程序使用率较低。则可以在每学期的开始时分别配置两条定时策略,第一条定时策略的执行动作设置为:增加一个实例,第二条定时策略的执行动作设置为:减少一个实例。触发时间分别选择选课开始时段和选课结束时间。弹性伸缩便会在设定的时间(即选课开始时间)增加一个实例,在选课结束时减少一个实例,满足学生的使用需求,同时节约了成本。 父主题: 伸缩活动