节点调和控制台返回控制台

使用说明

用于配置阿里云 ECS 节点、创建 Dante SOCKS5 启动模板,并安全地调和代理池规模。

1. 配置

  1. 在“阿里云设置”中填写专用 RAM 用户的 AccessKey、地域、启动模板、实例标签池名称;资源组和模板版本可选。
  2. 填写 SOCKS 用户名、密码和代理 API Token。秘密字段留空会保留原值;只有勾选“清除现有密钥”才会清除 AccessKey Secret。
  3. 也可通过同目录 .env.local 或系统环境变量提供配置;优先级为系统环境变量 > .env.local > 已保存设置。没有 .env.local 时兼容读取 .env.env.local 支持的全部变量如下:
# 阿里云凭据与地域(必填)
ALIBABA_CLOUD_ACCESS_KEY_ID=LTAI...
ALIBABA_CLOUD_ACCESS_KEY_SECRET=...
ALIYUN_REGION_ID=cn-hangzhou

# 实例标签池名称(必填,默认 proxy-main)
ALIYUN_POOL_NAME=proxy-main

# SOCKS5 代理配置(必填,否则代理池不可用)
SOCKS5_PORT=1080
SOCKS5_USERNAME=myuser
SOCKS5_PASSWORD=mypassword
SOCKS5_CHECK_HOST=1.1.1.1
SOCKS5_CHECK_PORT=80
SOCKS5_TIMEOUT=5

# 代理 API 认证令牌(必填,用于提取代理和 API 控制)
PROXY_API_BEARER_TOKEN=your-secret-token

2. 按钮功能说明

工具栏从左到右依次排列以下按钮和控件:

目标节点数 + 应用

输入期望维持的 ECS 节点数量(0–1000 的整数),点“应用”保存。调和时会以此为基准:实际节点少则创建,多则释放。设为 0 表示回收全部受管节点。

立即调和

手动触发一次调和。系统会比较目标数与实际节点数,自动创建或释放 ECS 实例,并对运行中的节点执行 SOCKS5 健康检查。调和执行期间按钮禁用,快捷键 Ctrl+Enter 可等效触发。

代理测试

打开代理测试对话框,选择一个健康节点并指定目标 URL,通过该节点的 SOCKS5 代理向目标发起 HTTP GET 请求,返回状态码、延迟和响应大小,用于验证代理可用性。

负载均衡

打开负载均衡对话框,选择调度策略后获取一个代理地址。支持四种策略:轮询、随机、最少连接、最低延迟。控制台内调用无需 Token,适合快速获取单个代理。

阿里云设置

打开设置对话框,配置 AccessKey、地域、启动模板、池名称、SOCKS 凭据、API Token 及调和参数(批量大小、超时、自动调和间隔、断路器阈值)。修改后点“保存”生效。

创建安全组

打开创建安全组对话框,输入名称和描述,选择目标交换机后创建普通 VPC 安全组。仅创建安全组本身,不创建任何入站规则(创建启动模板时会自动为 TCP 1080 添加规则)。

创建启动模板

打开创建启动模板对话框,选择镜像、实例规格、交换机和安全组后,通过 cloud-init 自动安装并配置 Dante SOCKS5 服务,创建成功后自动回填模板 ID 和版本到设置中。

使用说明

打开本帮助页面。

自动刷新 + 间隔选择

勾选“自动刷新”后,页面会按所选间隔(3/5/10/30 秒)定时拉取最新节点状态。取消勾选则停止自动刷新。

刷新

立即手动刷新节点状态和账单信息,快捷键 F5 等效。

节点列表 — 删除按钮

每行节点右侧的“删除”按钮用于手动下线并释放指定 ECS 实例。点击后会弹出确认对话框,确认后先从代理池下线再永久释放。调和执行期间禁用。

3. Dante 启动模板

先保存 AccessKey、地域和 SOCKS 凭据,再点“创建启动模板”。选择 Ubuntu 镜像、实例规格、交换机及安全组后,控制台通过 cloud-init 安装并配置 Dante,创建成功会自动回填模板 ID 与版本。

5. WarpGate 启动模板与提取

