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 示例仓库

