AWS是否提供可基于特定条件清理旧AMI的默认/自定义策略?
AWS 老旧AMI清理策略说明
AWS本身没有提供默认的自动清理老旧AMI的内置策略,所有你创建、拷贝到账户下的AMI都会永久留存,直到你主动执行删除操作。你可以通过以下几种官方支持的自定义方案实现按指定规则自动清理AMI:
可选的自定义实现方案
- 使用 Amazon Data Lifecycle Manager (DLM) 生命周期策略
DLM支持你配置自定义的AMI生命周期规则,可按创建时间、资源标签、源EC2实例等维度做筛选,自动清理超过指定留存时长、或超出保留数量上限的老旧AMI,同时支持配置同步删除AMI关联的EBS快照,避免产生冗余存储成本。
常规配置参考示例:筛选范围:标签为 "Backup=Automatic" 的AMI 留存规则:保留最近30天生成的AMI,最多保留20个版本 触发频率:每日凌晨自动执行校验和清理 - 搭配 Lambda + EventBridge 实现复杂筛选逻辑
如果DLM的内置规则无法满足你的定制化需求(比如需要跨区域清理、要排除正在被EC2实例/启动模板引用的AMI、需要给管理员发送清理通知),可以自行编写Lambda函数实现筛选逻辑,再通过EventBridge配置定时触发规则执行。常见的自定义筛选逻辑包含:- 过滤掉被活跃EC2实例引用的AMI
- 过滤掉关联了正在使用的启动模板/启动配置的AMI
- 按指定标签组合做黑白名单筛选
- 按创建时间阈值筛选超过留存期的AMI
- 配合 AWS Config 规则做合规管控
你可以配置AWS Config自定义规则,自动识别不符合留存规范的老旧AMI并标记为不合规资源,再配置自动修正动作完成删除,可满足企业合规审计的相关要求。
注意:删除AMI前建议先校验关联资源使用情况,误删正在使用的AMI会导致新实例启动失败等故障,建议正式执行清理前先导出待删除AMI清单做二次确认。
内容的提问来源于stack exchange,提问作者user2315104
相关产品推荐
相关产品推荐

