【问题标题】:AWS Fargate Prices TasksAWS Fargate 定价任务
【发布时间】:2021-05-18 22:18:04
【问题描述】:

我设置了一个任务定义,CPU 最大分配为 1024 个单元和 2048 MiB 内存,Fargate 是启动类型。当我查看成本时,它比我想象的要贵得多(每天 1.00 美元或每小时 0.06 美元 [us-east-1])。我所做的是减少到 256 个单位,我正在等待成本是否下降。但是Task最大分配是如何工作的呢?即使我不使用 100%,任务定义最大分配是否负责 Fargate 配置功能更强大但成本更高的服务器?

24/7 运行的容器中的应用程序是 NestJS 应用程序 + apache(不要问为什么)+ redis,我可以看到它的 CPU 使用率很低,但价格对我来说太高了。 Fargate 是不是这个错误的选择?我应该选择带 ECS 的 EC2 实例吗?

【问题讨论】:

  • 是的。您为预置的 CPU 和 RAM 付费。您的应用程序没有 100% 使用这些并不重要。
  • 非常感谢,我不知道。

标签: amazon-web-services amazon-ec2 amazon-ecs aws-fargate


【解决方案1】:

当您运行任务时,Fargate 会使用您请求的资源配置一个容器。这不是“使用最多这个最大CPU和内存”的问题,而是“使用这么多 CPU和内存”的问题。根据AWS Fargate pricing,只要它运行,您就需要为那么多 CPU 和内存付费。按照当前的成本,您列出的 CPU 和内存(1024 个 CPU 单元,2048MiB),成本将达到 0.04937 美元/小时,或 1.18488 美元/天,或 35.55 美元/月。

Fargate 是正确还是错误的选择是主观的。这取决于您要优化什么。如果您只想移交一个容器并让 AWS 管理有关其运行方式的所有内容,那么很难击败 ECS Fargate。 OTOH,如果您要优化最低成本,按需 Fargate 可能不是最佳选择。如果您可以忍受the constraints of spot,您可以使用 Fargate Spot(每月 10.66 美元)。或者,您可以使用 EC2 实例(t3.small @ 14.98 美元/月),但随后您将负责管理所有内容。

你没有提到你是如何运行 Redis 的,这也是这里的因素。如果你在 Elasticache 上运行 Redis,你也会产生这个成本,但你不需要管理任何东西。如果您最终使用 EC2 实例,则可以在同一实例上运行 Redis,从而节省延迟和费用,但您必须自己安装/操作 Redis。

最终,您需要在节省的时间和花在托管服务上的资金之间进行权衡。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2019-09-10
    • 1970-01-01
    • 2019-09-25
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多