AWS 推出跨账户 SageMaker Pipelines 监控方案:用 CloudWatch 自定义仪表盘统一管理
AWS 发布新方案,通过 CloudWatch 自定义仪表盘集中监控跨账户、跨区域的 SageMaker Pipelines。采用无服务器事件驱动架构,支持实时查看管道执行状态,降低运维复杂度。本文详解架构、部署步骤及对中文圈用户的实际意义。
一句话看懂
AWS 发布跨账户 SageMaker Pipelines 监控方案,用 CloudWatch 自定义仪表盘统一查看多账户、多区域的管道执行状态。
详细发生了什么
AWS 官方博客发布了一篇新文章,介绍如何利用 Amazon CloudWatch 自定义仪表盘,集中监控分布在多个 AWS 账户和区域的 SageMaker Pipelines。该方案采用无服务器、事件驱动的 hub-and-spoke 架构:主账户部署 Dashboard 堆栈,包含 CloudWatch 仪表盘、DynamoDB 存储表和 Lambda 处理函数;被监控账户部署轻量级 Forwarder 堆栈,通过 Amazon EventBridge 实时捕获 SageMaker Pipeline 事件并转发到主账户。
事件流如下:当 SageMaker Pipeline 步骤状态变化时,Amazon SageMaker AI 生成事件,EventBridge 规则捕获后触发 Lambda 函数处理、丰富元数据,再通过跨账户 EventBridge 总线发送至主账户。主账户的 Lambda 将数据存入 DynamoDB,CloudWatch 仪表盘通过自定义 widget 读取并展示,支持按管道名称过滤、查看步骤详情。此外,CloudWatch 告警可监控异常活动,并通过 SNS 发送通知。
该方案已在 GitHub 上提供 AWS CDK 示例代码,部署需两个 AWS 账户、Python 3.14+、AWS CDK 2.1100.1+ 等前提条件。
中文圈视角
对国内 AWS 用户来说,这套方案直接解决了多账户 MLOps 监控的痛点。许多出海企业或跨国业务使用多个 AWS 账户隔离环境,但手动切换查看管道状态效率极低。该方案无需额外付费(仅需 CloudWatch 和 Lambda 等基础服务费用),且完全在 AWS 生态内完成,数据不出 AWS。
不过,国内用户需注意两点:一是 AWS 中国区(北京、宁夏)与全球区的服务差异,EventBridge 跨账户功能在中国区可能受限或需额外配置;二是如果使用国产云厂商(如阿里云、腾讯云)的 ML 平台,暂无类似原生方案,需自行用函数计算加日志服务搭建。对于已深度绑定 AWS 的团队,这套方案是成本最低的跨账户监控选择。
另外,方案中使用了 DynamoDB 存储执行数据,对于数据合规要求高的场景(如金融、医疗),需确认数据存储区域是否满足本地化要求。
几条值得记住的细节
- 采用 hub-and-spoke 架构,主账户部署 Dashboard 堆栈,被监控账户部署 Forwarder 堆栈。
- 事件驱动,无需轮询,实时响应 SageMaker Pipeline 状态变化。
- 仪表盘支持按管道名称过滤,并可查看单个执行的步骤详情(名称、类型、起止时间、状态)。
- 内置 CloudWatch 告警,当 Lambda 调用超阈值时通过 SNS 发送通知。
- GitHub 仓库提供完整 AWS CDK 代码,需 Python 3.14+、AWS CDK 2.1100.1+。
一句话总结
如果你用多个 AWS 账户跑 SageMaker Pipelines,这个方案能让你在一个仪表盘上看到所有执行状态,省去来回切换的麻烦。