发布于 2026-01-06 7 阅读
0

如何清理混乱的 AWS 账户:分步云卫生指南 DEV 的全球展示挑战赛,由 Mux 呈现:展示你的项目!

如何清理混乱的 AWS 账户:分步云卫生指南

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

“清洁的云更安全,成本也更低。”——Duckbill Group首席云经济学家Corey Quinn

目录

  1. 介绍
  2. 为什么 AWS 账户会变得混乱
    • AWS 清理步骤清单
    • 第一步:识别无人认领或孤立资源
    • 步骤二:审核 IAM 用户、角色和访问密钥
    • 步骤 3:清理旧的安全组
    • 步骤 4:删除未使用的负载均衡器和目标组
    • 步骤 5:检查 S3 存储桶是否存在风险和浪费
    • 步骤 6:删除未使用的 EBS 卷、快照和 AMI
    • 步骤 7:评估旧版 Lambda 函数和层
    • 步骤 8:修复 CloudWatch 日志和保留策略
    • 步骤 9:审核证书和域名配置
    • 第十步:审核账单、费用异常及隐性收费
  3. 自动化:如何避免未来出现混乱
  4. 增强 AWS 安全性的工具
  5. 关键数据与行业洞察
  6. 常见问题解答
  7. 要点总结
  8. 结论

1. 引言

AWS 使团队能够快速构建,但这种速度往往是以牺牲长期的良好状态为代价的。

临时环境永远不会被删除,IAM 用户会一直存在多年,S3 存储桶会堆积如山却无人认领,CloudWatch 日志会悄无声息地增长,直到你被账单吓一跳。

每个DevOps工程师最终都会接手一个混乱的AWS账户。

本指南将引导您完成高级工程师和云顾问使用的安全、系统且实用的清理流程。

2. 为什么 AWS 账户会变得混乱

没有哪个团队会故意制造混乱,混乱的发生是由于以下原因自然而然的:

  • 多个团队部署资源,但缺乏所有权。
  • 缺乏强制性标签
  • 废弃的概念验证和测试环境
  • 工程师离开公司时没有留下任何清理工作。
  • 自动伸缩组遗留卷和 ENI
  • 在 IaC 之外进行手动配置
  • CloudWatch 保留策略默认设置不佳
  • 被遗忘的负载均衡器、证书和快照
  • 持续部署会增加工件和版本

混乱的 AWS 账户会影响安全性、成本、可靠性和合规性,但可以通过清理来解决。

3. AWS 清理步骤清单

以下是对每个主要清理领域的深入而实用的分析。
(这是本文的核心价值。)

步骤 1:识别无人认领或孤立资源
以下是 AWS 中最常见的“幽灵”资源:

  • EBS 卷已从 EC2 分离
  • 未关联任何内容的弹性 IP 地址
  • 老款ENI
  • 53号公路的记录指向虚无
  • 无所有者的 S3 存储桶
  • 已弃用的 CloudWatch 日志组
  • 旧版 AMI 和快照
  • Lambda 层和版本与活动服务无关

提示:
首先进行标签审核,找出所有缺失的资源:

  • 姓名
  • 所有者
  • 环境
  • 项目
  • 成本中心

这有助于提高所有权透明度,并加快清理决策。

步骤二:审核 IAM 用户、角色和访问密钥

“身份安全是任何安全云的基础。”——Cyber​​Ark身份安全报告指出,
IAM混乱是AWS中最危险的问题之一。

清单:

  • 删除不活跃的 IAM 用户
  • 无需多因素身份验证即可移除控制台密码
  • 轮换使用超过 90 天的访问密钥。
  • 删除未使用的 IAM 角色
  • 移除内联策略
  • 撤销与旧应用/合作伙伴的信任关系
  • 删除早已遗忘的服务帐户
  • 强制执行最小权限策略
  • 移除日常用户的管理员权限

身份和访问管理(IAM)管理不善是导致安全事件的主要原因之一。

步骤 3:清理旧的安全组

安全组会随着时间的推移自然而然地增多,并导致:

  • 重复规则
  • 空/未使用的SG
  • 不安全 0.0.0.0/0 次暴露
  • 引用已删除的 ENI 的规则
  • 遗忘的测试标准

SG 清理工作能立即改善安全状况。

步骤 4:删除未使用的负载均衡器和目标组

即使闲置,这些设备也需要耗电。
常见例子:

  • 没有监听器的ALB
  • 目标群体注册目标数量为零
  • 测试期间创建的 NLB
  • 自动扩缩容部署创建了重复的负载均衡器
  • 旧式经典负载均衡器 (CLB)

大多数团队没有意识到,闲置的负载均衡器每个每月要花费 18 到 30 美元。

步骤 5:检查 S3 存储桶是否存在风险和浪费

S3很快就会变得混乱。
检查清单:

  • 公共存储桶访问权限审查
  • 启用静态数据加密
  • 删除不完整的分段上传文件
  • 应用生命周期策略
  • 删除旧版本
  • 删除过期的日志和存档
  • 确保公共存储桶中不包含敏感文件。
  • 删除与已弃用应用程序关联的存储桶

