ARTICLE · 软件编程

使用 AWS CDK 编排 SageMaker AI 端点自动扩缩容 | Amazon Web Services

作者:Lauren Eterno 来源:AWS Artificial Intelligence 2026-10-24 00:30 8 分钟 10 阅读 1824 字
编程与工程云原生 / DevOpsAWSSageMaker自动扩缩容
一语总结

本文介绍了一个可复用的 CDK 构造,它能在 SageMaker AI 端点更新期间自动完成自动扩缩容资源的注销与重新注册,从而避免部署失败并确保扩缩容能力持续可用。

AI 总结

在自动扩缩容处于启用状态时更新 SageMaker AI 端点的配置(例如实例类型或数量),往往会导致部署失败或产生孤立资源。本文提出了一种基于 CDK 构造的解决方案,该构造包含三个自定义资源,用于在更新前注销可扩缩目标、在更新后重新注册,从而确保部署过程顺畅且无错误。

核心要点
  1. 问题的根源在于 SageMaker 要求在更新前注销可扩缩目标,而 CloudFormation 在资源被注销后无法继续跟踪这些资源,二者之间存在冲突。

    当尝试在自动扩缩容启用的情况下更新端点配置时,SageMaker 会拒绝该变更,并指出需要注销该变体。如果手动注销,CloudFormation 会失去对自动扩缩容资源的跟踪,导致回滚失败或端点在没有扩缩容的情况下运行。

  2. 解决方案是一个 CDK 构造,它使用三个自定义资源来管理端点更新前后自动扩缩容注册的生命周期。

    该构造实现了「注销」步骤以在更新前移除目标,实现了「注册可扩缩目标」步骤以在端点进入服务状态后重新注册,还实现了「附加扩缩容策略」步骤以重新应用扩缩容规则。这确保了端点始终具备正确的扩缩容能力。

  3. 该构造利用异步完成模式来处理 SageMaker API 的时序约束。

    由于可扩缩目标只能在端点完全投入运行后才能注册,「注册可扩缩目标」资源使用长时间运行的等待器定期检查端点状态,确保注册在正确的时间点发生。

使用 AWS CDK 编排 SageMaker AI 端点自动扩缩容 | Amazon Web Services

在自动扩缩容处于启用状态时更新 SageMaker AI 端点的配置(例如实例类型或数量),往往会导致部署失败或产生孤立资源。本文提出了一种基于 CDK 构造的解决方案,该构造包含三个自定义资源,用于在更新前注销可扩缩目标、在更新后重新注册,从而确保部署过程顺畅且无错误。

文章金句

"

变体「[AllTraffic]」必须先作为可扩缩目标从 Application Auto Scaling 中注销,然后才能被移除或更新其实例类型。

"

尽管自动扩缩容配置存在于 CloudFormation 模板中,CloudFormation 并不会执行注册。因为 CloudFormation 模板中的自动扩缩容参数没有变化,CloudFormation 不会注册可扩缩目标,也不会重新应用扩缩容策略。

"

具体的失败表现取决于你更改了什么以及你如何绕过该问题。