You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置预算告警触发后自动暂停整个AWS账户的全部活动

AWS预算告警触发后自动冻结账户所有活动的配置方案

AWS没有原生的「一键暂停全账户所有活动」功能,该操作存在极高的业务中断风险,因此需要通过组合多个AWS服务的能力实现需求,具体配置方案如下:

前置准备

  • 确认已开通AWS Budgets并配置好对应阈值的告警规则,告警需发送到Amazon SNS主题,后续自动化流程将监听该SNS主题的消息
  • 提前创建专用IAM角色,给角色授予服务控制策略(SCP)修改权限、Lambda调用权限,遵循最小权限原则仅开放必要权限
  • 提前设置好专属应急运维角色/根用户白名单,避免冻结后无法自行解除限制

方案1:通过SCP冻结全账户非必要操作(推荐)

该方案不会删除现有运行资源,仅禁止所有新增/修改类操作,避免费用持续上涨,对业务影响可控:

  1. 编写限制全量操作的SCP策略,示例如下:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyAllNonEssentialActions",
            "Effect": "Deny",
            "NotAction": [
                "iam:DetachPolicy",
                "organizations:DetachPolicy",
                "organizations:DeletePolicy"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:PrincipalARN": "arn:aws:iam::你的账户ID:role/你的应急运维角色名"
                }
            }
        }
    ]
}
  1. 创建Lambda函数,逻辑为:接收到SNS推送的预算告警消息后,自动将上述SCP策略挂载到AWS账户根节点,若为组织成员账户则挂载到对应成员账户节点
  2. 配置SNS主题的订阅规则,将上述Lambda函数设为订阅端,触发条件绑定预算告警阈值即可

方案2:强制停止所有可计费资源(仅适用于单账户无组织场景)

如果需要直接停止所有运行中的收费资源,可以在Lambda函数中扩展如下逻辑:

  • 遍历所有区域的EC2实例,调用stop_instances接口停止所有实例
  • 遍历所有区域的RDS实例,调用stop_db_instance接口停止实例,可同步配置快照后删除逻辑避免闲置计费
  • 遍历所有S3存储桶,配置禁止写入规则,避免产生额外存储和流量费用
  • 遍历所有闲置EIP、未挂载EBS卷,直接释放避免持续扣费

注意事项

  • 配置SCP策略时必须将应急运维角色/根用户排除在拒绝规则之外,避免触发冻结后无法自行操作解除限制
  • 所有自动化流程配置完成后必须做模拟触发测试,同时验证应急恢复流程可用,避免误触发导致不可逆的业务中断
  • 建议配置多级告警规则:80%预算阈值触发邮件、短信通知,100%阈值触发SCP操作限制,120%阈值再触发资源停止逻辑,降低误操作风险
  • 不要直接配置激进的资源删除逻辑,避免告警误触导致业务数据丢失

内容的提问来源于stack exchange,提问作者Aleksandr Zakharov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:18:04