帮你快速理解、总结文档立即下载
文档中心>Agent Runtime>操作指南>弹性部署(beta)>配置弹性伸缩与空闲生命周期

配置弹性伸缩与空闲生命周期

最近更新时间:2026-09-10 10:03:30
我的收藏
弹性部署(Deployment)通过伸缩配置决定可用容量,通过空闲生命周期配置决定沙箱实例在无请求时如何处理。本文介绍如何使用 agr 命令配置伸缩与空闲生命周期,并在修改后验证配置结果。完成操作后,您可以创建支持缩容到零的弹性部署,并按需调整最小/最大实例数、单实例并发和空闲处理方式。

操作场景

需要让弹性部署按请求量自动扩缩容,或希望在无请求时停止或暂停沙箱实例,以平衡业务延迟、并发和状态保留需求时,可参考本文配置。

前提条件

使用 agr 命令执行本文操作。
创建弹性部署前需要准备沙箱工具 ID。
修改配置前需要获取目标弹性部署 ID。

参数说明

弹性部署的伸缩配置和空闲生命周期配置分别包含以下字段。

伸缩配置

字段
说明
MinInstanceCount
需要维持的最小活跃沙箱实例数,必须大于或等于 0。设置为 0 时允许缩容到零。
MaxInstanceCount
允许的最大活跃沙箱实例数,必须大于或等于 1,且不能小于 MinInstanceCount。
MaxInstanceRequestConcurrency
单个沙箱实例可同时承载的请求数,必须大于或等于 1。
当现有容量无法承载新请求时,平台会在 MaxInstanceCount 允许的范围内按需启动或恢复沙箱实例。创建弹性部署时即使 MinInstanceCount 大于 0,接口也不会等待预热完成;后台会继续把活跃容量收敛到配置下限。

空闲生命周期配置

字段
说明
IdleTimeoutSeconds
从最后一个活跃弹性部署请求或连接结束后开始计算的空闲时长,单位为秒。
IdleAction
空闲达到阈值后的操作,可选 STOP 或 PAUSE。
STOP:释放沙箱实例,适合无状态服务和希望缩容到零的场景。下一次请求可能需要重新启动沙箱实例。
PAUSE:保留沙箱实例状态,并在后续请求到来时恢复,适合需要保留 Workspace 或进程状态的场景。

注意事项

修改伸缩配置或生命周期配置时,会完整替换对应配置对象,不是局部更新;即使只调整一个值,也必须同时提供该配置组内的全部字段。

操作步骤

步骤一:创建弹性部署并配置伸缩与空闲生命周期

下面创建一个允许缩容到零的弹性部署:
export AGR_REGION='ap-shanghai'
export TOOL_ID='sdt-replace-me'
export DEPLOYMENT_NAME='elastic-service'

agr deployment create \\
--region "${AGR_REGION}" \\
--deployment-name "${DEPLOYMENT_NAME}" \\
--tool-id "${TOOL_ID}" \\
--scaling-configuration '{
"MinInstanceCount": 0,
"MaxInstanceCount": 3,
"MaxInstanceRequestConcurrency": 10
}' \\
--lifecycle-configuration '{
"IdleTimeoutSeconds": 300,
"IdleAction": "STOP"
}'
从 CLI 响应中复制 DeploymentId,再设置后续步骤使用的环境变量:
export DEPLOYMENT_ID='dpl-replace-me'

步骤二:查询创建后的配置

agr deployment get "${DEPLOYMENT_ID}" --region "${AGR_REGION}"

步骤三:修改伸缩配置

agr deployment update "${DEPLOYMENT_ID}" \\
--region "${AGR_REGION}" \\
--scaling-configuration '{
"MinInstanceCount": 2,
"MaxInstanceCount": 4,
"MaxInstanceRequestConcurrency": 10
}'

步骤四:修改空闲处理方式

方式一:空闲 10 分钟后暂停并保留状态

agr deployment update "${DEPLOYMENT_ID}" \\
--region "${AGR_REGION}" \\
--lifecycle-configuration '{
"IdleTimeoutSeconds": 600,
"IdleAction": "PAUSE"
}'

方式二:空闲 5 分钟后停止并释放

agr deployment update "${DEPLOYMENT_ID}" \\
--region "${AGR_REGION}" \\
--lifecycle-configuration '{
"IdleTimeoutSeconds": 300,
"IdleAction": "STOP"
}'

结果验证

完成创建或任一次修改后,执行以下命令查询最终配置:
agr deployment get "${DEPLOYMENT_ID}" --region "${AGR_REGION}"
确认结果满足以下条件:
弹性部署状态为 ACTIVE。
伸缩配置中的 MinInstanceCount、MaxInstanceCount、MaxInstanceRequestConcurrency 与本次设置一致。
空闲生命周期配置中的 IdleTimeoutSeconds、IdleAction 与本次设置一致。

配置建议

延迟敏感服务可提高 MinInstanceCount,避免首次请求承担完整启动或恢复延迟。
无状态、流量间歇的服务可设置 MinInstanceCount=0 并使用 STOP,以降低空闲资源占用。
需要保留 Workspace 状态的服务可使用 PAUSE,并根据可接受的恢复时间设置空闲阈值。
MaxInstanceCount 只是弹性部署配置上限,实际可用容量仍受账号配额、地域资源和沙箱工具启动条件影响。
MaxInstanceRequestConcurrency 应根据应用真实并发能力设置;过高可能增加单实例延迟或资源争用,过低则可能更早触发扩容。