Skip to content

如何利用 AI 自动化清理 AWS 无用资源以降低成本

解决云资源冗余导致的成本浪费问题:通过 AI 驱动的自动化脚本,快速识别并清理 AWS 中长期不使用的存储、计算及网络资源。

为什么需要这个技能

在复杂的 AWS 环境中,随着项目的迭代,经常会产生大量“僵尸资源”。例如,EC la 实例删除后遗留的 EBS 卷、过期的快照、未绑定的弹性 IP 以及不完整的 S3 分段上传。这些资源虽然不运行,但依然持续计费。

手动清理不仅耗时,且容易遗漏。本技能通过 AI 引导的自动化工作流,将“发现-评估-执行-验证”标准化,帮助运维人员在确保安全的前提下,最大化降低云支出。

适用场景

  • 定期成本审计:每月进行一次全账户资源盘点,清理过期快照和无用卷。
  • 项目下线清理:在项目迁移或关闭后,确保所有关联资源被彻底删除。
  • 自动成本管控:通过 Lambda 定时任务,自动删除创建 7 天以上且未挂载的 EBS 卷。
  • 多账户统一管理:在 AWS Organizations 组织架构下,批量扫描多个子账号的浪费情况。

核心工作流

  1. 发现阶段(只读):运行 describe 系列命令,扫描未挂载的 EBS、过期快照、未关联的 EIP 等,生成潜在节省金额报告。
  2. 验证阶段:核对资源标签(Tags),确认资源是否真的不再需要,并通知相关负责人。
  3. 执行阶段(干跑优先):首先以 Dry-Run 模式运行脚本,确认待删除列表无误后,再执行实际删除操作。
  4. 验证与存档:确认资源已删除,记录节省的成本,并为关键数据创建最终快照。

核心清理脚本示例

清理未挂载 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

你可能还需要

暂无推荐