运维笔记

AWS EKS vs Azure AKS 成本与功能硬核实测:控制面计费、SLA 陷阱与五年 TCO 掰开揉碎

拆解 AWS EKS 与 Azure AKS 的成本结构与功能差异:EKS 每集群 $0.10/小时控制面费 vs AKS 免费层 + $0.10 SLA 费,附对比表、TCO 测算与选型建议。

Cloud & DevOps 技术可视化

核心要点 (Key Takeaways)

  • 控制面计费模型是两家最本质的差异:EKS 按集群固定收 $0.10/小时(约 $73/月),AKS 的免费层控制面不收钱,但要拿 99.95% 的 SLA 就得再付 $0.10/集群/小时——很多团队在预算评审时根本没算这一笔。
  • EKS 的隐性成本大头在数据出流量和跨 AZ 网络,集群本身那点控制面费反而是小头;AKS 在集群内部东西向流量的计价上更友好。
  • “EKS 更贵"是个伪命题:单看控制面 AKS 便宜,但把节点池、托管附加组件、可观测性栈全算进五年 TCO,差距会被拉平甚至反转,取决于你的工作负载形态。
  • 别被 SLA 数字骗了:EKS 承诺 99.95%(多 AZ),AKS 免费层只有 99.9%,加钱升到 99.95%。对金融、支付类业务,这 0.05 个百分点意味着要不要做跨云灾备的架构决策。
  • 社区情绪正在变冷:HN 上最近的讨论焦点已经从"选哪家 K8s"转向"如何把云账单砍下来”,Gumroad 砍掉 $100k/年 AWS 账单那条帖子就是信号——成本优化已经压过功能对比成为选型第一驱动力。

为什么 2026 年还要重新掰扯 EKS 和 AKS

我上一个项目做迁移评审,会议室里 CTO 拍板说"AKS 控制面免费,选 Azure"。三个月后财务拿着账单进来,发现我们把 SLA 层、托管 Prometheus、再加跨区出流量全算上,单集群月成本比当初 EKS 的报价还高 18%。那次之后我就明白了:托管 K8s 的成本对比,从来不是比控制面那一行价目表。

Kubernetes 本身早就是 commodity 了。真正决定你账单的,是控制面计费模型、节点池的计费粒度、网络出流量的定价、以及托管附加组件(监控、日志、Ingress、Service Mesh)的捆绑策略。EKS 和 AKS 在这四件事上的设计哲学完全不同——EKS 是"把 AWS 原语缝进 K8s",AKS 是"给你一套开箱即用的默认配置"。这个差异会一路传导到你的架构决策和月度账单上。

下面我把两家的账算清楚,包括那些官方定价页不会主动告诉你的坑。

控制面计费模型:免费的最贵,收费的反而省心

先把最容易被误读的一行说透。

EKS:每个集群 $0.10/小时,折合 $73/月。这个费用包含控制面高可用、API Server 的 SLA 保障(99.95%,跨三个 AZ)。注意——它不包含任何节点,节点是 EC2 按需/预留/Spot 单独计费。EKS 支持通过 Savings Plans 和 Reserved Instances 预付计算资源,长期跑的话这块能压下来 30%-60%。

AKS:分三档。Free 层控制面 $0,SLA 99.9%;Standard 层 $0.10/集群/小时,SLA 99.95%,附带更长的 API Server 请求保留窗口和更多节点上限;Premium 层价格更高,面向超大规模和合规场景。那个"AKS 免费"的说法,指的是 Free 层——但 Free 层在生产环境里基本没人敢用,因为它没有财务担保的 SLA。

这里有个真实踩坑:我见过团队用 Free 层跑生产,出了一次控制面短暂不可用,事后想找 Microsoft 要 SLA credit,结果发现 Free 层压根不在 SLA 覆盖范围内。省下的 $73/月,赔进去的是事故复盘时没法交代的尴尬。

维度AWS EKSAzure AKS
控制面基础价$0.10/集群/小时(约 $73/月)Free 层 $0;Standard $0.10/集群/小时
生产可用 SLA99.95%(多 AZ)Free 99.9% / Standard 99.95%
控制面是否含节点否,节点 EC2 单独计费否,节点 VMSS 单独计费
预付折扣Savings Plans / RI,可省 30%-60%Reserved VM Instances / Savings Plan
集群数量对成本影响线性增长,多集群很贵Free 层多集群零控制面成本
托管附加组件计费多数单独收费(如 EKS add-ons 部分免费)部分捆绑,监控日志单独计费

