事件驱动预算管理架构
【摘要】 用于在多账号云环境中集中管控各账号预算,实现预算更新自动传播到各成员账号,并在消费达到阈值(默认 90%)时自动发送邮件通知。通过事件驱动架构消除人工监控预算的需求,实现云财务的自动化治理。
1. 用途和受众
1.1 预期用途
用于在多账号云环境中集中管控各账号预算,实现预算更新自动传播到各成员账号,并在消费达到阈值(默认 90%)时自动发送邮件通知。通过事件驱动架构消除人工监控预算的需求,实现云财务的自动化治理。
适用行业:金融、政务、大型企业等需要多账号云财务管理的组织,特别适合有严格预算管控和审计合规要求的场景。
业务场景:跨多个云账号集中管理预算,自动同步预算阈值,消费接近阈值时自动告警;支持新账号动态加入和预算批量部署。
合规要求:满足等保 2.0、数据本地化等合规要求,所有预算数据加密存储,跨账号访问采用最小权限原则。
部署规模:1 个管理账号 + N 个成员账号(推荐 1~50 个)。
限制条件:需预先建立华为云 Organizations 多账号组织结构,成员账号需授予跨账号 IAM 角色,需配置邮件通知接收地址。
1.2 目标受众
- 预算管理员:在管理账号中配置各成员账号预算值,需要集中化预算配置和自动化传播能力
- 财务运营团队:监控整体云支出,需要实时预算告警和成本可控的方案
- 成员账号所有者:接收预算告警通知,需要及时获知超支风险
- 云架构师/DevOps 团队:负责多账号云基础设施部署和运维,需要可复用的参考架构
2. 参考架构概述
2.1 架构描述
事件驱动预算管理架构是面向多账号云财务治理的事件驱动架构,旨在通过集成集中化预算存储、流式变更触发、跨账号自动传播和实时监控告警,加速云财务自动化治理的落地采纳。
这是一个多账号事件驱动的云预算管理系统架构,当预算消费接近或超出阈值时自动发送通知本文档为参考架构,指导解决方案的设计、开发、实施和审查,提供可重用的架构模式。
2.2 业务背景
| 项目 | 描述 |
|---|---|
| 业务问题 | 组织在多账号云环境中难以集中管控各账号预算,缺乏自动化的预算阈值告警机制,容易导致个别账号超支而不被发现 |
| 期望的结果 | 建立集中式预算管理平台,预算更新自动传播到各成员账号,消费达到阈值(默认 90%)时自动发送邮件通知,实现云财务的自动化治理 |
| 主要用户 | 预算管理员(在管理账号中配置各账号预算)、财务运营团队(监控整体云支出)、成员账号所有者(接收预算告警通知) |
| 关键制约因素 | 需预先建立华为云 Organizations 多账号组织结构;成员账号需授予跨账号 IAM 角色;需配置邮件通知接收地址;预算告警状态更新最长可能有 8 小时延迟 |
| 成功指标 | 预算更新分钟级传播到成员账号;消费达 90% 阈值自动触发邮件通知;支持 1 个管理账号 + N 个成员账号弹性扩展 |
2.3 架构优点
- 集中化预算管理:所有成员账号的预算配置统一存储在管理账号的 GaussDB 表中,一处修改全局生效,无需逐账号手动操作
- 自动事件驱动传播:预算更新通过 GaussDB 流式变更自动触发 FunctionGraph,再经事件链路自动传播到成员账号,全程无需人工干预
- 实时预算监控:CES 云监控服务实时监控各账号消费指标,当消费达到预算阈值(默认 90%)时自动触发告警
- 自动邮件通知:SMN 消息通知服务自动向指定邮件接收人发送预算告警,确保相关人员第一时间获知超支风险
- 弹性多账号扩展:基于华为云 Organizations 多账号结构,支持 1 个管理账号 + N 个成员账号,新增账号只需部署成员账号模板
- 安全合规:跨账号访问采用 IAM 最小权限角色授权,所有预算数据加密存储,满足等保和数据本地化要求
- 低成本运行:方案使用的云服务大多有免费额度或极低计费,适合中小规模组织
- 可审计可追溯:FunctionGraph 执行日志通过 AOM 自动采集,预算变更全链路可追溯,便于财务审计和合规检查
2.4 设计关注点
| 安全性 | 可扩展性 | 成本优化 | 运维监控 |
|---|---|---|---|
| 跨账号 IAM 角色采用最小权限原则,仅授予预算参数读写权限 | 基于 Organizations 多账号结构,支持动态新增成员账号 | GaussDB 和 FunctionGraph 按需计费,无固定成本 | AOM 自动采集 FunctionGraph 执行日志,支持审计追溯 |
| GaussDB 和 AOM 中数据加密存储,防止预算数据泄露 | RFS 资源编排模板支持 StackSet 批量部署到多个成员账号 | CES 云监控和 SMN 通知有免费额度,小规模使用零成本 | CES 监控预算执行状态,异常时自动触发告警 |
| 跨账号角色信任关系需严格配置,防止未授权访问 | 事件链路各环节解耦,单环节故障不影响整体传播 | 典型方案总成本 < ¥35/月,远低于人工监控成本 | 预算告警状态更新最长延迟 8 小时,需在告警策略中考虑 |
| 效益 | 架构如何实现它 | 测量 |
|---|---|---|
| 预算管控自动化 | GaussDB 流式变更触发 FunctionGraph,经事件链路自动更新成员账号 CES 预算阈值 | 预算更新从管理账号到成员账号的传播时间(目标 < 1 分钟) |
| 超支预警及时性 | CES 实时监控消费指标,达 90% 阈值触发 SMN 邮件通知 | 从消费达阈值到邮件送达的延迟(目标 < 5 分钟) |
| 多账号治理效率 | Organizations 统一管理账号结构,RFS 模板批量部署,集中化预算配置 | 管理单个成员账号预算所需人工操作次数(目标 = 1 次表更新) |
| 安全合规性 | IAM 最小权限 + 数据加密 + 操作日志审计 | 安全审计通过率、数据加密覆盖率(目标 = 100%) |
| 运行成本可控 | 按需计费服务 + 免费额度利用,无固定基础设施成本 | 月度方案运行总费用(目标 < ¥35/月) |
2.5 典型架构
下图展示了事件驱动预算管理架构的整体架构,包含管理账号和成员账号两个主要部分,以及各层之间的数据流转关系。

