【发布时间】:2023-03-10 01:41:01
【问题描述】:
我读过很多博客,其中谈到将微服务队列从直接的 EC2 虚拟机迁移到 ECS 或 EKS 上的容器可以节省 25-50% 的成本。虽然这很有吸引力,但考虑到使用带有AWS Pricing Calculator 的一些简单模型进行的成本估算,我正在摸不着头脑。我确信我在下面的估计中过度简化了这个问题,但价格差异的规模几乎是五倍(68 美元对 319 美元),这就引出了一个问题,成本节省在哪里?
例如,假设一个包含 8 个服务的小型集群在 [small t4g][2] 上运行良好:
| Instance | EC2 Type | vCPU | Mem (GB) | Storage (GB) | Monthly Cost |
| ---------- | --------- | ---- | -------- | ------------ | ------------:|
| Service 1 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 2 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 3 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 4 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 5 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 6 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 7 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| Service 8 | t4g.small | 2 | 2 | 8 | USD 8.47 |
| **Totals** | | 16 | 16 | 64 | USD 67.76 |
如果我要迁移到 ECS/EKS 并购买一些具有同等 vCPU 的更大 c5,我猜我需要完成同样的事情:
| Instance | EC2 Type | vCPU | Mem (GB) | Storage (GB) | Monthly Cost |
| ---------- | ---------- | ---- | -------- | ------------ | ------------:|
| Service 1 | c5.2xlarge | 8 | 16 | 32 | USD 159.42 |
| Service 2 | | | | | |
| Service 3 | | | | | |
| Service 4 | | | | | |
| Service 5 | c5.2xlarge | 8 | 16 | 32 | USD 159.42 |
| Service 6 | | | | | |
| Service 7 | | | | | |
| Service 8 | | | | | |
| **Totals** | | 16 | [32][1] | 64 | USD 318.84 |
正如我所提到的,我确信这是一个幼稚的比较,但我认为我最终会进入同一个球场,并且不会偏离 5 倍。我知道 ECS/EKS 将为我提供更好的资源利用率,但为了收支平衡,需要将效率提高 470%,这似乎不合理。
[1]:虽然 c5 的内存是两倍,但考虑到 mem:vCPU 的比例为 1:10,我认为这不会显着增加增量。
[2]:假设 1 年预留,EC2 实例节省计划,无预付费用
【问题讨论】:
-
对不起“表即代码”。 Stackoverflow 抱怨我的格式似乎是代码,并且在我将其标记为此类之前不会让我提交更新。
-
这是苹果与橘子的比较。您将 2 核引力子处理器与 8 核计算优化 c5 进行比较。如果您想有效地比较它,那么您必须为 EKS 以及您自己的托管集群选择相同的机器。那么除了 kubernetes 集群费用之外,成本将完全相同。现在,EKS 为您节省资金的方式是提供自动缩放等功能。它可以根据负载放大和缩小。而且由于它自己管理 pod,除了多个较小的节点之外,可以在单个大节点上运行更多数量的服务。
标签: amazon-ec2 amazon-ecs amazon-eks