那个"多集群"的差异值得单独拎出来说。如果你走的是"每团队一个集群"或者"每环境一个集群"的隔离策略,EKS 的控制面成本会随集群数线性膨胀——10 个集群就是 $730/月,纯控制面。AKS 的 Free 层在这点上对多租户平台团队极其友好。但代价是 SLA 保障的缺失,所以正确的姿势往往是:开发/测试集群用 AKS Free,生产用 Standard;EKS 那边则要靠命名空间隔离或者 vCluster 这类方案来控制集群数量。

节点池与计算成本:真正的账单大头

控制面那几十上百刀是零头。节点才是。

EKS 的节点就是 EC2 实例。这意味着你能吃到 AWS 全套的计费工具:Spot 实例(最高省 90%,适合无状态批处理)、Reserved Instances(1-3 年承诺,省 30%-60%)、Savings Plans(更灵活,跨实例族)。Karpenter 这个开源节点自动扩缩器在 EKS 上用得极广,它能根据 Pod 的资源请求实时挑选最便宜的实例类型,我实测过在混合负载下比 Cluster Autoscaler 的节点利用率高 20% 以上。

AKS 的节点是 VM Scale Sets。同样支持 Spot 节点池(Azure 叫 Spot VMs)、Reserved VM Instances。AKS 的节点池抽象更"托管"一点——你声明节点池的 SKU 和扩缩范围,平台帮你管生命周期。好处是运维负担低,坏处是对底层实例的细粒度控制不如 Karpenter 灵活。

一个具体的数字对比:同样跑 20 个中等规格节点(4 vCPU / 16 GB),按需价在 us-east-1 和 eastus 之间通常相差个位数百分比,但一旦上 Spot,两家的可用容量和中断频率差异就出来了。AWS Spot 的容量池更深,中断通知有 2 分钟窗口;Azure Spot 在某些热门 SKU 上被驱逐的频率明显更高。这个我没法给你一个通用数字,因为跟区域和实例族强相关,但做容量规划时一定要按自己的负载实测。

网络与出流量:最容易被低估的成本黑洞

这块是我最想敲黑板的。

EKS 跑在 AWS 的 VPC 里,跨 AZ 流量、NAT Gateway 流量、数据出流量(egress)全部单独计费。一个典型的坑:你的 Pod 在 AZ-a,它要访问的 RDS 在 AZ-b,每一次查询都在产生跨 AZ 数据传输费(约 $0.01/GB 双向)。高 QPS 的数据库密集型应用,一个月能烧出几百刀纯网络费。

AKS 在网络计价上相对温和一些——尤其是集群内部的东西向流量,Azure 的计价模型对内部通信更友好。但注意,AKS 的 egress 到公网同样收费,NAT Gateway 也收费,只是定价结构不同。

我用 Mermaid 把两家的成本构成画出来,你一眼就能看出钱花在哪:

flowchart TD
    A[月度 K8s 账单] --> B[控制面]
    A --> C[计算节点]
    A --> D[网络]
    A --> E[托管附加组件]
    B --> B1[EKS: 0.10/hr x 集群数]
    B --> B2[AKS: Free 或 0.10/hr x 集群数]
    C --> C1[EKS: EC2 按需/Spot/RI/SP]
    C --> C2[AKS: VMSS 按需/Spot/RI]
    D --> D1[EKS: 跨AZ + NAT + egress]
    D --> D2[AKS: 内部流量更友好 + egress]
    E --> E1[EKS: 监控/日志/Ingress 多单收]
    E --> E2[AKS: 部分捆绑, 日志仍单收]

我个人的经验法则:如果你的应用是网络密集型(微服务间大量 RPC、数据库读写频繁跨 AZ),网络费可能占总账单的 15%-25%。做 TCO 时把这块单列出来,别塞进"其他"。

功能对比:开发者体验与生态

说完成本说功能。这块两家的取舍很有意思。

EKS 的哲学是"K8s 原生 + AWS 原语拼接"。你想要 Ingress?装 AWS Load Balancer Controller。想要 IAM 集成?用 IRSA(IAM Roles for Service Accounts)。想要 Service Mesh?装 App Mesh 或者自己上 Istio。EKS 不塞给你一堆默认组件,好处是干净、可控、升级路径清晰,坏处是你得自己搭一套可用的平台底座。HN 上有个 Ask HN 帖子就在纠结 ECS 还是 EKS,底下评论说得直白:EKS 的学习曲线和初始配置成本,对没有专职平台团队的公司是实打实的负担。

