Dan*_*tos 2 amazon-ec2 amazon-web-services amazon-ecs aws-fargate
我设置了一个任务定义,CPU 最大分配为 1024 个单元,内存为 2048 MiB,启动类型为 Fargate。当我查看成本时,发现它比我想象的要贵得多(每天 1.00 美元或每小时 0.06 美元 [us-east-1])。我所做的就是减少到 256 个单位,我正在等着看成本是否会下降。但是任务最大分配是如何工作的呢?即使我不使用 100%,任务定义最大分配是否会导致 Fargate 以更高的成本配置更强大的服务器?
容器中运行 24/7 的应用程序是 NestJS 应用程序 + apache(不要问为什么)+ redis,我可以看到它的 CPU 使用率很低,但价格对我来说太高了。Fargate 是错误的选择吗?我应该选择 EC2 实例和 ECS 吗?
当您运行任务时,Fargate 会使用您请求的资源配置容器。这不是“使用最大CPU 和内存”的问题,而是“使用这么多CPU 和内存”的问题。根据AWS Fargate 定价,只要它运行,您就需要支付那么多的 CPU 和内存费用。按照当前成本,您列出的 CPU 和内存(1024 个 CPU 单元,2048MiB),成本将达到 0.04937 美元/小时,或 1.18488 美元/天,或 35.55 美元/月。
Fargate 的选择是正确还是错误是主观的。这取决于你要优化什么。如果您只是想移交容器并允许 AWS 管理有关其运行方式的所有内容,那么 ECS Fargate 很难被击败。OTOH,如果您要以最低成本进行优化,按需 Fargate 可能不是最佳选择。如果您可以忍受Spot 的限制,您可以使用 Fargate Spot (10.66 美元/月) 。或者,您可以使用 EC2 实例(t3.small @ 14.98 美元/月),但随后您将负责管理一切。
您没有提到如何运行 Redis,这也将在这里考虑在内。如果您在 Elasticache 上运行 Redis,您也会产生该成本,但无需管理任何内容。如果您最终使用 EC2 实例,则可以在同一实例上运行 Redis,从而节省延迟和费用,但代价是您必须自己安装/操作 Redis。
最终,您需要在节省的时间和花费在托管服务上的金钱之间进行权衡。
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |