AWS中创建删除无标签EC2实例等管控规则的实现方案咨询
EC2标签合规管控规则落地实现思路
前置准备
- 按最小权限原则配置执行身份(Lambda角色/运维账号)的IAM权限:仅开放EC2实例查询、停止、删除权限,以及CloudWatch日志写入权限,不授予多余权限
- 先执行一次全量存量EC2实例标签扫描,提前通知业务方补全缺失的标签,避免规则上线后直接触发误操作影响业务
- 若需管控多区域EC2,提前梳理所有已开通业务的AWS区域,后续校验逻辑覆盖所有区域
核心实现方案
方案1:定时巡检模式(全量定期合规校验)
基于Lambda + EventBridge实现,适合日常批量合规管控:
- 创建Python/Node.js语言的Lambda函数,核心逻辑如下:
- 调用EC2的
describe_instances接口拉取指定区域所有实例列表 - 逐个校验实例标签:
- 无
Name标签的实例:首次检测到先打TO_BE_TERMINATED标记并推送通知给对应业务负责人,7天缓冲期到期后仍未补标签再执行删除操作 - 无
KEEP_RUNNING: TRUE标签的运行中实例:首次检测到先推送通知,24小时缓冲期到期后仍未补标签再执行停止操作
- 无
- 所有操作记录实例ID、操作时间、触发原因写入CloudWatch日志留痕
- 调用EC2的
- 在EventBridge中配置定时触发规则,选择业务低峰期(比如每天凌晨2点)触发Lambda执行,降低操作对业务的影响
方案2:事件驱动模式(新创建实例实时管控)
基于AWS Config + EventBridge实现,适合新实例创建后快速校验:
- 在AWS Config中自定义两条合规规则:
- 规则1:校验EC2实例是否配置
Name标签 - 规则2:校验EC2实例是否配置
KEEP_RUNNING标签且值为TRUE
- 规则1:校验EC2实例是否配置
- 配置EventBridge规则,监听AWS Config推送的不合规事件,触发Lambda执行对应通知/停止/删除逻辑,新实例创建后10分钟内即可完成合规校验,避免不合规实例长时间运行
可选优化规则
- 新增白名单机制:配置
EXCEPTION: TRUE标签,带该标签的实例不触发上述管控规则,满足特殊临时实例的使用需求 - 新增成本标签关联逻辑:若实例配置了成本归属标签,可直接推送告警通知给对应业务负责人,提升标签补全效率
内容的提问来源于stack exchange,提问作者vithya m
相关产品推荐
相关产品推荐

