logo NodeSeekbeta

【开源】阿里云 ECS / CDT 流量管家:自动监控流量、超量停机、一键创建 ECS、DDNS 联动

最近折腾阿里云国际站/国内站 ECS 和 CDT 免费流量,
担心机器跑着跑着流量超了,忘记关机,然后账单开始教做人。
然后群友告诉了我这个项目,https://github.com/wang4386/CDT-Monitor

但是功能过于简单,于是我作为一个天才程序员(没了ai另说),就开始了对它的二次开发。
项目已经开源,Docker 镜像也推好了。

GitHub:
https://github.com/Kori1c/ecs-controller

部署

Docker 部署

推荐直接用 Docker Compose。

新建 docker-compose.yml

services:
  ecs-controller:
    image: kori1c/ecs-controller:latest
    container_name: ecs-controller
    restart: always
    ports:
      - "43210:80"
    volumes:
      - ./data:/var/www/html/data
    environment:
      - TZ=Asia/Shanghai

启动:

docker compose up -d

然后访问:

http://你的服务器IP:43210

首次进入会要求初始化管理员密码和流量保护阈值。

使用

需要阿里云的AK

建议单独创建一个 RAM 用户,不要直接用主账号 AK。

需要哪些权限?

至少需要这些权限:

  • AliyunECSFullAccess
  • AliyunBSSFullAccess
  • AliyunCDTFullAccess

分别用于:

  • ECS 查看 / 开关机 / 释放 / 创建
  • 余额和账单查询
  • CDT / 流量数据查询

如果你只想使用部分功能,可以按需缩小权限范围,不过需要自己测试 API 是否足够。

注意事项

这个项目不是商业 SaaS,也不是官方工具。一键开机默认配置可能不是最优解,需要你们自己修改。

几点提前说清楚:

  1. 阿里云 API、计费规则、库存、镜像、实例规格随时可能变化。
  2. 一键创建 ECS 前一定要看清配置清单和费用提示。
  3. 流量统计依赖阿里云 API,存在延迟或采样精度问题。
  4. 自动停机是保护手段,不代表 100% 防止所有费用。
  5. 强烈建议先用小流量阈值测试一轮,再放到正式环境。
  6. AK/SK 请使用 RAM 子账号,并最小化授权。
  7. 项目由 AI 深度参与开发,我已经尽量测试,但不保证无 Bug。

适合谁?

比较适合:

  • 用阿里云国际站 / 国内站 ECS 的朋友
  • 想榨干 CDT 免费流量但怕超量扣费的人
  • 有多账号、多区域实例需要统一管理的人
  • 经常创建 / 释放测试机器的人
  • 需要 Cloudflare DDNS 自动更新的人
  • 想用 Telegram 接收 ECS 状态通知的人

不适合:

  • 完全不能接受任何 Bug 的生产环境
  • 不愿意自己排查阿里云权限问题的人
  • 需要企业级审计、RBAC、多用户权限的人

这个项目是干什么的?

简单说,它是一个面向阿里云 ECS 的轻量管理面板,核心目标是:

  • 自动监控 ECS 出口流量
  • 到达阈值后自动停机
  • 支持多个阿里云账号 / 多区域
  • 支持一键创建 ECS
  • 支持 Cloudflare DDNS
  • 支持 Telegram / 邮件 / Webhook 通知
  • 支持费用和消费情况展示
  • 尽量减少手动操作成本

比较适合用阿里云 CDT 免费流量、轻量跑服务、怕忘记关机导致超量扣费的朋友。

核心功能

1. 流量监控和自动停机

可以给每个账号设置账号可用流量,比如 200GB、8GB、2GB 之类。

系统会定时同步 ECS 出口流量,达到设置阈值后自动执行停机,避免继续产生流量费用。

支持配置:

  • 流量保护阈值
  • 实例同步频率
  • 普通停机 / 节省停机
  • 超量通知
  • 自动停机

这里注意一下,项目统计的是阿里云侧可通过 API 获取到的公网出口流量,主要用于防止“出流量爆炸”。