S3 是安全漏洞的常见入口点,因此安全防护至关重要。

步骤 6:删除未使用的 EBS 卷、快照和 AMI

AWS浪费的最大来源之一:

  • 分离的 EBS 卷
  • 旧版 CI/CD 作业创建的快照
  • 来自已停止部署的 AMI
  • 旧版启动模板
  • 未使用的 RDS 快照
  • 一张旧的快照每月可能要花费 10 到 50 美元。清理这些快照通常可以节省 20% 到 40% 的月账单。

步骤 7:评估旧版 Lambda 函数和层

大多数团队都忘记了:

  • 每次部署都会创建一个新版本
  • 版本会不断累积
  • 层层褪色,变得陈旧。
  • 已分配的并发能力仍然有效
  • 死信队列悄无声息地填满

清理 Lambda 可以减少混乱并提高冷启动的可预测性。

步骤 8:修复 CloudWatch 日志和保留策略

CloudWatch 是一个隐形的成本杀手。AWS
默认将日志保留期限设置为“永久”,因此日志会无限累积。
解决方法:

  • 设置数据保留策略(通常为 30-90 天)
  • 删除未使用的日志组
  • 整合日志结构
  • 移除与已删除 Lambda 函数关联的日志流
  • 将不常用的日志归档到 S3

仅此一项清理工作就能降低 CloudWatch 成本 50-80%。

步骤 9:审核证书和域名配置

证书过期是导致服务中断的主要原因之一。
检查清单:

  • 删除未使用的ACM证书
  • 轮换即将到期(不足 30 天)的证书
  • 移除旧的 Route 53 托管区域
  • 请验证 DNS 记录是否正确
  • 清理过时的子域名
  • 移除测试域名

结果:减少停机次数,降低运营成本。

第十步:审核账单、费用异常及隐性收费

寻找:

  • 未连接的 EIP
  • NAT 网关流量很小
  • 空闲的 RDS 实例
  • 空闲的 OpenSearch 集群
  • 没有读/写操作的 DynamoDB 表
  • 旧版 CloudFront 发行版
  • EKS节点组缩放至零不正确
  • Elastic Beanstalk 环境仍在运行,你会惊讶于企业为这些“被遗忘的”基础设施支付了多少费用。

4. 自动化:如何避免未来出现混乱

只有满足以下条件,AWS 账户才能保持干净:

  • 全公司范围的标签策略
  • 使用 Terraform/CloudFormation 而不是点击控制台
  • AWS Config 规则强制执行防护措施
  • 计划清理任务(Lambda/Custodian)
  • 自动漂移检测
  • IAM 访问分析器
  • 集中式仪表盘(Steampipe、CloudMapper)
  • 持续的成本监控和云环境维护应该是每月例行工作,而不是每年才出现的恐慌。

5. 增强 AWS 安全性的工具

用于 AWS 清理的最佳工具:

  • AWS Native Tools
  • AWS 配置
  • 值得信赖的顾问
  • IAM 访问分析器
  • 资源管理器
  • 成本探索器
  • 云径湖
  • 安全中心

开源工具

  • 云托管人 - 强制执行清理策略
  • Prowler - 安全与合规性检查
  • CloudMapper - 环境映射
  • Steampipe - 跨 AWS 资源的 SQL 查询

这些工具使清理工作变成了一种可预测的工作流程。

6. 关键统计数据和行业洞察(附可靠来源)

7. 常见问题解答

问:删除孤立资源安全吗?
答:可以,但如果不确定,请先创建快照。

问:应该多久进行一次清洁?
答:每月一次日常清洁+每季度一次深度审核。

问:应该先清理哪些服务?
答:先清理 IAM、EBS、S3 和 CloudWatch,它们的影响最大。

问:我应该自动化资源清理吗?
答:是的,但前提是必须先建立完善的标签和所有权机制。

要点总结

  • AWS账户难免会变得混乱,清理工作必不可少。
  • 未贴标签、无人认领的资源是最大的废物来源。
  • IAM、EBS、SGs 和 CloudWatch 需要定期维护
  • 证书和DNS维护可防止服务中断
  • 自动化策略确保长期健康
  • 良好的卫生习惯 = 降低成本 + 提高安全性 + 增强可靠性

9. 结论

云环境会像代码库积累技术债务一样积累垃圾。
混乱的 AWS 账户并非失败,而是增长、迭代和组织复杂性的标志。

关键在于建立一种云卫生文化:

  • 定期审计
  • 严格标记
  • 最小特权
  • 生命周期策略
  • 尽可能实现自动化

干净的 AWS 环境可以提高安全性、成本效益、可靠性和开发人员的信心。

你的云平台就是生产环境,要像对待生产环境一样对待它。

作者简介: Nilesh 是AddWebSolution的首席 DevOps 工程师,专长于自动化、CI/CD 和云可扩展性。

文章来源:https://dev.to/addwebsolutionpvtltd/how-to-clean-up-a-messy-aws-account-a-step-by-step-cloud-hygiene-guide-20cd