AWS Auto Cleanup 开源项目教程
1. 项目介绍
AWS Auto Cleanup 是一个开源项目,旨在帮助用户自动清理不再需要的 AWS 资源。该项目通过结合用户定义的允许列表(allowlist)和基于时间的策略(time-based policies)来删除不再需要的资源。这不仅有助于保持 AWS 账户的整洁,还能有效降低成本。
AWS Auto Cleanup 由三个主要模块组成:
- APP: 应用程序模块,负责执行资源清理任务。
- API: 提供与 AWS 资源交互的接口。
- WEB: 提供用户界面,方便用户配置和管理清理策略。
2. 项目快速启动
2.1 环境准备
在开始之前,请确保您已经安装了以下工具:
- Node.js
- Serverless Framework
- AWS CLI
2.2 安装步骤
-
克隆项目
git clone https://github.com/mlevit/aws-auto-cleanup.git cd aws-auto-cleanup
-
安装依赖
npm install
-
配置 AWS 凭证
确保您的 AWS CLI 已经配置了正确的凭证。
aws configure
-
部署项目
serverless deploy
2.3 配置允许列表
在 config.json
文件中配置允许列表,指定哪些资源不应被删除。
{
"allowlist": [
{
"resourceType": "EC2",
"resourceId": "i-1234567890abcdef0"
},
{
"resourceType": "S3",
"resourceId": "my-bucket-name"
}
]
}
2.4 设置 TTL(Time to Live)
在 config.json
文件中设置资源的 TTL,指定资源在创建或修改后多少天内应被删除。
{
"ttl": {
"EC2": 30,
"S3": 60
}
}
3. 应用案例和最佳实践
3.1 应用案例
- 成本优化: 通过自动清理不再使用的资源,减少不必要的开支。
- 资源管理: 保持 AWS 账户的整洁,避免资源堆积。
- 合规性: 确保资源符合公司或组织的合规性要求。
3.2 最佳实践
- 定期审查允许列表: 定期审查和更新允许列表,确保只有真正需要的资源被保留。
- 监控和日志: 启用详细的日志记录和监控,以便跟踪清理操作的执行情况。
- 自动化: 将 AWS Auto Cleanup 集成到 CI/CD 管道中,实现自动化的资源管理。
4. 典型生态项目
- AWS Lambda: 用于执行资源清理任务。
- AWS CloudFormation: 用于自动化部署和管理 AWS 资源。
- AWS CloudWatch: 用于监控和日志记录。
- Serverless Framework: 用于简化 AWS Lambda 函数的部署和管理。
通过这些生态项目的结合,AWS Auto Cleanup 可以实现更高效和自动化的资源管理。