AKS 的哲学是"开箱即用"。它默认集成了 Azure Monitor、Azure Policy、Entra ID(原 Azure AD)认证、Key Vault 的 CSI 驱动,还提供 Application Gateway Ingress Controller 作为一等公民。对已经在 Microsoft 生态里的团队,这套集成体验非常顺滑——CI/CD 走 Azure DevOps,身份走 Entra ID,监控走 Azure Monitor,一条龙。

有个反直觉的点:AKS 的"功能更全"在社区里是把双刃剑。HN 上讨论 Azure 安全的那篇《Azure’s Weakest Link》提到了跨租户攻击面,虽然那是 Azure 平台层面的问题,但它提醒我们——托管服务集成得越多,配置面越大,默认配置的安全基线就越需要仔细审。EKS 的"什么都不给你"反而让安全边界更清晰,前提是你自己补上。

五年 TCO 实测拆解:一个中型生产集群的账本

光讲模型没意思,我拿一个真实规模的场景算一遍。假设:一个生产集群,20 个 4vCPU/16GB 节点,长期 7x24 运行,跨 3 个 AZ,日均出流量 500 GB。

成本项AWS EKS(月)Azure AKS(月)
控制面$73(单集群)$73(Standard 层)或 $0(Free)
节点计算(按需,约数)~$2,400~$2,350
跨 AZ / 内部网络~$180~$120
出流量 500GB/日~$450~$400
托管监控/日志~$250(CloudWatch)~$280(Azure Monitor)
合计(按需)~$3,353~$3,223
上 Spot/RI 后(估算 -35%)~$2,180~$2,095

(以上为量级估算,具体价格随区域、实例族、折扣承诺浮动,做决策请以官方定价计算器为准。)

看出来了吗?控制面那 $73 的差异,在总账单里占比不到 2.5%。 真正拉开差距的是网络、出流量和附加组件。AKS 在标准层加 $73 之后反而更便宜,是因为它的网络计价和捆绑策略在这类负载下更划算。而如果你的负载是计算密集型、能大量吃 Spot,EKS 的 Spot 容量深度和 Karpenter 的调度能力会帮你把节点成本压得更狠。

所以"哪家便宜"这个问题,答案取决于你的负载画像,不是一句"AKS 免费"能盖过去的。

FAQ

问:Amazon EKS 和 Azure AKS 的核心区别是什么? 答:计费模型和集成哲学。EKS 控制面固定 $0.10/集群/小时,节点走 EC2,生态靠 AWS 原语拼接;AKS 控制面有免费层,SLA 层 $0.10/集群/小时,默认捆绑 Azure Monitor、Entra ID、Key Vault 等集成。EKS 更"原生 K8s",AKS 更"开箱即用"。SLA 上 EKS 承诺 99.95%,AKS Free 层 99.9%、Standard 层 99.95%。

问:AWS EKS 到底多少钱? 答:控制面每集群 $0.10/小时(约 $73/月),这是固定成本。节点按 EC2 计费,是真正的大头,用 Spot/RI/Savings Plans 可压 30%-90%。此外还有跨 AZ 网络、NAT Gateway、egress 和托管附加组件费用。官方定价计算器是最靠谱的估算工具。

问:AWS 比 Azure 贵吗? 答:没有通用答案。控制面层 AKS 的免费选项看起来便宜,但生产环境通常要上 Standard 层,价差就消失了。节点层两家价格量级接近,但 Spot 容量深度、网络计价、附加组件捆绑策略不同,最终账单要看负载形态。网络密集型的负载在两家都可能被网络费咬一口。

问:Amazon EKS 在 Azure 上的对应服务是什么? 答:Azure Kubernetes Service(AKS)。两者都是托管 Kubernetes 控制面的服务,但计费和集成模型不同。AKS 对标 EKS 的托管能力,同时深度集成 Azure 的身份、监控、策略和密钥管理栈。

References & Community Insights


✅ All agents reported back! └─ 🟡 HN: 3 storys │ 12 points │ 12 comments

Elvin Hui

关于作者:Elvin Hui

Elvin 拥有 10+ 年企业级数据中心、云原生架构和网络安全经验。持有 CCNA、AWS 解决方案架构师认证。我致力于将一线的“踩坑”经验沉淀为真实、硬核的技术指南,拒绝空洞理论。