选择 WarpGate 模式后,先填写控制端公网 IP/CIDR 白名单,例如 203.0.113.10/32,再创建启动模板。模板会安装 Docker 和 WarpGate,并开放 API 端口 4433、认证代理端口 10010–10209 及白名单免密代理端口 11010–11209

{"proxy":"socks5://203.0.113.10:10012","proxy_whitelist":"socks5://203.0.113.10:11012","exit_ip":"2001:db8::10","whitelist_mode":true}

6. 扩缩容与调和

  1. 输入 0–1000 的目标节点数并点“应用”。
  2. 点“立即调和”:少于目标时按候选交换机顺序创建实例;多于目标时先将节点从代理池下线,再释放 ECS。
  3. 节点通过 SOCKS 健康检查后才进入“健康”状态。执行期间不要重复操作或手工修改带管理标签的实例。
  4. 新实例创建后需等待约 60 秒让 cloud-init 完成 Dante 安装与配置,再触发一次调和执行 SOCKS5 健康检查;提前检测会因服务未就绪而标记为 error
  5. 目标设为 0 会在调和时回收全部受管节点,请先确认业务流量已迁移。

5. 提取 SOCKS 代理

节点进入“健康”状态后,即可提取代理地址。系统提供三种提取方式:

方式一:控制台“负载均衡”按钮(快速获取单个代理)

  1. 点击工具栏“负载均衡”按钮。
  2. 选择调度策略:轮询(默认)、随机、最少连接、最低延迟。
  3. 点“获取代理”,结果区显示一个完整的 SOCKS5 代理 URL。
  4. 控制台内调用无需 Token,适合手动复制使用。

方式二:API 获取全部代理列表

GET /api/proxies 返回当前所有健康代理,必须携带 Bearer Token:

curl -H "Authorization: Bearer <API_TOKEN>" http://127.0.0.1:8765/api/proxies

成功响应形如:

{"proxies":["socks5://user:password@203.0.113.10:1080","socks5://user:password@203.0.113.11:1080"],"count":2}

方式三:API 按策略获取单个代理

GET /api/proxies/balanced?strategy=round-robin 按调度策略返回一个代理,需 Token 认证:

curl "http://127.0.0.1:8765/api/proxies/balanced?strategy=lowest-latency&token=<API_TOKEN>"

成功响应形如 {"proxy":"socks5://user:password@203.0.113.10:1080","strategy":"lowest-latency"}。可选策略:round-robin(轮询)、random(随机)、least-connections(最少连接)、lowest-latency(最低延迟)。

代理 URL 格式

所有方式返回的代理 URL 统一格式为 socks5://用户名:密码@公网IP:端口,默认端口 1080。用户名和密码已做 URL 编码,可直接用于支持 SOCKS5 的客户端。

客户端使用示例

# curl 通过代理访问
curl --socks5 socks5://user:password@203.0.113.10:1080 https://httpbin.org/ip

# Python requests
import requests
proxies = {"http": "socks5://user:password@203.0.113.10:1080",
           "https": "socks5://user:password@203.0.113.10:1080"}
r = requests.get("https://httpbin.org/ip", proxies=proxies)

# 浏览器(以 Firefox 为例)
# 设置 → 网络设置 → 手动代理配置 → SOCKS 主机填 IP,端口 1080,选 SOCKS v5,勾选远程 DNS

响应包含代理凭据,只应通过受信网络调用。Token 不应写入日志、聊天或前端公开代码。

6. 代理测试与负载均衡

代理测试

