You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断AWS ECS服务是否处于空闲状态?

判断AWS ECS服务是否空闲的简便方法

以下是几个实用的方法,帮你快速识别CPU、内存使用率几乎为0的空闲ECS服务:

1. CloudWatch 指标可视化筛选

  • 打开CloudWatch控制台,进入指标 > AWS/ECS > 服务指标
  • 选择CPUUtilization和MemoryUtilization两个指标,添加到图表
  • 设置时间范围(比如过去7天),通过图表曲线直接观察哪些服务的指标持续接近0
  • 进阶用法:用CloudWatch的指标数学组合两个指标,设置阈值规则(比如CPU<1%且内存<1%持续24小时),批量标记空闲服务

2. AWS CLI 批量扫描脚本

适合批量处理大量服务,直接输出符合条件的空闲服务:

# 替换为你的ECS集群名称
CLUSTER_NAME="your-cluster-name"

# 获取集群内所有服务ARN列表
SERVICES=$(aws ecs list-services --cluster $CLUSTER_NAME --query 'serviceArns' --output text)

for SERVICE in $SERVICES; do
    # 提取服务名称
    SERVICE_NAME=$(echo $SERVICE | awk -F '/' '{print $NF}')
    
    # 查询过去24小时CPU平均使用率
    CPU_AVG=$(aws cloudwatch get-metric-statistics --namespace AWS/ECS --metric-name CPUUtilization --dimensions Name=ClusterName,Value=$CLUSTER_NAME Name=ServiceName,Value=$SERVICE_NAME --start-time $(date -u +%Y-%m-%dT%H:%M:%SZ -d "24 hours ago") --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) --period 3600 --statistics Average --query 'Datapoints[*].Average' --output text | awk '{sum+=$1} END {print sum/NR}')
    
    # 查询过去24小时内存平均使用率
    MEM_AVG=$(aws cloudwatch get-metric-statistics --namespace AWS/ECS --metric-name MemoryUtilization --dimensions Name=ClusterName,Value=$CLUSTER_NAME Name=ServiceName,Value=$SERVICE_NAME --start-time $(date -u +%Y-%m-%dT%H:%M:%SZ -d "24 hours ago") --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) --period 3600 --statistics Average --query 'Datapoints[*].Average' --output text | awk '{sum+=$1} END {print sum/NR}')
    
    # 判断是否为空闲服务(阈值可自行调整)
    if (( $(echo "$CPU_AVG < 1.0 && $MEM_AVG < 1.0" | bc -l) )); then
        echo "空闲服务: $SERVICE_NAME | CPU平均使用率: $CPU_AVG% | 内存平均使用率: $MEM_AVG%"
    fi
done

注意:运行前确保已配置AWS CLI权限,可根据实际需求调整时间范围和使用率阈值。

3. ECS控制台快速排序筛选

  • 进入ECS控制台,选择目标集群,切换到服务标签页
  • 点击顶部的添加列,勾选CPU使用率和内存使用率
  • 点击这两列的表头进行排序,把使用率接近0的服务排到最前面,快速定位空闲服务

4. 自动化定期监控

如果需要长期跟踪,可以用Lambda+CloudWatch Events实现:

  • 编写Lambda函数,调用ECS和CloudWatch API批量检测空闲服务
  • 设置CloudWatch Events规则,每天/每周自动执行函数
  • 检测结果可通过SNS发送通知,或写入S3生成报表,方便批量处理遗留服务

内容的提问来源于stack exchange,提问作者Edgar Peixoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:27:48