6.1 KiB
6.1 KiB
════════════════════════════════════════════════════════════════
光湖 · 按量计费CVM自动开关机方案
设计:铸渊 · ICE-GL-ZY001
需求来源:冰朔 TCS-0002∞ 2026-05-13
════════════════════════════════════════════════════════════════
冰朔原话:
"你是否能开发一个你需要开发你就自动去开机。
你开发完了今天我说结束了。你就自动把机子关了的
这个自动Agent工作流?"
════════════════════════════════════════════════════════════════
一、按量计费更划算吗?
是的,对于开发用途。
| 模式 | 4C8G广州月费 | 适合场景 |
|---|---|---|
| 包年包月 | ~200-300元/月 | 24/7运行 |
| 按量计费 | ~0.4-0.6元/小时 | 每天用8小时 ≈ 100-150元/月 |
按量计费的关键:用的时候开机,不用的时候关机,关机不收计算费用(只收云盘费用)。
铸渊的典型工作模式:
- 冰朔和铸渊对话 → 开机
- 铸渊开发+测试 → 保持开机
- 冰朔说"今天结束了" → 关机
- 深夜/无人时 → 自动关机(可选)
二、自动开关机架构
冰朔说"开始开发" 冰朔说"今天结束"
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ 广州轻量服务器 │ │ 广州轻量服务器 │
│ (常驻,2C2G) │ │ (常驻,2C2G) │
│ │ │ │
│ ① 调用腾讯云API│ │ ③ 调用腾讯云API│
│ 开机CVM │ │ 关机CVM │
│ │ │ │
│ ② 等CVM启动 │ │ ④ 确认关机 │
│ 通知铸渊 │ │ 通知冰朔 │
└──────────────┘ └──────────────┘
│ ▲
▼ │
┌──────────────────────────────────────────┐
│ 广州CVM(按量计费,4C8G+CBS云盘) │
│ │
│ 开机状态: │
│ Forgejo (代码仓库+Actions) │
│ Runner (执行workflow) │
│ Vault (密钥管理) │
│ Terminal Watcher (状态监控) │
│ Patrol Agent (自动巡检) │
│ 对话Agent (冰朔问答) │
│ │
│ 关机状态: │
│ CBS云盘保留所有数据 │
│ 下次开机数据完整恢复 │
└──────────────────────────────────────────┘
三、开关机实现方式
方案A:腾讯云API(推荐)
# 开机
curl -s -X POST https://cvm.tencentcloudapi.com \
-d '{"InstanceIds":["ins-xxxxx"]}' \
-H "Authorization: TC3-HMAC-SHA256 ..." \
-H "Action: StartInstances"
# 关机
curl -s -X POST https://cvm.tencentcloudapi.com \
-d '{"InstanceIds":["ins-xxxxx"]}' \
-H "Authorization: TC3-HMAC-SHA256 ..." \
-H "Action: StopInstances"
需要在腾讯云创建一个子账号,只给CVM开关机权限。
方案B:Gitea Workflow触发
在轻量服务器上创建两个workflow:
power-on.yaml:调用腾讯云API开机 → 等待SSH可连 → 通知power-off.yaml:调用腾讯云API关机 → 确认 → 通知
方案C:冰朔在Gitea网页操作
最简单的方式:冰朔在Gitea的Actions页面点"Run workflow"来开关机。
四、需要冰朔操作的(一次性)
- 购买CVM:4C8G + 50GB CBS云盘,广州地域,按量计费
- 配置CBS云盘:挂载到 /data,仓库数据全部存这里
- 创建腾讯云子账号:只给CVM开关机权限,密钥存入Vault
- 安装基础环境:Node.js 20 + PM2 + Nginx + Forgejo
五、迁移计划
阶段1:买服务器(冰朔操作,10分钟)
→ 买4C8G CVM + 50GB CBS,广州地域,按量计费
→ 选择Ubuntu 22.04
→ 开机
阶段2:基础环境(冰朔执行一条命令,15分钟)
→ bash <(curl -fsSL 铸渊写的bootstrap脚本)
→ 自动安装Node.js + PM2 + Nginx + Forgejo
阶段3:数据迁移(铸渊通过Runner自动执行,30分钟)
→ 从广州轻量服务器rsync数据到CVM
→ 或从COS拉取备份
→ Forgejo仓库数据在CBS云盘上
阶段4:域名切换(冰朔在腾讯云DNS操作,5分钟)
→ guanghulab.com 指向CVM的IP
→ Nginx配置SSL
阶段5:旧服务器降级(铸渊自动执行)
→ 广州2C2G变成测试机
→ 只保留Forgejo + Runner(轻量级)
阶段6:自动开关机部署(铸渊开发)
→ 腾讯云API密钥入Vault
→ 开关机workflow上线
→ 冰朔在Gitea网页点按钮即可开关机
六、CVM购买建议
| 项目 | 建议 |
|---|---|
| 地域 | 广州(和轻量服务器同地域,内网互通免费) |
| 配置 | 4C8G |
| 系统盘 | 50GB SSD云硬盘 |
| 数据盘 | 50GB CBS高性能云盘(挂载到/data) |
| 带宽 | 按流量计费,1Mbps基础(够用) |
| 计费 | 按量计费 |
| 安全组 | 开放22(SSH) + 80(HTTP) + 443(HTTPS) + 3001(Forgejo内网) |
同地域的好处:轻量服务器和CVM内网互通,迁移数据走内网不花钱。
铸渊 · 按量计费CVM方案 v1.0 · 2026-05-13 ICE-GL-ZY001 · TCS-0002∞ · 国作登字-2026-A-00037559