点击工具栏“代理测试”按钮,在对话框中选择一个健康节点并输入目标 URL(默认 https://httpbin.org/ip),点“执行测试”后系统会通过该节点的 SOCKS5 代理向目标发起 HTTP GET 请求,返回:

用于快速验证某个代理节点是否可正常访问目标网站。

负载均衡策略说明

每次通过 API 或负载均衡按钮获取代理时,系统会自动递增该节点的连接计数,供“最少连接”策略参考。

7. 删除节点

节点列表的“删除”只对同时具备控制器双重管理标签的实例生效。确认后会先从代理池下线,再永久释放 ECS,且无法撤销;调和执行期间禁止删除。删除后若目标数未降低,下次调和可能创建替代节点,因此永久缩容应先降低目标数。

8. 费用与安全

切勿通过截图、工单或聊天发送 AccessKey Secret、SOCKS 密码或 API Token。

9. 故障排查

调和按钮不可用

检查 AccessKey、地域、启动模板、池名称和代理配置是否完整;查看“最近事件”中的初始化错误,并确认 RAM 权限与地域一致。

实例一直“启动中”

检查 ECS 是否取得公网 IP、TCP 1080 安全组规则、cloud-init 日志、Dante 服务状态、SOCKS 凭据及健康检查目标是否可达。

创建或删除失败

确认账户余额/额度、实例库存、交换机可用 IP、配额、资源组及 ecs:RunInstances/ecs:DeleteInstances 权限。删除还要求双重管理标签且当前没有调和任务。

代理 API 返回 401 或 409

401 表示 Bearer Token 缺失或错误;409 通常表示真实代理池尚未配置。修改秘密后重新保存设置再重试。

账单读取失败或延迟

授予 bssapi:QueryAccountBalancebssapi:QueryBillOverview 只读权限;账单延迟时直接到阿里云费用中心核对。

10. 抢占式实例教程

抢占式实例(Spot Instance)利用阿里云空闲计算资源,价格最高可比按量付费便宜 90%,非常适合代理池这类可容忍中断的工作负载。本节介绍如何在本控制台中启用和管理抢占式实例。

10.1 什么是抢占式实例

10.2 适用场景评估

场景是否推荐抢占式原因
代理池(多节点负载均衡)✓ 强烈推荐单节点被回收不影响整体可用性,调和会自动补节点
需要 7×24 不间断单节点✗ 不推荐单点故障无冗余,被回收即服务中断
大批量短时任务✓ 推荐短时任务可在保护期内完成,成本极低
有状态服务(数据库等)✗ 不推荐被回收导致数据丢失,需额外持久化方案

10.3 配置步骤

  1. 点击工具栏「阿里云设置」按钮打开设置对话框。
  2. 找到「实例计费方式」下拉框,从「按量付费」切换为「抢占式」。
  3. 在「抢占式保护期」下拉框中选择保护期时长:
    • 无保护期(价格最低) — 随时可能被回收,价格最便宜,适合多节点代理池。
    • 1 小时保护期 — 创建后 1 小时内不会被回收,适合需要短期稳定运行的任务。
    • 6 小时保护期 — 创建后 6 小时内不会被回收,价格略高,适合需要较长时间运行的任务。
  4. 点击「保存」。设置立即生效,后续创建的所有新实例均使用抢占式计费。

切换计费方式只影响新创建的实例。已在运行的按量付费实例不会被自动转换,如需替换可手动删除旧节点让调和自动以抢占式重建。

10.4 抢占式实例的生命周期管理

本控制台自动处理抢占式实例的完整生命周期:

  1. 创建 — 调和时按 SpotAsPriceGo 策略出价(跟随市场价),自动创建抢占式实例。
  2. 健康检查 — 与按量付费实例一样,创建后等待约 60 秒执行 SOCKS5 健康检查,通过后进入「健康」状态并加入代理池。
  3. 中断预警 — 阿里云在回收前会发出系统事件,控制台在刷新时检测到实例进入 Stopping / Recycling 状态会自动将其从代理池下线,避免向即将消失的节点分配流量。
  4. 自动补节点 — 被回收的实例在下次调和时会被检测为「缺失」,控制台自动创建新的抢占式实例补足目标节点数。如果已开启自动调和(间隔 > 0),整个过程无需人工干预。
  5. 手动处理 — 也可以在节点列表中手动点击「删除」释放被标记为 error 的实例,调和会自动补节点。

10.5 推荐配置

针对代理池场景,推荐以下抢占式配置组合:

10.6 成本对比示例

ecs.t6-c1m1.large(2 vCPU / 2 GiB)华东1(杭州)为例(价格仅供参考,以阿里云官网为准):

计费方式小时单价月费(730h)相对按量
按量付费¥0.17/h¥124100%
抢占式(无保护期)~¥0.02/h~¥15~12%
抢占式(1h 保护期)~¥0.03/h~¥22~18%

5 个节点代理池使用抢占式(无保护期),月费约 ¥75,而按量付费约 ¥620,节省约 88%

10.7 常见问题

抢占式实例创建失败?

常见原因:当前地域/规格库存不足、账户余额不足、超出抢占式实例配额。建议:选择其他规格或多规格配置、确认账户余额 > ¥100、查看阿里云控制台的配额限制。

节点频繁被回收怎么办?

增加目标节点数(如从 3 调到 5)、缩短自动调和间隔(如 60 秒)、选择库存充足的规格和地域、考虑使用 1 小时保护期减少中断频率。多节点 + 快速自动调和是应对抢占式中断的最佳策略。

保护期内会被收费吗?

会。保护期只是保证不被回收,不是免费期。保护期内的费用按抢占式价格计算,通常仍远低于按量付费。

已有的按量实例能转成抢占式吗?

不能直接转换。切换计费方式后,手动删除旧节点,调和会自动以抢占式创建新节点替代。

11. 费用教程

本节详细说明代理池涉及的阿里云费用构成、控制台费用面板的读取方法、不同计费方式的成本对比、费用估算方法以及节省成本的最佳实践。

11.1 费用构成

运行代理池的阿里云费用由以下几部分组成:

费用项说明计费方式
ECS 实例代理节点本身的计算资源(vCPU + 内存)按秒计费,不足 60 秒按 60 秒算
公网带宽实例的出/入公网流量带宽按固定带宽 或 按使用流量
公网流量费选择"按使用流量"时的实际流量费¥0.80/GB(国内),地域不同有差异
系统盘随实例创建的 ESSD/SSD 系统盘随实例生命周期,释放时自动删除

代理池的主要成本是 ECS 实例费和公网流量费。代理转发流量较大时,流量费可能超过实例费本身。

11.2 控制台费用面板

控制台顶部的费用面板实时展示以下 7 个指标(数据来自阿里云 BSS OpenAPI,缓存 60 秒):

指标含义数据来源
账户余额(可用现金)账户中可用于消费的现金余额QueryAccountBalance.available_cash_amount
账户可用额度含信控额度的总可用额度QueryAccountBalance.available_amount
当月已花费当前账期(自然月)所有云产品消费汇总QueryBillOverview.pretax_amount 求和
信控额度阿里云授予的信用额度QueryAccountBalance.credit_amount
币种账户结算币种(通常为 CNY)QueryAccountBalance.currency
账期当前账单周期(如 2026-08)QueryBillOverview.billing_cycle
API 更新时间费用数据最近一次刷新的 UTC 时间控制台本地记录

费用面板下方有一行状态提示,可能显示以下状态:

账单数据非实时,存在数小时延迟。费用面板仅供参考,以阿里云费用中心出账为准。

11.3 计费方式对比

计费方式价格适合场景本控制台支持
按量付费 (PostPaid)基准价需要稳定不被中断的节点✓ 默认
抢占式 (Spot)基准价的 ~10%–30%代理池等多节点可容忍中断场景✓ 设置中选择
包年包月 (PrePaid)比按量便宜 ~30%–50%长期稳定运行,需提前规划✗ 不支持(本控制台仅创建按量/抢占式)

详细抢占式配置参见第 10 节 抢占式教程

11.4 公网带宽计费方式

创建启动模板时需要选择公网带宽计费方式,这直接影响流量费用:

带宽计费计费规则适合场景
按使用流量¥0.80/GB(国内地域),用多少算多少代理流量不稳定或量级不大时最划算
按固定带宽按带宽峰值包月,如 5Mbps 约 ¥25/月流量稳定且大,超过约 31GB/月后更划算

临界点估算:按流量 ¥0.80/GB,固定带宽 5Mbps ¥25/月 → 临界点约 31GB/月。月流量 < 31GB 选按流量,> 31GB 选固定带宽。代理池通常流量波动大,建议默认选"按使用流量"。

11.5 费用估算

以下估算以华东 1(杭州)ecs.t6-c1m1.large(2 vCPU / 2 GiB)为例,价格为参考值,实际以阿里云官网为准:

场景一:3 节点代理池,按量付费,月流量 50GB

ECS 实例费:¥0.17/h × 730h × 3 = ¥372.30/月
公网流量费:¥0.80/GB × 50GB = ¥40.00/月
系统盘费:¥0.35/GB × 40GB × 3 = ¥42.00/月(ESSD PL0)
────────────────────────────────
合计约:¥454/月

场景二:3 节点代理池,抢占式(无保护期),月流量 50GB

ECS 实例费:~¥0.02/h × 730h × 3 = ~¥43.80/月
公网流量费:¥0.80/GB × 50GB = ¥40.00/月
系统盘费:¥0.35/GB × 40GB × 3 = ¥42.00/月
────────────────────────────────
合计约:¥126/月(节省 ~72%)

场景三:5 节点代理池,抢占式(无保护期),月流量 200GB

ECS 实例费:~¥0.02/h × 730h × 5 = ~¥73.00/月
公网流量费:¥0.80/GB × 200GB = ¥160.00/月
系统盘费:¥0.35/GB × 40GB × 5 = ¥70.00/月
────────────────────────────────
合计约:¥303/月(按量付费同等配置约 ¥793/月,节省 ~62%)

系统盘费用在实例释放时自动停止。抢占式实例被回收后系统盘随之释放,不会产生额外费用。

11.6 费用监控与告警

  1. 控制台实时监控 — 费用面板每次刷新自动更新,缓存 60 秒。关注"账户余额"和"当月已花费"两个核心指标。
  2. 阿里云费用告警 — 前往用户中心 → "预算管理"创建预算告警,当月消费超过阈值时发送短信/邮件通知。
  3. 余额预警 — 阿里云默认在余额低于 100 元时发送预警。建议将预警阈值提高到能覆盖 3 天预估费用的金额。
  4. 自动调和兜底 — 将目标节点数设为 0 并调和,可立即停止所有 ECS 计费。配合自动调和间隔,即使抢占式实例被回收也能自动控制成本。

11.7 节省费用的最佳实践

12. API 控制与代理接口

中控 API 默认地址为 http://127.0.0.1:8765。代理提取、粘性代理和管理操作使用 Authorization: Bearer <API_TOKEN> 请求头认证。管理接口兼容 token 查询参数,但不建议把 Token 放在 URL、日志或浏览器历史中。

代理提取与 SOCKS5 使用

所有代理接口都从全部健康 ECS/WarpGate 节点组成的统一资源池中提取,业务方不需要直接管理某一台 ECS。server_ip:port 是业务连接的 ECS 入口,exit_ip 才是 WARP 对外访问的真实出口;不要用 ECS 原生公网 IPv4 冒充 WARP IPv4。

普通列表

family 只能是 ipv4ipv6bothprotocol 只能是 socks5httpboth。普通列表适合批量导入或自行选择代理,不保证同一业务后续仍使用同一个代理。

# SOCKS5 客户端示例
curl --socks5-hostname warpuser:password@47.238.139.26:10016 https://example.com

# Python requests(需 pip install requests[socks])
import requests
proxy = "socks5h://warpuser:password@47.238.139.26:10016"
requests.get("https://example.com", proxies={"http": proxy, "https": proxy}, timeout=30)

优先使用 socks5h--socks5-hostname,让 DNS 也通过代理解析。IPv6 出口要求客户端能访问中控 API,但连接入口仍使用响应中的 server_ip,不能把带冒号的 exit_ip 直接拼成 SOCKS5 地址。

平衡获取

GET /api/proxies/balanced?strategy=round-robin&family=ipv4&protocol=socks5 每次返回一个代理。strategy 支持 round-robinrandomleast-connectionslowest-latency;其中“最少连接”按中控分配计数计算,不是实时 TCP 连接数。适合每次任务只需要一个代理且不要求固定会话的场景。

粘性代理规则

粘性绑定键为 session_id + family。同一业务标识可以同时拥有一条 IPv4 和一条 IPv6 绑定;同一家庭类型在默认 10 分钟内重复获取返回原代理,重复请求不会刷新 TTL。session_id 可使用邮箱、手机号、账号等非空业务标识。不同会话不会共享同一代理端口;原代理失效时会自动从全部健康 ECS 节点切换。

# 获取 IPv6 粘性代理
curl -G -H "Authorization: Bearer <API_TOKEN>" --data-urlencode "session_id=user@example.com" --data-urlencode "family=ipv6" http://127.0.0.1:8765/api/proxies/sticky

# 主动释放
curl -X DELETE -H "Authorization: Bearer <API_TOKEN>" "http://127.0.0.1:8765/api/proxies/sticky/user%40example.com?family=ipv6"

成功响应包含 proxyserver_ipportexit_ipexpires_inreused。释放成功或目标绑定不存在都返回 HTTP 200

状态与管理接口

常见状态码:200 成功,400 参数错误,401 Token 缺失或无效,409 没有可用代理资源或操作冲突,500 中控内部错误。

WarpGate 模式下,IPv4/IPv6 按 WARP 真实 exit_ip 分类。ECS 原生公网 IPv4 不会被伪装成 WARP IPv4 出口;如果当前节点没有 IPv4 WARP 出口,family=ipv4 会返回 HTTP 409。

13. AI 提示词模板案例

本节提供一套面向 AI 的结构化提示词,用于通过自然语言对话引导 AI 完成安全组、交换机、实例规格等核心参数的确认,最终生成可提交到控制台的完整资源配置模板。将以下提示词复制给 AI 助手即可开始交互式配置。

13.1 使用方法

  1. 将下方"系统提示词"发送给 AI 助手。
  2. AI 会逐步询问地域、安全组、交换机、实例规格等参数。
  3. 通过自然语言回答或调整,AI 会实时更新配置草案。
  4. 确认无误后,AI 输出完整的 JSON 配置模板。
  5. 将 JSON 中的参数填入控制台"阿里云设置"和"创建启动模板"对话框。

13.2 系统提示词

你是 ProxyPilot 代理池的资源配置助手。你的任务是通过自然语言对话,
帮助用户完成阿里云 ECS SOCKS5 代理池的资源配置。

你需要引导用户确认以下核心参数,并最终生成完整的资源配置模板。

## 需要确认的参数

### 1. 地域与可用区
- region_id:阿里云地域(如 cn-hangzhou、cn-shanghai、cn-beijing)
- zone_id:可用区(如 cn-hangzhou-j,可通过 GET /api/resources 查询)

### 2. 安全组
- security_group_id:已有安全组 ID,或通过"创建安全组"新建
- 安全组需开放 TCP 1080 入方向(SOCKS5 代理端口)
- 建议:仅允许可信客户端 IP,不向全网开放

### 3. 交换机(vSwitch)
- v_switch_id:交换机 ID,需与所选地域/可用区一致
- 可通过 GET /api/resources 查询可用交换机列表

### 4. 实例规格
- instance_type:ECS 实例规格
- 推荐:t6-c1m1.large(2vCPU/2GiB,代理转发足够)
- 可选:s6-c1m1.large、e-instance ecs.t6-c1m1.large 等
- 可通过 GET /api/resources 查询可用规格

### 5. 镜像
- image_id:Ubuntu 镜像 ID(cloud-init 依赖 Ubuntu)
- 推荐:ubuntu_22_04_x64 或 ubuntu_20_04_x64
- 可通过 GET /api/resources 查询可用镜像

### 6. SOCKS5 凭据
- socks5_username:代理认证用户名
- socks5_password:代理认证密码(至少 8 位,含大小写字母和数字)

### 7. 计费方式
- instance_charge_type:PostPaid(按量付费)或 Spot(抢占式)
- spot_duration:抢占式保护期(0=无、1=1小时、6=6小时)
- 代理池推荐:抢占式 + 无保护期(成本最低)

### 8. 调和参数
- target_nodes:目标节点数(建议 ≥ 2,保证可用性)
- batch_size:调和批量大小(默认 3)
- auto_reconcile_interval:自动调和间隔秒数(建议 60-300)
- circuit_breaker_threshold:断路器阈值(建议 3-5)

## 交互规则

1. 每次只问 1-2 个问题,不要一次列出所有参数。
2. 提供推荐值和说明,让用户可以简单回复"可以"或给出自定义值。
3. 用户说"用默认值"时,使用括号中的推荐值。
4. 收集完所有参数后,输出完整的 JSON 配置模板。
5. 如果用户提供的参数可能有问题(如地域与交换机不匹配),主动提醒。

## 对话示例

用户:帮我配置一个代理池
助手:好的!我先确认几个核心参数。

首先,你打算把代理节点部署在哪个地域?
- 华东1(杭州)· cn-hangzhou ← 推荐,资源丰富
- 华东2(上海)· cn-shanghai
- 华北2(北京)· cn-beijing
- 其他地域

回复地域名称或编号即可,也可以说"用默认"。

用户:用默认
助手:好的,使用华东1(杭州)cn-hangzhou。

接下来确认实例规格。代理转发是 I/O 密集型任务,入门级规格即可:
- ecs.t6-c1m1.large(2vCPU/2GiB)← 推荐,性价比最高
- ecs.s6-c1m1.large(2vCPU/2GiB)
- ecs.t6-c1m1.xlarge(4vCPU/4GiB)

你倾向哪个?也可以说"推荐"。

用户:推荐
助手:好的,使用 ecs.t6-c1m1.large。

关于计费方式,代理池适合抢占式实例(成本约按量的 10%-30%):
- 抢占式(无保护期)← 推荐,价格最低,多节点可容忍中断
- 抢占式(1小时保护期),略贵但创建后1小时内不被回收
- 按量付费,稳定但成本高

你的选择?

用户:抢占式无保护期
助手:好的。

最后几个参数:
1. 目标节点数?(建议 3-5 个,保证单节点被回收后仍有可用代理)
2. SOCKS5 用户名和密码?(用于代理认证,密码至少8位含大小写和数字)

用户:3个节点,用户名 proxyuser,密码 MyProxy2026
助手:所有参数已确认。以下是完整的资源配置模板:

(输出 JSON)

请将以上参数填入控制台:
1. "阿里云设置"中填入 region_id、socks5_username、socks5_password、instance_charge_type 等。
2. "创建安全组"中创建安全组(如尚未有)。
3. "创建启动模板"中选择 image_id、instance_type、v_switch_id、security_group_id。
4. 设置目标节点数为 target_nodes,点击"立即调和"。

13.3 输出模板格式

AI 确认所有参数后,会输出以下 JSON 格式的配置模板:

{
  "settings": {
    "region_id": "cn-hangzhou",
    "access_key_id": "<在控制台填写>",
    "access_key_secret": "<在控制台填写>",
    "pool_name": "proxy-main",
    "socks5_username": "proxyuser",
    "socks5_password": "<已确认的密码>",
    "proxy_api_bearer_token": "<在控制台填写>",
    "instance_charge_type": "Spot",
    "spot_duration": "0",
    "auto_reconcile_interval": "60",
    "circuit_breaker_threshold": "3",
    "batch_size": "3",
    "pending_timeout_minutes": "5"
  },
  "launch_template": {
    "launch_template_name": "dante-proxy-<时间戳>",
    "description": "Dante SOCKS5 代理模板",
    "image_id": "ubuntu_22_04_x64",
    "instance_type": "ecs.t6-c1m1.large",
    "v_switch_id": "<已确认的交换机 ID>",
    "security_group_id": "<已确认的安全组 ID>"
  },
  "security_group": {
    "security_group_name": "proxy-sg-<时间戳>",
    "description": "SOCKS5 代理安全组",
    "v_switch_id": "<与启动模板相同的交换机>"
  },
  "target_nodes": 3,
  "post_create_steps": [
    "1. 在'阿里云设置'中填写 settings 部分的参数并保存",
    "2. 在'创建安全组'中创建安全组(如尚未有)",
    "3. 在'创建启动模板'中选择镜像、规格、交换机、安全组并创建",
    "4. 设置目标节点数为 3,点击'立即调和'",
    "5. 等待约 60 秒后再次调和,节点应进入健康状态"
  ]
}

13.4 快速启动提示词

如果已有安全组和交换机,可以用以下精简提示词快速配置:

你是 ProxyPilot 配置助手。请帮我快速配置代理池。

我已有的资源:
- 地域:cn-hangzhou
- 交换机 ID:vsw-bpxxxxxxxxxx
- 安全组 ID:sg-bpxxxxxxxxxx
- 目标节点数:3
- 计费方式:抢占式,无保护期
- SOCKS5 用户名:proxyuser
- SOCKS5 密码:Proxy2026!

请帮我确认实例规格和镜像选择,然后输出完整的启动模板参数和设置参数,
我直接填入控制台的'创建启动模板'和'阿里云设置'对话框。

提示词中的密码和 Token 为示例值,实际使用时请替换为自己的真实凭据。切勿在公共 AI 平台上发送真实 AccessKey Secret。