API标准及多语言预置SDK
本产品(Ess/2014-08-28)的OpenAPI采用RPC签名风格。我们已经为开发者封装了常见编程语言的SDK,开发者可通过下载SDK直接调用本产品OpenAPI而无需关心技术细节。如果现有SDK不能满足使用需求,可通过签名机制进行自签名对接。由于自签名细节非常复杂,需花费 5个工作日左右。因此建议加入我们的服务钉钉群(147535001692),在专家指导下进行签名对接。
在使用API前,您需要准备好身份账号及访问密钥(AccessKey),才能有效通过客户端工具(SDK、CLI等)访问API。细节请参见获取AccessKey。
自定义签名场景
若您的业务场景有特殊需求,需通过自签名方式对接 API,建议优先咨询我们的技术支持团队(服务钉钉群:147535001692),获取专业指导以确保高效接入。
账号与安全准备
阿里云账号具备对所有资源的完全管理权限。一旦 AccessKey 泄露,所有相关资源都将面临未经授权访问的风险。为确保安全,建议创建一个仅具备 API 访问权限的RAM用户并配置其 AccessKey,同时基于最小权限原则 (PoLP) 配置 RAM 策略。仅在明确需要阿里云账号权限的特定场景下,才使用阿里云账号。
伸缩组
|
API |
标题 |
API概述 |
| CreateScalingGroup | 创建一个伸缩组 | 如果您需要根据业务变动需求与策略自动增加或减少指定类型的实例数量,则可以通过调用API CreateScalingGroup创建伸缩组来自动调整您的业务计算能力(即实例数量)。 |
| DeleteScalingGroup | 删除一个伸缩组 | 删除一个伸缩组。 |
| ModifyScalingGroup | 修改一个伸缩组 | 如果您需要根据业务变动需求与策略自动增加或减少指定类型的实例数量,则可以通过配置伸缩组来自动调整您的业务计算能力(即实例数量)。如果当前伸缩组属性不再满足业务需求,则您可以调用API ModifyScalingGroup修改伸缩组属性(例如最大实例数、最小实例数或期望实例数等属性),避免重新创建伸缩组并重新配置相关属性,节省了时间和资源成本。 |
| EnableScalingGroup | EnableScalingGroup | 如果伸缩组处于停用状态,并且该伸缩组已通过指定启动模板方式或者创建并启用伸缩配置方式指定了实例配置来源,您可以调用API EnableScalingGroup启用一个伸缩组,通过弹性伸缩来自动调整您的业务计算能力(即实例数量)。 |
| DisableScalingGroup | 停用一个伸缩组 | 停用一个伸缩组。 |
| SetGroupDeletionProtection | 为伸缩组开启或关闭删除保护 | 为伸缩组开启或关闭删除保护。 |
| AttachLoadBalancers | AttachLoadBalancers | 伸缩组支持关联负载均衡实例,通过负载均衡实例将访问流量分发到伸缩组内的多个实例中,可以有效增强伸缩组的服务能力,您可以调用API AttachLoadBalancers添加一个或多个负载均衡实例。 |
| DetachLoadBalancers | DetachLoadBalancers | 如果当前弹性伸缩组关联的负载均衡实例不能满足您的需求或者您需要取消关联,调用DetachLoadBalancers,通过指定伸缩组的ID、负载均衡实例的ID、ForceDetach等配置参数,移除一个或多个负载均衡 CLB(原 SLB)实例,同时可以选择异步调用以及是否移除负载均衡实例后端服务器中属于当前伸缩组的ECS实例。该接口仅支持移除负载均衡 CLB(原 SLB)实例。 |
| DetachDBInstances | DetachDBInstances | 如果您需要减少伸缩组内的RDS实例,可以通过调用API DetachDBInstance移除一个或多个RDS实例,来改变伸缩组与RDS实例的强行绑定关系,增加您使用上的灵活性与实用性。 |
| AttachDBInstances | AttachDBInstances | 通过调用API AttachDBInstances为伸缩组添加一个或多个RDS实例,可实现根据您的需要随时调整伸缩组内的RDS实例数量,增加您使用上的灵活性与实用性。 |
| AttachVServerGroups | 添加负载均衡实例下虚拟服务器组 | 添加负载均衡实例下的一个或者多个虚拟服务器组。 。 |
| DetachVServerGroups | 移除一个或者多个虚拟服务器组 | 移除一个或者多个虚拟服务器组。 |
| DescribeScalingGroups | 查询伸缩组列表 | 如果您需要查看伸缩组的基本信息、伸缩组内实例、伸缩配置等信息,您可以调用API DescribeScalingGroups查询该伸缩组。 |
| DescribeScalingInstances | 查询伸缩组内ECS实例列表 | 调用DescribeScalingInstances,通过伸缩组ID查询该伸缩组内的ECS实例列表及实例信息,包括当前伸缩组中,运行状态的抢占式实例总数、ECS实例总数、ECS实例的预热状态、生命周期状态等。同时也支持指定实例健康状态、生命周期状态、创建方式等筛选符合要求的ECS实例。 |
| DescribeScalingActivities | 查询伸缩活动详情 | 通过API DescribeScalingActivities查看伸缩活动的详情,了解通过定时任务、报警任务或手动执行伸缩规则等方式触发伸缩活动的结果。例如,您可以在伸缩活动详情页查看到伸缩活动的状态、活动起因、变化后总实例数等信息。 |
| DescribeScalingActivityDetail | 查询一个伸缩活动的详细信息 | 查询一个伸缩活动的详细信息。 |
| DescribeLimitation | 查询资源配额限制 | 查询资源配额限制。 |
| DescribeElasticStrength | 查询伸缩组的弹性强度 | 伸缩组配置的有效性很大程度决定了扩容过程的成功率。弹性伸缩通过弹性强度描述伸缩配置的有效性,让配置的优良程度量化,帮助用户针对性的优化伸缩配置。 |
| VerifyAuthentication | 检测是否已授权弹性伸缩操作ECS资源 | 检测是否已授权弹性伸缩调操作ECS资源。 |
| SuspendProcesses | SuspendProcesses | 通过调用API SuspendProcesses主动暂停伸缩组某些指定流程,然后去执行其他操作,方便您更加精细地控制伸缩组活动。 |
| ResumeProcesses | ResumeProcesses | 您可以主动调用API ResumeProcesses恢复伸缩组中被暂停的流程,由伸缩组继续按功能逻辑执行指定流程。例如,您恢复健康检查流程后,如果伸缩组某实例被视为不健康就会自动被移出伸缩组。 |
| VerifyUser | 验证是否已开通弹性伸缩服务 | 通过调用API VerifyUser验证是否已开通弹性伸缩服务。 |
伸缩配置
|
API |
标题 |
API概述 |
| CreateScalingConfiguration | 创建一个伸缩配置 | 通过调用CreateScalingConfiguration接口,并指定伸缩组ID、实例规格、实例镜像等信息,为伸缩组创建一个ECS类型的伸缩配置。 |
| DeleteScalingConfiguration | 删除一个伸缩配置 | 删除一个伸缩配置。 |
| ModifyScalingConfiguration | 修改一个ECS类型伸缩配置 | 如果当前的伸缩配置不满足业务需求,您可以通过调用API ModifyScalingConfiguration修改ECS类型的伸缩配置(即待扩容的ECS实例模板)。 |
| DescribeScalingConfigurations | 查询ECS类型伸缩配置信息 | 调用API DescribeScalingConfigurations查询ECS类型伸缩配置的信息,包括实例规格、镜像等信息,方便您提前了解弹性扩张时使用的ECS实例模板详情。 |
| DeactivateScalingConfiguration | 使指定伸缩配置进入失效状态 | 使指定伸缩配置进入失效状态。 |
伸缩规则
|
API |
标题 |
API概述 |
| CreateScalingRule | 创建一条伸缩规则 | 创建一条伸缩规则。 |
| DeleteScalingRule | 删除一条伸缩规则 | 删除一条伸缩规则。 |
| ModifyScalingRule | 修改伸缩规则属性 | 创建伸缩规则后,如果当前伸缩规则不再满足需求,您可以调用API ModifyScalingRule修改一项或多项伸缩规则属性,无需重新创建新的伸缩规则,避免不必要的重复操作,节约时间和资源成本。 |
| DescribeScalingRules | 查询伸缩规则 | 查询伸缩组下的伸缩规则,并列出伸缩规则的信息。 |
触发任务
|
API |
标题 |
API概述 |
| AttachInstances | AttachInstances | 调用API AttachInstances将实例手动添加到伸缩组中,即您可以将伸缩组以外的ECS实例、ECI实例或托管实例添加到伸缩组中并提供服务,或者将伸缩组中处于节省停机状态的ECS实例重新启动变为服务状态(运行中状态)并在伸缩组中提供服务。 |
| DetachInstances | DetachInstances | 如果当前伸缩组状态为启用状态,且伸缩组内不存在执行中的伸缩活动,您可以调用API DetachInstances从一个伸缩组移出一台或多台ECS实例、ECI实例或托管实例。 |
| ExecuteScalingRule | 执行一条伸缩规则 | 执行一条伸缩规则。 |
| RemoveInstances | RemoveInstances | 如果当前伸缩组状态为启用状态,且伸缩组内不存在执行中的伸缩活动,您可以调用API RemoveInstances从一个伸缩组删除一台或多台不再需要的实例。 |
定时任务
|
API |
标题 |
API概述 |
| CreateScheduledTask | 创建一个定时任务 | 创建一个定时任务。 |
| DeleteScheduledTask | 删除一个定时任务 | 删除一个定时任务。 |
| ModifyScheduledTask | ModifyScheduledTask | 如果当前伸缩组的定时任务不能满足业务需求,您可以调用ModifyScheduledTask接口,通过指定定时任务的ID修改已有定时任务的配置参数:需要执行的伸缩规则、伸缩组内实例数量、任务执行频率、重试策略等。 |
| DescribeScheduledTasks | DescribeScheduledTasks | 定时任务是一种预设任务,可以在指定时间执行指定的伸缩规则,实现计算资源的自动扩缩容。定时任务创建完成后,您可以调用API DescribeScheduledTasks查询定时任务的详细信息,例如,定时任务的触发时间点、定时任务总数、执行定时任务的伸缩组的ID等。 |
生命周期挂钩
|
API |
标题 |
API概述 |
| CreateLifecycleHook | 为伸缩组创建一个或多个生命周期挂钩 | 为伸缩组创建一个或多个生命周期挂钩。 |
| DeleteLifecycleHook | 删除一个生命周期挂钩 | 删除一个生命周期挂钩。 。 |
| ModifyLifecycleHook | 修改一个生命周期挂钩的信息 | 修改一个生命周期挂钩的信息。 。 |
| DescribeLifecycleActions | 查询 Lifecycle Token | 根据伸缩活动ID和状态查询 Lifecycle Token。 |
| DescribeLifecycleHooks | 查询生命周期挂钩详情 | 调用DescribeLifecycleHooks通过指定生命周期挂钩ID或伸缩组ID来查询生命周期挂钩的信息,包括等待状态结束后的下一步动作、生命周期挂钩对应的伸缩活动类型、通知对象标识符、挂起等待时间等。 |
| RecordLifecycleActionHeartbeat | 延长生命周期挂钩触发后被挂起等待时间 | 延长一个生命周期挂钩触发后被挂起的ECS实例的等待时间。 |
| CompleteLifecycleAction | 提前结束伸缩活动的等待状态 | 提前结束伸缩活动的等待状态。 |
事件通知
|
API |
标题 |
API概述 |
| CreateNotificationConfiguration | CreateNotificationConfiguration | 事件通知支持在发生指定类型的事件后,自动发送消息到云监控、MNS主题和MNS队列,可以帮助您及时掌握伸缩组的动态,进一步实现自动化管理。如果当前事件通知的类型不再满足业务需求,您可以调用API ModifyNotificationConfiguration修改弹性伸缩事件及资源变化通知,您无需重新创建新的事件通知,但不支持修改事件通知的通知方式。 |
| DeleteNotificationConfiguration | 删除一条弹性伸缩事件及资源变化通知 | 删除一条弹性伸缩事件及资源变化通知。 |
| ModifyNotificationConfiguration | ModifyNotificationConfiguration | 修改一条弹性伸缩事件及资源变化通知。 |
| DescribeNotificationConfigurations | 查询弹性伸缩事件及资源变化通知 | 调用API DescribeNotificationConfiguration,通过伸缩组ID查询该伸缩组的弹性伸缩事件及资源变化通知,包括事件通知类型和通知方式等。 |
| DescribeNotificationTypes | 查询弹性伸缩事件及资源变化通知的类型 | 查询弹性伸缩事件及资源变化通知的类型。 。 |
实例
|
API |
标题 |
API概述 |
| SetInstancesProtection | SetInstancesProtection | 调用API SetInstancesProtection可以保护或停止保护伸缩组内的一台或者多台ECS实例。开启ECS实例的保护功能后,伸缩组自动缩容时该实例不会被终止或释放,仅可手动在控制台或通过调用API RemoveInstances删除该实例。 |
| SetInstanceHealth | 设置伸缩组内ECS实例的健康状态 | 设置伸缩组内ECS实例的健康状态。 |
| EnterStandby | EnterStandby | 调用API EnterStandby将伸缩组内的ECS实例或ECI实例设置为备用状态,方便您自行管理ECS实例或ECI实例的生命周期。 |
| ExitStandby | ExitStandby | 伸缩组内发生伸缩活动时,不会移出处于备用状态的ECS实例或ECI实例。如果您需要再次使用该实例参与伸缩活动,您可以调用API ExitStandby将伸缩组中处于备用状态的ECS实例或ECI实例移出备用状态并转化为运行状态。 |
| RebalanceInstances | 重新平衡ECS实例分布 | 重新平衡多可用区伸缩组内ECS实例的分布。 |
地域
|
API |
标题 |
API概述 |
| DescribeRegions | 查询可以使用弹性伸缩服务的地域 | 查询可以使用弹性伸缩服务的地域。 |
标签
|
API |
标题 |
API概述 |
| ListTagResources | 查询弹性伸缩资源已经绑定的标签列表 | 查询一个或多个弹性伸缩资源已经绑定的标签列表。 |
| ListTagKeys | 查询弹性伸缩资源标签键的列表 | 查询弹性伸缩资源标签键的列表。 |
| ListTagValues | 查询弹性伸缩资源标签键对应的标签值 | 查询弹性伸缩资源标签键对应的标签值。 |
| TagResources | 为资源列表创建并绑定标签 | 为指定的弹性伸缩资源列表统一创建并绑定标签。 |
| UntagResources | UntagResources | 调用API UntagResources为指定的弹性伸缩资源列表统一解绑标签,可以简化资源管理、提高系统性能优化、降低安全风险。解绑标签后,如果该标签没有绑定其他任何资源,则会被自动删除。 |
报警
|
API |
标题 |
API概述 |
| CreateAlarm | CreateAlarm | 针对具有突发性或时间上不易预测的业务,调用CreateAlarm创建一个报警任务,该任务关联云监控指标后,可以动态调整伸缩组内的ECS实例或ECI实例数量,并实时监控实例指标,帮助您更好地管理和维护云资源。 |
| DeleteAlarm | 删除一个报警任务 | 删除一个报警任务。 |
| DisableAlarm | 停用一个报警任务 | 停用一个报警任务。 |
| EnableAlarm | 启用一个报警任务 | 启用一个报警任务。 |
| ModifyAlarm | 修改报警任务 | 修改一个报警任务。 |
| DescribeAlarms | 查询报警任务的信息 | 查询报警任务的信息。 |
其他
|
API |
标题 |
API概述 |
| AttachAlbServerGroups | 添加一个或多个ALB服务器组 | 向伸缩组添加一个或多个ALB服务器组。 |
| CreateEciScalingConfiguration | 创建一个伸缩配置 | 创建一个ECI类型的伸缩配置。 |
| DeleteEciScalingConfiguration | 删除一个伸缩配置 | 删除一个ECI类型的伸缩配置。 |
| DescribeEciScalingConfigurations | 查询 ECI 类型的伸缩配置 | 调用DescribeEciScalingConfigurations接口,并可以指定伸缩组的ID、伸缩配置的ID或名称等参数查询ECI类型的伸缩配置信息,例如实例的抢占策略、容器组的实例规格、容器镜像的拉取策略、ECI实例作为后端服务器时的权重等。 |
| DetachAlbServerGroups | 移出一个或多个ALB服务器组 | 从伸缩组移出一个或多个ALB服务器组。 |
| ModifyEciScalingConfiguration | 修改一个伸缩配置 | 调用ModifyScalingConfiguration修改一个ECI类型的伸缩配置。 |
| ScaleWithAdjustment | ScaleWithAdjustment | 区别于ExecuteScalingRule接口,您无需提前创建伸缩规则,直接调用API ScaleWithAdjustment接口快速基于指定调整规则触发弹性扩缩容。 |
| ChangeResourceGroup | 更改伸缩组所属的资源组 | 将一个伸缩组作为资源加入一个资源组。 |
| AttachServerGroups | 添加一个或多个负载均衡服务器组 | 从伸缩组添加一个或多个负载均衡服务器组,支持的服务器组类型包括:应用型负载均衡ALB (Application Load Balancer)、网络型负载均衡NLB (Network Load Balancer)。 |
| DetachServerGroups | 从伸缩组移除负载均衡服务器组 | 对于需要动态调整实例数量来应对业务变化负载以及确保应用程序的高可用性场景,调用API DetachServerGroups从伸缩组移除一个或多个负载均衡服务器组,支持的服务器组类型包括应用型负载均衡ALB、网络型负载均衡NLB和网关型负载均衡GWLB,可以实现对负载均衡策略的动态调整,并帮助提高系统的高可用性。 |
| ModifyInstanceAttribute | 修改伸缩组内实例的生命周期托管属性 | 调用ModifyInstanceAttribute,并指定伸缩组内实例的ID、伸缩组的ID、伸缩组所属的地域ID等参数,修改伸缩组中一台ECS实例的部分信息,目前仅支持修改手动添加到伸缩组中实例的生命周期托管属性。 |
| DescribePatternTypes | 根据实例属性查询实例规格 | 使用指定实例属性方式配置伸缩配置时,调用API DescribePatternTypes接口根据指定实例的vCPU核数、内存大小、规格族级别以及可接受的最高价格等属性,筛选出符合要求的实例规格。 |
| ApplyScalingGroup | 基于配置文件管理伸缩组 | 如果您需要通过配置文件方式快速创建和管理ECI类型的伸缩组,则可以通过调用API ApplyScalingGroup来实现该功能。 |
| ModifyAlertConfiguration | 设置伸缩组中需要发送消息通知的伸缩活动状态 | 伸缩活动在执行成功、失败或者被拒绝时,弹性伸缩支持通过短信、邮件方式发送消息通知,您需要在接收到消息后自行处理相关事件。您可以调用API ModifyAlertConfiguration设置伸缩组中需要发送短信、邮件通知的伸缩活动状态,方便您及时了解某个伸缩活动的变化,快速响应提高扩缩容效率。 |
| DescribeAlertConfiguration | 查询伸缩组中需要发送消息的伸缩活动状态 | 伸缩活动在执行成功、失败或者被拒绝时,弹性伸缩支持通过短信、邮件方式发送消息通知,您需要在接收到消息后自行处理相关事件。您可以调用API DescribeAlertConfiguration查询伸缩组中的发送短信、邮件通知的伸缩活动状态,方便您及时了解某个伸缩活动的变化,快速响应提高扩缩容效率。 |
| SuspendInstanceRefresh | 暂停实例刷新任务 | 实例刷新任务执行期间,如果您觉得配置存在问题,但不确定是否需要回滚,您可以调用此API暂停实例刷新任务,在此期间,您可以检查配置是否正确。 |
| ResumeInstanceRefresh | 恢复暂停中的实例刷新任务 | 恢复一个处于暂停状态的实例刷新任务。 |
| CancelInstanceRefresh | 取消实例刷新任务 | 取消实例刷新任务,会保留已经完成替换和扩容的新实例。 |
| DescribeInstanceRefreshes | 查询实例刷新任务列表 | 如果您需要查看实例刷新任务的基本信息、 实例刷新任务的进度等信息,您可以调用DescribeInstanceRefreshes查询该伸缩组的实例刷新任务。 |
| RollbackInstanceRefresh | 回滚实例刷新任务 | 在实例刷新任务执行过程中,如果发现期望配置不符合需求,您可以调用此API来回滚实例刷新任务。在回滚时,系统将使用伸缩组当前生效的配置来创建新的实例,以替换那些基于期望配置创建的实例。 |
| StartInstanceRefresh | 启动实例刷新任务 | 在您需要将新的伸缩配置应用到伸缩组实例中时,或需要更新伸缩组中实例的镜像时,您可以调用本接口完成伸缩组中实例的刷新。 |
| CancelScalingGroupZoneShift | 取消伸缩组可用区故障降级 | 取消伸缩组可用区故障降级。 |
| StartScalingGroupZoneShift | 开启伸缩组可用区故障降级 | 开启伸缩组可用区故障降级。 |
该文章对您有帮助吗?