2.6 流程描述
用编号步骤描述数据如何在系统中流转。步骤编号与架构图中圆圈数字一一对应:
- 预算管理员 → GaussDB:管理员在管理账号的 GaussDB 表中更新某成员账号的预算值
- GaussDB → FunctionGraph:GaussDB 流式变更自动触发 FunctionGraph 函数
- FunctionGraph → AOM:FunctionGraph 经 IAM 跨账号授权后,更新成员账号的 AOM 参数存储
- AOM → DMS Kafka:AOM 参数变更触发 DMS Kafka 事件
- DMS Kafka → CCE:事件路由触发 CCE 自动化执行
- CCE → CES:自动化流程读取最新参数,更新 CES 预算监控阈值
- CES → SMN:当消费达到预算的 90% 时,CES 触发 SMN 通知
- SMN → 邮件接收人:SMN 向指定邮件接收人发送预算告警邮件
2.7 云服务产品清单
| 分类 | 服务或产品 | 推荐配置 |
|---|---|---|
| 管理账号-数据存储层 | GaussDB | 主备版,4核8G,开启流式变更触发 |
| 管理账号-无服务器计算层 | FunctionGraph | 512MB 内存,超时 60s,启用流式触发器 |
| 管理账号-身份与基础设施层 | IAM | 标准版,开启 MFA,配置跨账号信任关系 |
| 管理账号-身份与基础设施层 | Organizations | 标准版,建立多账号组织结构 |
| 管理账号-身份与基础设施层 | RFS | 标准版,使用 StackSet 批量部署模板 |
| 成员账号-配置管理层 | AOM | 标准版,开启参数存储和运维监控 |
| 成员账号-事件路由层 | DMS Kafka | 基础版,2核4G,开启参数变更事件触发 |
| 成员账号-自动化执行层 | CCE | 集群版,节点 4核8G,运行预算更新自动化容器 |
| 成员账号-监控与通知层 | CES | 标准版,配置预算监控告警规则,阈值 90% |
| 成员账号-监控与通知层 | SMN | 标准版,配置邮件通知主题和订阅端点 |
| 成员账号-监控与通知层 | IAM | 标准版,配置自动化执行角色和最小权限策略 |
3. 参考链接
- 华为云 GaussDB 文档:https://support.huaweicloud.cn/gaussdb/
- 华为云 FunctionGraph 文档:https://support.huaweicloud.cn/functiongraph/
- 华为云 Organizations 文档:https://support.huaweicloud.cn/organizations/
- 华为云 CES 云监控文档:https://support.huaweicloud.cn/ces/
- 华为云 SMN 消息通知文档:https://support.huaweicloud.cn/smn/
4 使用限制
- 参考架构非生产就绪:本文档为参考架构,提供设计蓝图和最佳实践指导,不包含可直接部署的自动化脚本或完整配置。实际部署需根据组织具体需求进行定制化适配
- 云平台版本要求:部分服务可能需企业版账号或特定版本才能开通使用,建议在部署前确认所需服务的可用性。GaussDB 需 1.2 及以上版本支持流式变更触发,Organizations 需企业组织管理权限
- 服务白名单:Organizations 多账号管理、RFS StackSet 批量部署可能需提前申请白名单开通,DMS Kafka 基础版需确认实例规格可用
- 跨区域部署限制:跨区域部署时需考虑数据同步延迟和合规要求(如数据本地化),GaussDB 流式变更触发仅支持同区域内,跨账号 IAM 角色需在同一 Organizations 组织内
- 推荐部署规模:适用于 1 个管理账号 + 1~50 个成员账号的中型组织,预算更新频率 ≤ 每日 100 次。超过 50 个成员账号时建议分批部署并评估 DMS Kafka 吞吐量
- 组件替换风险:架构设计支持组件替换和新增,但替换已验证的组件可能引入集成兼容性问题。如将 GaussDB 替换为 GeminiDB 需重新适配流式变更触发接口,将 CCE 替换为 FunctionGraph 需重写自动化执行逻辑
- 合规认证依赖:架构对标等保 2.0 和数据本地化要求,但实际合规认证需组织自行完成认证流程,本架构不替代正式合规审计。跨账号数据传输需确认满足组织数据分类分级策略
- 持续运维要求:架构需要持续的策略调优、版本升级和监控运营,非一次性部署即可永久生效。预算告警状态更新最长延迟 8 小时,需在告警策略中设置合理的时间窗口和阈值缓冲
附录 A. 术语和缩略语
| 缩略语 | 全称 | 说明 |
|---|---|---|
| GaussDB | GaussDB | 华为云自研关系型数据库,支持流式变更触发,用于存储预算配置数据 |
| FunctionGraph | FunctionGraph | 华为云函数工作流服务,无服务器事件驱动计算,无需管理服务器 |
| IAM | Identity and Access Management | 统一身份认证服务,管理云服务访问权限和跨账号角色授权 |
| Organizations | Organizations | 华为云组织管理服务,管理多个云账号的组织结构和层级关系 |
| RFS | Resource Formation Service | 资源编排服务,用模板自动化部署和管理云资源,支持 StackSet 批量部署 |
| AOM | Application Operations Management | 应用运维管理,存储配置参数并监控运维状态 |
| DMS Kafka | Distributed Message Service for Kafka | 分布式消息服务 Kafka 版,高吞吐消息队列,用于事件驱动的异步通信 |
| CCE | Cloud Container Engine | 云容器引擎,容器化应用运行平台,执行自动化预算更新流程 |
| CES | Cloud Eye Service | 云监控服务,监控云资源指标和预算,触发告警通知 |
| SMN | Simple Message Notification | 消息通知服务,向邮件、短信等渠道推送通知消息 |
| 事件驱动架构 | Event-Driven Architecture | 一种架构模式,系统组件通过事件进行通信,数据变更自动触发后续处理流程 |
| 流式变更触发 | Stream Change Trigger | 数据库表变更(插入、更新、删除)自动生成变更流,触发下游处理逻辑 |
| 跨账号角色授权 | Cross-Account Role Authorization | 通过 IAM 信任关系,允许一个账号的角色扮演另一个账号的角色,实现跨账号资源访问 |
| 预算阈值 | Budget Threshold | 预算消费的告警百分比,默认为 90%,即消费达到预算额度的 90% 时触发告警 |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)