AWS Fargate 启动时间

AWS Fargate startup time

目前我正在研究如何在 AWS 上编排我们的码头化微服务。 ECS 的 Fargate 选项看起来很有希望消除管理 EC2 实例的需要。

尽管在 Fargate 中启动 "task" 所需的时间出奇地长,即使对于简单的单容器设置也是如此。我们的 Docker 应用图片通常需要 60 秒到 90 秒。我听说这可能需要更多时间,比如几分钟左右。

所以问题是:虽然 Docker 容器通常可以在几秒钟内启动,但在 Fargate 案例中,这种开销的确切原因是什么?

P.S。相关问题搜索 returns 此类选项:

  1. Docker 图片load/extract 时间
  2. 负载均衡器的影响 - 注册、健康检查宽限期等

但即使在没有部署负载均衡器的最简单配置中,假设 Docker 图像未缓存在 ECS 中,使用单个 Docker 启动任务仍然至少慢 2 倍Fargate 中的图像(~ 60 秒)比在裸 EC2 实例上启动相同的 Docker 图像(25 秒)

是的,需要更长的时间,但我们不能概括 Fargate 的启动时间。您可以减少调整某些设置的时间。

vCPU 直接影响启动时间,因此您必须记住,在裸 EC2 实例中,您可以使用完整的 vCPU,而在 fargate 的情况下,您可能会分配它的一部分。

由于 AWS 为您管理服务器,他们几乎不需要做任何事情。将 VM 分配到您的 VPC 以 docker 映像 download/extract、分配 IP 和 运行 容器可能需要这么多时间。

这是一个不错的博客,您可以在下一篇文章的结尾找到一些好的做法。

Analyzing AWS Fargate