2. 多账号 / 多区域管理

支持添加多个阿里云 AK,每个账号可以设置:

  • 备注名
  • AccessKey ID
  • AccessKey Secret
  • 区域
  • 国内站 / 国际站
  • 账号可用流量

账号保存后可以手动同步该账号下的 ECS 实例。

3. 实例状态卡片

实例状态页会以卡片形式展示:

  • 备注
  • 区域
  • 实例 ID
  • 公网 IP
  • 运行状态
  • 已用出口流量
  • 公网带宽峰值
  • 阈值
  • 最近同步时间

方便一眼看出哪台机器在跑、用了多少流量、是否接近上限。

4. 实例管理

实例管理页支持:

  • 启动
  • 停止
  • 释放
  • 手动同步
  • 查看实例规格
  • 查看出口流量
  • 查看公网带宽

释放实例也会联动 DDNS,避免域名解析残留。

5. 一键创建 ECS

这个功能主要是为了减少新手配置成本。

用户只需要选择账号、区域、系统、实例规格等参数,就可以让系统自动处理:

  • VPC
  • 交换机
  • 安全组
  • 安全组规则
  • 系统盘
  • 公网带宽
  • ECS 创建
  • 初始密码生成

默认实例规格是:

ecs.e-c4m1.large

系统会在真正创建前弹出配置清单,让用户确认:

  • 实例规格
  • 系统镜像
  • 系统盘大小
  • 网络配置
  • 安全组规则
  • 公网带宽
  • 费用提示

避免手滑下单。

创建完成后会单独弹窗展示:

  • 公网 IP
  • 登录用户
  • 初始密码

并提醒用户保存,后续不会再次展示初始密码。

6. Cloudflare DDNS

支持 Cloudflare DDNS。

配置 Token 和域名后,系统会在实例创建、启动、同步时自动更新 A 记录。

如果实例释放,也会自动删除对应解析,避免解析残留。

单账号多机器时,会根据账号备注和实例信息生成子域名,尽量保证可区分。

7. 通知系统

支持:

  • Telegram
  • 邮件 SMTP
  • Webhook

通知内容包括:

  • ECS 创建成功
  • 实例启动 / 停止 / 释放
  • 流量超限
  • 自动停机结果
  • DDNS 相关状态

Telegram 和邮件都支持测试按钮,方便确认配置是否正确。

8. 日志审计

系统内置日志页面,区分:

  • 动作日志
  • 心跳日志

方便排查:

  • API 是否调用成功
  • 实例状态是否同步
  • 流量是否获取成功
  • 通知是否推送成功
  • 自动停机是否执行

项目地址

GitHub:
https://github.com/Kori1c/ecs-controller

Docker Hub:
https://hub.docker.com/r/kori1c/ecs-controller

欢迎提 Issue / PR。

如果有朋友也在玩阿里云 CDT 免费流量,可以试试看。

建议先测试环境跑一遍,确认流量统计、自动停机和通知链路都符合自己的预期后再正式使用。

  • 本次更新内容

    ✨ 新增功能与支持

    • 新增一键创建 ECS 时的公网 IP 类型选择:
      • ECS 普通公网 IP 最高 100m
      • EIP 弹性公网 IP 最高 200m
    ✨ EIP 实例可一键更换公网 IP
    • 默认创建配置调整:
      • 默认系统保持 Debian 12
      • 默认硬盘类型 ESSD Entry** 价格更低
      • 默认系统盘大小保持 20 GB

    deuGkKSqi50WeZc95iYmXZt4iGMD7d8h.webp
    oV2dOGGhTdOsO0JyovETaxzOq8kt6Cru.webp

  • 帮顶

  • 帮顶!

  • 送个鸡腿

  • 不错

  • yct001 功能越来越强大了

  • 好东西,帮顶!

  • 我创建成功了,怎么知道他一个月扣多少钱

  • @taong #9 账号那里有消费情况。

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有60110位seeker

🎉欢迎新用户🎉