Appearance
如何利用 AI 自动化清理 AWS 无用资源以降低成本
解决云资源冗余导致的成本浪费问题:通过 AI 驱动的自动化脚本,快速识别并清理 AWS 中长期不使用的存储、计算及网络资源。
为什么需要这个技能
在复杂的 AWS 环境中,随着项目的迭代,经常会产生大量“僵尸资源”。例如,EC la 实例删除后遗留的 EBS 卷、过期的快照、未绑定的弹性 IP 以及不完整的 S3 分段上传。这些资源虽然不运行,但依然持续计费。
手动清理不仅耗时,且容易遗漏。本技能通过 AI 引导的自动化工作流,将“发现-评估-执行-验证”标准化,帮助运维人员在确保安全的前提下,最大化降低云支出。
适用场景
- 定期成本审计:每月进行一次全账户资源盘点,清理过期快照和无用卷。
- 项目下线清理:在项目迁移或关闭后,确保所有关联资源被彻底删除。
- 自动成本管控:通过 Lambda 定时任务,自动删除创建 7 天以上且未挂载的 EBS 卷。
- 多账户统一管理:在 AWS Organizations 组织架构下,批量扫描多个子账号的浪费情况。
核心工作流
- 发现阶段(只读):运行
describe系列命令,扫描未挂载的 EBS、过期快照、未关联的 EIP 等,生成潜在节省金额报告。 - 验证阶段:核对资源标签(Tags),确认资源是否真的不再需要,并通知相关负责人。
- 执行阶段(干跑优先):首先以
Dry-Run模式运行脚本,确认待删除列表无误后,再执行实际删除操作。 - 验证与存档:确认资源已删除,记录节省的成本,并为关键数据创建最终快照。
核心清理脚本示例
清理未挂载 EBS 卷(Bash):
bash
#!/bin/bash
# cleanup-unused-ebs.sh
echo "Finding unattached EBS volumes..."
VOLUMES=$(aws ec2 describe-volumes \
--filters Name=status,Values=available \
--query 'Volumes[*].VolumeId' \
--output text)
for vol in $VOLUMES; do
echo "Would delete: $vol"
# Uncomment to actually delete:
# aws ec2 delete-volume --volume-id $vol
done成本节省计算(Python):
python
import boto3
ec2 = boto3.client('ec2')
volumes = ec2.describe_volumes(Filters=[{'Name': 'status', 'Values': ['available']}])
total_size = sum(v['Size'] for v in volumes['Volumes'])
monthly_cost = total_size * 0.10 # 假设 gp3 为 $0.10/GB-month
print(f"Unattached EBS Volumes: {len(volumes['Volumes'])}")
print(f"Monthly Savings: ${monthly_cost:.2f}")下载和安装
下载 aws-cost-cleanup 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