海外云服务器上的灰度发布与蓝绿部署怎么选?AWS、阿里云、腾讯云与开源四套方案成本全对比(2026)
Meta Description: 2026 年海外云服务器灰度发布 / 蓝绿部署方案成本全对比:AWS CodeDeploy+AppConfig、阿里云 MSE、腾讯云 TKE+CLB 与开源 Argo Rollouts/Flagger 四套方案的计费依据、单价与月账单算例,附三档推荐与五条省钱技巧,帮你既不发事故、也不花冤枉钱。
开头:一句话给出答案
先给结论:发布治理这件事本身几乎不花钱,花冤枉钱的地方几乎都在「选错了计费模型」。
- 只想让"新版本出问题能一键切回旧版本"——先用云厂商自带的发布能力:AWS CodeDeploy 部署到 EC2 / ECS / Lambda 是 $0(官方原文 "There is no additional charge for code deployments to Amazon EC2, Lambda, or Amazon ECS through CodeDeploy."),腾讯云 TKE 的灰度发布与 CLB 权重切换也没有独立的"发布费",你只需要为本来就该买的云服务器和负载均衡付钱。 - 团队在 10 人以内、只在一朵云上——开源控制面(Argo Rollouts / Flagger / Argo CD)授权费为 0,唯一的成本是一台常驻的 2 核 4G 机器(约 $5~12/月),三个控制器合计约 0.5 vCPU / 1 GiB。 - 配置下发频繁、目标数上千(例如给上千台边缘节点或采集器推配置)——这时才要小心 AWS AppConfig 这类"按次"计费的隐性大头:官方算例里"1 份配置、2000 个目标、每天更新 3 次"一个月就是 $152.64,而且下发费是请求费的 16 倍以上。 - 跨两朵云以上,或者合规要求"每一步放量都能人工确权、可留痕"——才值得考虑按连接数 / 按席位订阅的商业方案(如阿里云 MSE Serverless 按每小时最大连接数阶梯计费)。
换句话说,先回答一个问题:你要的是"发版不出事故",还是"变更过程可被治理"? 前者基本免费,后者才开始谈钱。下面把四套方案的计费依据、真实单价和月账单一次算清。
一、先分清"部署"和"发布":90% 的人把钱花错了地方
把新版本代码变成"用户能用到的服务",其实是两个动作:
- 部署(Deploy):把镜像 / 制品放进运行环境(拉起 Pod、更新实例)。解决"新代码能不能跑起来"。 - 发布(Release):把流量从旧版本按比例交给新版本。解决"用户会不会踩到新 bug"。
大多数团队只做了部署,没做发布——于是"上线"就等于"全量",一出问题就是全站事故。而真正值钱的能力,是在发布这一层:小比例试水、按指标自动判断、出问题自动或手动回退。明白了这一点,你就知道钱该花在哪:不是买更贵的服务器,而是补上"发布"这一层的控制面。
把你正在看的这篇,和站内相邻的几篇划清边界
| 相邻篇章 | 它管什么 | 本文边界 | |---|---|---| | 负载均衡跨厂商选型与成本 | 入站流量怎么分流、LB 收多少钱 | 本文只把 LB / Ingress 当作"流量旋钮"用,重点讲新版本怎么安全放量 + 控制面本身花多少钱 | | Kubernetes vs Serverless 容器 | 容器编排方案选谁 | 本文假设运行环境已定,只讨论"版本怎么发出去" | | 监控与告警方案选型 | 故障了谁通知你 | 本文只取"用哪几个指标当发布门禁" | | 备份与容灾方案对比 | 数据怎么恢复 | 本文讲的是"同版本内切换比例 + 代码回退",回滚不解决数据库 | | 服务器迁移实战指南 | 整站搬走 | 本文是"同版本、不同比例"的微切换,不换机房 |
一句话记法:负载均衡篇回答"流量往哪去",本文回答"新版本敢不敢接流量、接多少、出事怎么退"。
二、四套方案逐个拆:从"云内免费"到"按连接数阶梯"
下面每一家的单价都来自官方定价页 / 文档原文(采集于 2026 年 9 月),不再凭记忆编数字。
1. AWS:CodeDeploy($0)+ AppConfig(按次)+ EKS 控制面($0.10/小时)
- CodeDeploy:把代码部署到 EC2 / Lambda / ECS 是免费的;只有部署到本地机房或混合云实例才收费 $0.02 / 实例更新。注意计费口径是"实例更新次数"——部署到 3 台就是 3 次更新,被跳过(unchanged)的实例不计费。这对海外用户特别友好:你哪怕横跨 us-east-1、ap-southeast-1、eu-central-1,云内实例部署都不额外收钱。 - AppConfig(配置与特性开关的托管服务):这才是 AWS 侧真正的计费点,且分三项——配置请求(API 调用)$0.0000002 / 次、配置下发(配置被目标接收)$0.0008 / 次、A/B 实验 $0.90 / 实验小时(不足 1 小时向上取整)。 - EKS 控制面:$0.10 / 集群 / 小时(约 $73/月)。这笔钱和发布方式无关,只要开集群就在跑,做预算时不要漏。
> 一个易错点:AppConfig 的定价页早前挂在 aws.amazon.com/appconfig/pricing/,现在已并入 aws.amazon.com/systems-manager/pricing/(页面内含"Configuration requests via API Calls / Configurations Received / Experiment hours"三行表 + 算例)。找不到定价页不等于免费。
2. 阿里云:MSE 微服务引擎(普通实例按规格,Serverless 按连接数阶梯)
阿里云做全链路灰度(标签路由 + 灰度放量)的能力落在 MSE 微服务引擎里,它和 ARMS 共用同一套 Agent。计费分两种形态:
- 普通实例:按规格 × 节点数计费(支持包年包月 / 按量),适合长期稳定的生产流量。
- Serverless 实例:按每小时最大连接数阶梯计费——第一阶梯 0~10:0.16 / 11~50:0.07 / 51~100:0.05 / 101 以上:0.018(单位:元 / 10 连接 / 小时)。官方示例:每小时最大连接数 50 → 0.16 + 0.07 × (50−10)/10 = 0.44 元/小时。
这里最容易被忽略的一句话:Serverless 计费的锚点是"每小时最大连接数",不是"发布次数"。 也就是说你哪怕一天只发一次版,只要灰度期间瞬时连接数冲高,账单就按那个峰值档位走。灰度窗口越长、连接峰值越高,越贵——这跟"多放量几次"无关。
3. 腾讯云:TKE 灰度 + CLB 权重(控制面无独立"发布费")
腾讯云侧做灰度,通常走 TKE 的工作负载滚动更新 / 灰度,再配合 CLB 的权重做流量切分。它的特点是:
- 控制面能力(灰度、滚动、权重切换)本身没有独立的"发布费"——你不需要为"发了一个新版本"单独付费。 - 但流量的承载方 CLB 要照常收费:实例费、公网费、LCU 费照计(腾讯云国际 CLB 的四段计费与逐地域 LCU 单价,已在负载均衡选型篇里逐项拆过)。
所以腾讯云用户的成本直觉应该反过来:不是"灰度要花钱",而是"为了让灰度有地方切流量,你多开了一个 CLB / 多留了一台机器"——钱花在冗余资源上,而不是花在发布动作上。
4. 开源:Argo Rollouts / Flagger / Argo CD(授权 $0,成本=控制器常驻资源)
如果你跨多朵云、或者不想被某家的概念与 API 绑死,开源控制面是性价比最高的一条路。截至 2026 年 9 月的最新版本:
| 项目 | 仓库 | 版本 | 发布日 | |---|---|---|---| | Argo Rollouts | argoproj/argo-rollouts | v1.10.0 | 2026-08-27 | | Flagger | fluxcd/flagger | v1.45.0 | 2026-09-01 | | Argo CD | argoproj/argo-cd | v3.5.3 | 2026-09-14 | | Unleash(特性开关) | Unleash/unleash | v8.2.0 | 2026-09-08 |
授权费为 0,成本只有一个:三个控制器常驻合计约 0.5 vCPU / 1 GiB,可以跑在一台 2 核 4G 的机器上(约 $5~12/月)。
要用好它,先把"声明式灰度"这件事写对——下面是一段典型的最小金丝雀配置(# 注释已全部移到正文,代码块内只保留合法 YAML,方便你直接复制):
`yaml
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: web
spec:
replicas: 10
strategy:
canary:
steps:
- setWeight: 5
- pause: {duration: 5m}
- setWeight: 25
- pause: {duration: 10m}
- setWeight: 100
`
配套的几条常用命令(同样是可直接复制的纯命令,不带注释):
`bash
kubectl argo rollouts get rollout web --watch
kubectl argo rollouts promote web
kubectl argo rollouts undo web
`
选 Rollouts 还是 Flagger?判据是"控制反转":需要"每一步人工确权、可审计"就选 Argo Rollouts(你声明步骤、人工或定时推进);需要"无人值守自动放量"就选 Flagger(你声明指标、它按指标自动扩缩流量)。两者共用同一套 Prometheus 指标,也可以共存。
三、计费依据对比表:先看"按什么收钱",再看单价
跨厂商比价时,最容易踩的坑是"看到两个都像 0 就以为一样"。真正决定账单的是计费依据——先列出这张表,再谈钱:
| 方案 | 计费对象 | 计费依据 | 基础动作是否免费 | 起步门槛 | |---|---|---|---|---| | AWS CodeDeploy | 实例更新次数 | 按"实例更新次数"计;跳过的实例不计费 | ✅ 云内(EC2/ECS/Lambda)为 $0 | 无 | | AWS AppConfig | 配置请求 / 下发 / 实验小时 | 按"目标数 × 轮询次数 / 更新次数"计 | ❌ 请求与下发都计费 | 无 | | AWS EKS 控制面 | 集群开着的时长 | 按 小时 × 集群数 | ❌ 一开就计 | 无 | | 阿里云 MSE(普通实例) | 规格 × 节点数 | 包年包月 / 按量 | ❌ 由规格与节点数决定 | 有最小规格 | | 阿里云 MSE(Serverless) | 每小时最大连接数 | 阶梯:按连接数峰值落档 | ❌ 按连接数阶梯 | 极低(可从最小档起) | | 腾讯云 TKE 灰度 + CLB 权重 | 控制面无独立发布费 | 发布动作不计费;CLB 实例 / 公网 / LCU 照计 | ✅ 发布能力免费 | 需要 CLB | | 开源 Argo Rollouts / Flagger / Argo CD | 控制器常驻资源 | 你为承载控制器的机器付费 | ✅ 授权费 $0 | 一台 2C4G 机器 |
这张表里藏着本文最值钱的一句话:同为"灰度发布",AWS 收在"配置下发次数"上,阿里云收在"连接数峰值"上,腾讯云几乎不在"发布"上收而收在"承载流量的 LB"上,开源则完全转到"机器资源"上。 四家的收费锚点根本不在同一个维度——所以"哪家便宜"这个问题,只有在给定你的用量画像之后才有答案。
四、价格对比表:四套方案一次算清
下表为公开官网口径(采集于 2026 年 9 月,除标注外单位为美元 USD):
| 方案 / 计费项 | 单价 | 口径与备注 | |---|---|---| | AWS CodeDeploy(云内 EC2/ECS/Lambda) | $0 | 官方原文:"There is no additional charge for code deployments to Amazon EC2, Lambda, or Amazon ECS through CodeDeploy." | | AWS CodeDeploy(本地 / 混合云实例) | $0.02 / 实例更新 | 无最低消费、无预付;被跳过的实例不计费 | | AWS AppConfig 配置请求 | $0.0000002 / 次 | API 调用 | | AWS AppConfig 配置下发 | $0.0008 / 次 | 配置被目标接收 | | AWS AppConfig A/B 实验 | $0.90 / 实验小时 | 不足 1 小时向上取整 | | AWS EKS 控制面 | $0.10 / 集群 / 小时(≈$73/月) | 与发布方式无关 | | 阿里云 MSE 普通实例 | 按规格 × 节点数 | 包年包月 / 按量,随规格与节点数变化 | | 阿里云 MSE Serverless | 0.16 / 0.07 / 0.05 / 0.018 元(每 10 连接 / 小时) | 对应阶梯 0–10 / 11–50 / 51–100 / 101+;官方示例 50 连接 = 0.44 元/小时 | | 腾讯云 TKE 灰度 / CLB 权重 | 控制面 $0(无独立发布费) | 但需承担 CLB 实例 / 公网 / LCU 费(详见负载均衡篇) | | 开源 Argo Rollouts / Flagger / Argo CD | 授权 $0 | 成本=控制器常驻资源 ≈ 0.5 vCPU / 1 GiB(可跑在 1 台 2C4G,约 $5~12/月) |
> 说明:阿里云 MSE 的 Serverless 阶梯单价为国内站人民币口径;国际站以美元计价与结算,具体单价请在控制台购买页以当日为准。上表的作用是给出"计费模型与量级",不是实时报价。
五、场景账单算例:五类规模每月到底花多少
把单价代入真实用量,比背单价有用得多。下面五个场景都是"示意算例",用来建立量级直觉(单位见各格标注,不做人民币与美元的汇率硬换算):
| 场景 | 用量画像 | 推荐方案 | 月成本(示意) | |---|---|---|---| | A 单机小站 | 1 台云服务器、1 个应用、无并发高峰 | 云原生滚动更新 + 一键回退 | $0(服务器费另计) | | B 单云中型 | 10 实例、1 个集群、配置推送很少 | 开源自建 Argo Rollouts | 控制器所在 2C4G ≈ $5~12/月 | | C 配置下发型 | 2000 个目标、每天推 3 次配置、2 分钟轮询 | AWS AppConfig | $152.64/月(请求 $8.64 + 下发 $144) | | D 连接密集型 | 灰度期每小时最大连接数约 50 | 阿里云 MSE Serverless | ≈0.44 元/小时(仅灰度窗口计,整月全天约 321 元) | | E 多云 + 审计 | 跨 2 朵云以上、每一步放量需留痕 | 开源统一控制面 + 商业方案补审计 | 开源侧 ≈$12/月起 + 商业订阅另计 |
把场景 C 拆开看,你会看到本文最反直觉的一个数字: AppConfig 官方算例里,"2000 个目标 × 每天推 3 次"产生的配置下发费是 $144,而请求费只有 $8.64——下发费是请求费的 16 倍以上。也就是说,这笔账单的锚点是"目标数 × 更新频次",而不是"你存了多少条配置"。想省钱,就要去压这个乘积,而不是去纠结"配置多了要不要删"。
六、五条省钱技巧:把钱花在刀刃上
第一招:先判断"要不要",再谈"买哪家"。 单机、单版本、几乎没有并发用户的场景,根本不需要灰度控制面。用云原生自带的滚动更新 + 保留上一个版本的镜像,出问题直接切回旧镜像,成本 $0。为一个月访问量几千的站点买灰度治理,是典型的"用钱买心安"。
第二招:先认准你的账单锚点,再谈优化。 - 配置下发型(AppConfig 类)→ 锚点是"目标数 × 推送频次",优化方向是合并配置、降低推送频率、只给真正需要动态配置的目标下发。 - 连接数型(MSE Serverless 类)→ 锚点是"每小时最大连接数峰值",优化方向是把灰度窗口压短、避开业务峰值发布。 两者优化手段完全不同,弄反了只会白花钱。
第三招:用"新鲜度换钱"。 把配置轮询间隔从 2 分钟放宽到 5 分钟,请求费可以从 $8.64 降到约 $3.46(省约 60%),代价是配置生效延迟从 2 分钟变成 5 分钟。是否划算,取决于你多久真的需要一次"秒级生效"——绝大多数内部配置并不需要。
第四招:别为"发布"单独买机器。 开源自建最大的隐形成本是"多一台常驻机器"。把 Argo Rollouts / Flagger / Argo CD 的控制面挤到已有的低峰节点上(三个控制器合计约 0.5 vCPU / 1 GiB),而不是单开一台 2 核 4G 只为跑它,一年能省下一台机器的钱。
第五招:门禁只留四个指标。 灰度放量的"门禁指标"不是越多越安全。留这四个就够:可用性(5xx 比例)、性能(P99 延迟)、容量(水位/连接数)、业务转化率。其中业务转化率是唯一能抓住"接口全返回 200、但业务其实算错了"的指标,也最容易被漏掉。指标越少,判断越快,也越不容易因为一条抖动告警就中断发布、白白多留一堆机器。
🔴 一条必须先记住的纪律:没演练过的回滚,等于没有回滚。
undo / revert 只能切流量、切镜像,回滚不了数据库。所以数据库变更必须走"先加字段(Expand)→ 再改读写(Migrate)→ 最后删旧字段(Contract)"三阶段,禁止在一次发布里"加字段 + 改读取 + 删旧字段"一把梭。
七、三档推荐方案:按团队规模直接抄
| 档位 | 适用对象 | 推荐组合 | 预估月成本 | |---|---|---|---| | A 极简档 | 1~3 人、单机 / 单云、低频发布 | 云原生滚动更新 + 保留上一版本镜像 + 手动回退 | $0(服务器费另计) | | B 标准档 | 5~20 人、单云、需要按比例放量 | 开源 Argo Rollouts(或 Flagger)+ Prometheus 门禁 + 复用既有 LB | 开源侧 $5~12/月,不新增专门机器 | | C 治理档 | 20 人以上 / 跨多云 / 需审计留痕 | 统一开源控制面(一套 CRD 管多云)+ 云厂商托管配置服务 / 商业方案补审计与席位 | 开源侧 $12/月 起 + 商业订阅按用量另计 |
选档的核心判据只有一句:你的钱应该花在"补上发布这一层"上,而不是花在"更贵的服务器"上。
常见问题 FAQ
Q:灰度发布和蓝绿部署到底有什么区别? A:蓝绿部署是准备两套完整环境(蓝=旧、绿=新),验证通过后把流量整体从蓝切到绿,切换干净利落但需要双份资源;灰度(金丝雀)发布是让新版本先承接 1%~5% 的流量,按指标逐步放大到 100%,资源占用小但放量过程更长。实操上两者常混用:先用金丝雀按比例放量,出问题时用蓝绿式的"一键切回"兜底。
Q:我只有一台海外云服务器,需要上灰度吗? A:不需要。单机场景用云原生的滚动更新 + 保留上一个版本镜像 + 手动回退就够了,成本 $0。灰度控制面的价值在"多实例、有并发用户、发版频繁"时才会显现——为一个低流量站点买灰度治理,是花钱买心安。
Q:AWS CodeDeploy 真的免费吗?什么情况下会收钱? A:部署到 Amazon EC2 / Lambda / ECS 是免费的(官方原文明确写了 no additional charge)。只有当你在本地机房或混合云实例上部署时才收费,$0.02 / 实例更新,按"实例更新次数"计,被跳过的实例不计费。要注意的是:CodeDeploy 免费,不代表你这一路的成本是 0——EKS 控制面 $0.10/集群/小时、AppConfig 的配置请求与下发都要另算。
Q:阿里云 MSE Serverless 为什么要按"连接数"收费?我该怎么估? A:因为它按"每小时最大连接数"分档计费(0.16 / 0.07 / 0.05 / 0.018 元,每 10 连接每小时,对应 0–10 / 11–50 / 51–100 / 101+ 四档),官方示例 50 连接 = 0.44 元/小时。估算方法是:先看你灰度期间的连接数峰值落在哪一档,再乘以灰度窗口的小时数。关键提醒:它收的是峰值,不是发布次数,所以把灰度窗口压短、避开业务峰值发布,比"少发几个版本"更能省钱。
Q:开源自建 Argo 和自己写个脚本做滚动更新,差别在哪? A:自己写脚本的问题不在"能不能滚动",而在"出事怎么办"——脚本通常没有"按指标自动判断 + 自动回退 + 留痕"这一整套。Argo Rollouts 把"步骤、暂停、指标门禁、回退"声明成一套 CRD,Flagger 则把"按指标自动放量"也自动化了,且两者共用同一套 Prometheus 指标。自己写脚本省下的是控制器资源(约 0.5 vCPU / 1 GiB),付出的是每次发版都要人工盯着的隐性成本。
Q:灰度发布能替代数据库回滚吗?
A:不能。undo / revert 只切流量、切镜像,数据库里的数据回不去。所以数据库变更必须用 Expand → Migrate → Contract 三阶段,且发布前把回滚演练一遍——没演练过的回滚等于没有回滚。
Q:我有两朵、三朵云,能用一套发布流程吗? A:可以,但要理解代价。三家的原生发布控制面(CodeDeploy / MSE / TKE)概念与 API 互不兼容,各写一套流程,团队越大越累。跨两朵云、团队超过 10 人之后,用一套开源控制面(一套 CRD 管多云)通常比维护三套流程更省心智。
Q:本文和站内的负载均衡篇、监控告警篇有什么区别? A:不重复。负载均衡篇回答"流量往哪去、LB 收多少钱",本文只把 LB 当"流量旋钮"用;监控告警篇回答"故障了谁通知你",本文只取"用哪四个指标当发布门禁"。本文聚焦的是"新版本敢不敢接流量、按什么计费"。
总结
1. 发布治理本身几乎不花钱,钱花在"选错计费模型"上。 云内原生发布(CodeDeploy / TKE 灰度 / CLB 权重)基础动作免费,开源自建授权 $0。 2. 四种计费锚点各不相同:AWS 收在"配置下发次数",阿里云收在"连接数峰值",腾讯云转到"承载流量的 LB",开源转到"机器资源"。比价前先对齐锚点。 3. 最容易被忽略的隐性大头是"目标数 × 更新频次":AppConfig 官方算例 $152.64/月里,下发费 $144 是请求费 $8.64 的 16 倍以上。 4. 开源方案的真实成本是一台机器:0.5 vCPU / 1 GiB,塞进已有低峰节点可省掉一整台机器的年费。 5. 回退只解决代码,不解决数据:数据库必须走 Expand → Migrate → Contract,且回滚要演练。
> 声明:本文价格数据采集于 2026 年 9 月,取自各厂商官方定价页与官方文档公开口径,仅为参考区间,可能随地域、规格、活动与政策变动,请以下单时各厂商官网实时价格为准。除特别标注外,金额单位均为美元(USD);标注为"元"的为阿里云国内站人民币口径,本文不做人民币与美元之间的汇率换算。各厂商 API 与计费规则可能调整,请以官方最新文档为准。
> 🚀 需要海外云服务器?通过 chengzicloud.cloud 购买享专属折扣,新用户首月5折起!我们提供阿里云国际、AWS、腾讯云国际等多家主流云厂商的优惠渠道和一对一选型指导,帮你省下30%-70%的云费用。
> 本文由 chengzicloud.cloud 提供,点击访问首页了解更多