返回首页

AWS 发布 SageMaker 端点扩缩容 CDK 构造:自动注销与重注册扩缩目标

  • 核心发布:AWS Machine Learning Blog 介绍一个可复用 CDK 构造,用三个 CloudFormation 自定义资源替换原生 AWS::ApplicationAutoScaling::ScalableTarget 与 ScalingPolicy,在 SageMaker AI 实时端点更新时编排注销、更新端点、重注册与附加扩缩策略。
  • 要解决的问题:直接通过 CloudFormation/CDK 更新已注册扩缩目标的 SageMaker 端点会失败;手动注销后仅改端点配置,CloudFormation 不会重新注册扩缩目标;手动注销后改扩缩参数,则可能因目标不存在导致 UPDATE_ROLLBACK_FAILED。
  • 实现机制:Deregister、Register Scalable Target、Attach Scaling Policy 三个自定义资源通过 node.add_dependency 排序;后两者使用 CDK provider 异步完成模式,等待端点进入 InService、扩缩目标可查询后再执行。ConfigHash 让端点或扩缩容任一配置变化都触发整套编排。
  • 部署边界:示例栈实际包含 3 个自定义资源、2 个 Step Functions 状态机与 12 个 Lambda 函数;源码已开放在 GitHub,可把 construct 复制进既有 CDK 栈,或直接部署示例栈。
  • 行业意义:这是 ML 平台工程中典型的基础设施编排问题——模型端点与扩缩容资源有先后依赖,声明式工具直接更新会卡在生命周期约束上。该构造把注销与重注册包进自定义资源,使端点配置和扩缩容参数能在单次部署中变更,对需要频繁调整实例类型或环境变量的推理服务有直接参考价值。

🔗 AWS Machine Learning Blog | GitHub 示例仓库

Four-step orchestration the construct runs during an endpoint update: deregister the scalable target, update the endpoint, register the scalable target, and attach the scaling policyLauren Eterno