开发者社区> 问答> 正文

弹性伸缩生命周期挂钩有哪些API?

弹性伸缩生命周期挂钩有哪些API?

展开
收起
小天使爱美 2020-03-24 19:47:13 838 0
1 条回答
写回答
取消 提交回答
  • 调用CreateLifecycleHook为伸缩组创建一个或多个生命周期挂钩。

    接口说明 一个伸缩组最多可以创建6个生命周期挂钩。创建了生命周期挂钩的伸缩组,在发生伸缩活动时,生命周期挂钩会暂停伸缩活动一段时间,即伸缩活动等待状态。您可以通过HeartbeatTimeout参数指定具体的等待时长。

    伸缩活动处于等待状态时,伸缩组弹性扩张活动之前或者弹性收缩活动之前为您保留指定时长的操作时间。您可以在等待期间进行初始化ECS实例配置、获取ECS实例数据等操作。等待状态的进程在处于加入或移除RDS实例IP白名单和加入或移除SLB实例IP白名单之间。

    推荐您利用消息服务MNS的主题或者队列创建消息通知,掌握伸缩组内正在启动或者即将释放的ECS实例的动态。

    调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 LifecycleTransition String 是 SCALE_OUT 生命周期挂钩适用的伸缩活动类型,取值范围:

    SCALE_OUT:伸缩组弹性扩张活动 SCALE_IN:伸缩组弹性收缩活动 ScalingGroupId String 是 AG6CQdPU8OKdwLjgZcJ**** 伸缩组的ID。

    Action String 否 CreateLifecycleHook 系统规定参数。取值:CreateLifecycleHook。

    DefaultResult String 否 CONTINUE 等待状态结束后的下一步动作,取值范围:

    CONTINUE:继续响应弹性扩张活动或者继续响应弹性收缩活动。 ABANDON:直接释放弹性扩张活动创建出来的ECS实例或者直接将弹性收缩活动中的ECS实例从伸缩组移除。 默认值:CONTINUE。

    当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,DefaultResult为ABANDON的生命周期挂钩触发的等待状态结束时,会提前将其它对应的等待状态提前结束。其他情况下,下一步动作均以最后一个结束等待状态的下一步动作为准。

    HeartbeatTimeout Integer 否 600 生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。

    默认值:600。

    创建了生命周期挂钩后,您可以调用RecordLifecycleActionHeartbeat延长ECS实例的等待时间,也可以调用CompleteLifecycleAction提前结束伸缩活动的等待状态。

    LifecycleHook.N.DefaultResult String 否 CONTINUE 等待状态结束后的下一步动作,取值范围:

    CONTINUE:继续响应弹性扩张活动或者继续响应弹性收缩活动。 ABANDON:直接释放弹性扩张活动创建出来的ECS实例或者直接将弹性收缩活动中的ECS实例从伸缩组移除。 默认值:CONTINUE。

    当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,DefaultResult为ABANDON的生命周期挂钩触发的等待状态结束时,会提前将其它对应的等待状态提前结束。其他情况下,下一步动作均以最后一个结束等待状态的下一步动作为准。

    LifecycleHook.N.HeartbeatTimeout Integer 否 600 生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。

    默认值:600。

    创建了生命周期挂钩后,您可以调用RecordLifecycleActionHeartbeat延长ECS实例的等待时间,也可以调用CompleteLifecycleAction提前结束伸缩活动的等待状态。

    LifecycleHook.N.LifecycleHookName String 否 test_SCALE_OUT 生命周期挂钩的名称。不能与当前伸缩组其他生命周期挂钩重名,长度为2~40个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、连字符(-)和点号(.)。

    默认值为生命周期挂钩ID。

    LifecycleHook.N.LifecycleTransition String 否 SCALE_OUT 生命周期挂钩适用的伸缩活动类型,取值范围:

    SCALE_OUT:伸缩组弹性扩张活动 SCALE_IN:伸缩组弹性收缩活动 LifecycleHook.N.NotificationArn String 否 acs:ess:cn-hangzhou:1111111111:queue/queue1 生命周期挂钩通知对象标识符。支持消息服务MNS队列和主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。

    region:伸缩组所在的地域 account-id:阿里云账号ID 例如:

    MNS队列:acs:ess:{region}:{account-id}:queue/{queuename} MNS主题:acs:ess:{region}:{account-id}:topic/{topicname} LifecycleHook.N.NotificationMetadata String 否 Test 伸缩活动的等待状态的固定字符串信息。参数长度不能超过128个字符。

    弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的NotificationMetadata参数值,便于管理和标记不同类别的通知信息。当您同时指定了NotificationArn参数时,NotificationMetadata参数方可生效。

    LifecycleHookName String 否 test_SCALE_OUT 生命周期挂钩的名称。不能与当前伸缩组其他生命周期挂钩重名,长度为2~64个英文或中文字符,以数字、大小字母或中文开头,可包含数字、下划线(_)、连字符(-)和点号(.)。

    默认值为生命周期挂钩ID。

    NotificationArn String 否 acs:ess:cn-hangzhou:1111111111:queue/queue1 生命周期挂钩通知对象标识符。支持消息服务MNS队列和主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。

    region:伸缩组所在的地域 account-id:阿里云账号ID 例如:

    MNS队列:acs:ess:{region}:{account-id}:queue/{queuename} MNS主题:acs:ess:{region}:{account-id}:topic/{topicname} NotificationMetadata String 否 Test 伸缩活动的等待状态的固定字符串信息。参数长度不能超过128个字符。

    弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的NotificationMetadata参数值,便于管理和标记不同类别的通知信息。当您同时指定了NotificationArn参数时,NotificationMetadata参数方可生效。

    返回数据 名称 类型 示例值 描述 LifecycleHookId String ash-**** 生命周期挂钩的D。

    RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=CreateLifecycleHook &ScalingGroupId=AG6CQdPU8OKdwLjgZcJ**** &LifecycleHookName=test_SCALE_OUT &LifecycleTransition=SCALE_OUT &NotificationArn=acs:ess:cn-hangzhou:1111111111:queue/queue1 &NotificationMetadata=Test &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E ash-**** JSON 格式

    { "LifecycleHookId":"ash-****", "RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is not valid.

    参数值不合法。

    400

    InvalidNotificationArn

    The specified parameter notificationArn is invalid.

    指定的NotificationArn不合法。

    400

    UnsupportedNotificationType.CurrentRegion

    The notificationType is not supported in the special region which scalingGroup belongs to.

    当前地域不支持该通知方式。

    400

    QueueNotExist

    The specified queue does not exist.

    指定的MNS队列不存在。

    400

    TopicNotExist

    The specified topic does not exist.

    指定的MNS主题不存在。

    400

    InvalidLifecycleHookName.Duplicate

    The specified value of parameter lifecycleHookName is duplicated.

    生命周期挂钩已存在。

    400

    QuotaExceeded.LifecycleHook

    Lifecycle hook quota exceeded in the specified scaling group.

    一个伸缩组最多可以创建6个生命周期挂钩。调用ModifyLifecycleHook修改一个生命周期挂钩的信息。

    接口说明 您可以通过以下两种方式指定待修改的生命周期挂钩:

    只指定生命周期挂钩ID(LifecycleHookId),此时将忽略ScalingGroupId和LifecycleHookName参数。 同时指定伸缩组ID(ScalingGroupId)与生命周期挂钩名称(LifecycleHookName)。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 否 ModifyLifecycleHook 系统规定参数,取值:ModifyLifecycleHook。

    DefaultResult String 否 CONTINUE 等待状态结束后的下一步动作,取值范围:

    CONTINUE:继续响应弹性扩张活动或者继续响应弹性收缩活动。 ABANDON:直接释放弹性扩张活动创建出来的ECS实例或者直接将弹性收缩活动中的ECS实例从伸缩组移除。 当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,DefaultResult为ABANDON的生命周期挂钩触发的等待状态结束时,会提前将其它对应的等待状态提前结束。其他情况下,下一步动作均以最后一个结束等待状态的下一步动作为准。

    HeartbeatTimeout Integer 否 600 生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。

    您可以调用RecordLifecycleActionHeartbeat延长ECS实例的等待时间,也可以调用CompleteLifecycleAction提前结束伸缩活动的等待状态。

    LifecycleHookId String 否 ash-*** 待修改生命周期挂钩的ID,用于指定生命周期挂钩。

    LifecycleHookName String 否 test_SCALE_IN 待修改生命周期挂钩的名称,用于指定生命周期挂钩。

    LifecycleTransition String 否 SCALE_IN 生命周期挂钩适用的伸缩活动类型,取值范围:

    SCALE_OUT:伸缩组弹性扩张活动 SCALE_IN:伸缩组弹性收缩活动 NotificationArn String 否 acs:ess:cn-hangzhou:1111111111:queue/queue2 生命周期挂钩通知对象标识符。支持消息服务MNS队列和主题,参数取值格式:acs:ess:{region}:{account-id}:{resource-relative-id}。

    region:伸缩组所在的地域 account-id:阿里云账号ID 例如:

    MNS队列:acs:ess:{region}:{account-id}:queue/{queuename} MNS主题:acs:ess:{region}:{account-id}:topic/{topicname} NotificationMetadata String 否 Test 伸缩活动的等待状态的固定字符串信息。参数长度不能超过128个字符。

    弹性伸缩每次推送消息到通知对象时,会同时发送您预先指定的NotificationMetadata参数值,便于管理和标记不同类别的通知信息。当您同时指定了NotificationArn参数时,NotificationMetadata参数方可生效。

    ScalingGroupId String 否 AG6CQdPU8OKdwLjgZcJ2*** 伸缩组的ID,用于指定生命周期挂钩。

    返回数据 名称 类型 示例值 描述 RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=ModifyLifecycleHook &ScalingGroupId=AG6CQdPU8OKdwLjgZcJ**** &LifecycleHookName=test_SCALE_IN &LifecycleTransition=SCALE_IN &DefaultResult=ABANDON &NotificationArn=acs:ess:cn-hangzhou:1111111111:queue/queue2 &NotificationMetadata=Test &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E JSON 格式

    { "RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is not valid.

    参数值不合法。

    400

    InvalidLifecycleHookId.NotExist

    The specified lifecycleHookId not exist.

    指定的LifecycleHookId不存在。

    400

    InvalidLifecycleHookName.NotExist

    The specified lifecycleHookName you provided not exist.

    指定的LifecycleHookName不存在。

    400

    InvalidNotificationArn

    The specified parameter notificationArn is invalid.

    指定的NotificationArn不存在。

    400

    UnsupportedNotificationType.CurrentRegion

    The notificationType is not supported in the special region which scalingGroup belongs to.

    当前地域不支持该通知方式。

    400

    LifecycleHook

    The specified queue does not exist.

    指定的MNS队列不存在。

    400

    TopicNotExist

    The specified topic does not exist.

    指定的MNS主题不存在。

    调用DescribeLifecycleHooks查询生命周期挂钩。

    接口说明 您可以通过以下三种方式查询生命周期挂钩:

    指定一个生命周期挂钩ID列表(LifecycleHookId.N),此时将忽略ScalingGroupId和LifecycleHookName参数。 指定伸缩组ID(ScalingGroupId)。 同时指定伸缩组ID(ScalingGroupId)和生命周期挂钩名称(LifecycleHookName)。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 否 DescribeLifecycleHooks 系统规定参数,取值:DescribeLifecycleHooks。

    LifecycleHookId.N RepeatList 否 ash-**** 生命周期挂钩的ID。

    LifecycleHookName String 否 Test 生命周期挂钩的名称。

    PageNumber Integer 否 1 实例状态列表的页码。起始值:1。

    默认值:1。

    PageSize Integer 否 50 分页查询时设置的每页行数。最大值:50。

    默认值:50。

    ScalingGroupId String 否 asg-**** 伸缩组的ID。

    返回数据 名称 类型 示例值 描述 LifecycleHooks 生命周期挂钩信息列表。

    PageNumber Integer 1 查询起始页数。

    PageSize Integer 50 查询每页返回行数。

    RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    TotalCount Integer 1 生命周期挂钩总个数。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=DescribeLifecycleHooks &ScalingGroupId=asg-**** &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 1 50 1 asg- ash- Test CONTINUE 60 SCALE_OUT Test acs:ess:cn-hangzhou:1111111111:queue/queue1 JSON 格式

    { "PageNumber":"1", "TotalCount":"1", "PageSize":"50", "RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E", "LifecycleHooks":{ "LifecycleHook":{ "NotificationArn":"acs:ess:cn-hangzhou:1111111111:queue/queue1", "LifecycleTransition":"SCALE_OUT", "LifecycleHookId":"ash-", "ScalingGroupId":"asg-", "DefaultResult":"CONTINUE", "HeartbeatTimeout":"60", "NotificationMetadata":"Test", "LifecycleHookName":"Test" } } } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is not valid.

    指定的参数值不合法。调用RecordLifecycleActionHeartbeat延长一个生命周期挂钩触发后被挂起的ECS实例的等待时间。

    接口说明 ECS实例的等待时间不能超过6小时,每次等待状态最多能被延时20次。

    调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 否 RecordLifecycleActionHeartbeat 系统规定参数,取值:RecordLifecycleActionHeartbeat。

    lifecycleActionToken String 是 F324B880-900E-4968-85DD-81691113**** 伸缩活动的等待状态标识符,您可以从生命周期挂钩指定的消息服务队列或主题中获取该值。

    lifecycleHookId String 是 ash-**** 生命周期挂钩的ID。

    heartbeatTimeout Integer 否 600 生命周期挂钩为伸缩组活动设置的等待时间,等待状态超时后会执行下一步动作。取值范围:30~21600,单位:秒。

    默认值:600。

    创建了生命周期挂钩后,您可以调用本接口延长ECS实例的等待时间,也可以调用CompleteLifecycleAction提前结束伸缩活动的等待状态。

    返回数据 名称 类型 示例值 描述 RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=RecordLifecycleActionHeartbeat &LifecycleHookId=ash-**** &LifecycleActionToken=F324B880-900E-4968-85DD-81691113**** &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E JSON 格式

    { "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is not valid.

    指定的参数值不合法。

    400

    LifecycleHookIdAndLifecycleActionToken.Invalid

    The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.

    根据指定的LifecycleActionToken无法匹配LifecycleHookId。

    400

    LifecycleAction.TimeExceeded

    The specified parameter heartbeatTime exceed lifecycleAction max suspend time.

    等待时间最长不能超过6小时。

    400

    LifecycleAction.RecordTimesExceeded

    The specified lifecycleAction exceed lifecycleAction max record times.

    每次等待状态最多能被延时20次。调用CompleteLifecycleAction提前结束伸缩活动的等待状态。

    接口说明 允许设置结束等待状态后的下一步动作是继续完成伸缩活动(CONTINUE)还是弃用此次伸缩活动(ABANDON)。

    调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 LifecycleActionToken String 是 aaaa-bbbbb-cccc-ddddd 伸缩活动的等待状态标识符,您可以从生命周期挂钩指定的消息服务队列或主题中获取该值。

    LifecycleHookId String 是 ash-**** 生命周期挂钩的ID。

    Action String 否 CompleteLifecycleAction 系统规定参数,取值:CompleteLifecycleAction。

    LifecycleActionResult String 否 CONTINUE 等待状态结束后的下一步动作,取值范围:

    CONTINUE:继续响应弹性扩张活动或者继续响应弹性收缩活动。 ABANDON:直接释放弹性扩张活动创建出来的ECS实例或者直接将弹性收缩活动中的ECS实例从伸缩组移除。 默认值:CONTINUE。

    当伸缩组发生弹性收缩活动(SCALE_IN)并触发多个生命周期挂钩时,DefaultResult为ABANDON的生命周期挂钩触发的等待状态结束时,会提前将其它对应的等待状态提前结束。其他情况下,下一步动作均以最后一个结束等待状态的下一步动作为准。

    返回数据 名称 类型 示例值 描述 RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=CompleteLifecycleAction &LifecycleHookId=ash-**** &LifecycleActionToken=aaaa-bbbbb-cccc-ddddd &LifecycleActionResult=CONTINUE &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E JSON 格式

    { "RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is invalid.

    指定的参数值不合法。

    400

    LifecycleHookIdAndLifecycleActionToken.Invalid

    The specified lifecycleActionToken and lifecycleHookId you provided does not match any in process lifecycle action.

    根据指定的LifecycleActionToken无法匹配LifecycleHookId。

    调用DeleteLifecycleHook删除一个生命周期挂钩。

    接口说明 如果生命周期挂钩已触发伸缩活动等待状态,删除生命周期挂钩时,对应的等待状态会被提前结束。您可以通过以下两种方式删除生命周期挂钩:

    指定生命周期挂钩ID(LifecycleHookId),此时将忽略ScalingGroupId和LifecycleHookName参数。 同时指定伸缩组ID(ScalingGroupId)与生命周期挂钩名称(LifecycleHookName)。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

    调试 请求参数 名称 类型 是否必选 示例值 描述 Action String 否 DeleteLifecycleHook 系统规定参数,取值:DeleteLifecycleHook。

    LifecycleHookId String 否 ash-**** 生命周期挂钩的ID。

    LifecycleHookName String 否 测试SCALE_IN 生命周期挂钩的名称。

    ScalingGroupId String 否 dP8VqSd9ENXPc0ciVmbc**** 伸缩组的ID。

    返回数据 名称 类型 示例值 描述 RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E 请求ID。

    示例 请求示例

    http://ess.aliyuncs.com/?Action=DeleteLifecycleHook &LifecycleHookId=ash-**** &<公共请求参数> 正常返回示例

    XML 格式

    473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E JSON 格式

    { "RequestId":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" } 错误码 访问错误中心查看更多错误码。

    HttpCode

    错误码

    错误信息

    描述

    400

    InvalidParamter

    The specified value of parameter is invalid.

    参数值不合法。

    400

    InvalidLifecycleHookId.NotExist

    The specified lifecycleHookId does not exist.

    生命周期挂钩ID不存在。

    400

    InvalidLifecycleHookName.NotExist

    The specified lifecycleHookName you provided does not exist.

    生命周期挂钩名称不存在。

    2020-03-24 22:24:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第15讲】:Spring Boot 2.0 API与Spring REST Docs实战 立即下载
公共云弹性计算最佳实践-省钱窍门一:弹性伸缩 立即下载
Spring Boot2.0实战Redis分布式缓存 立即下载