AWS ECS 中的 Fargate Web 服务器在空闲期后响应时间很长(但有时不会)

Fargate webserver in AWS ECS has long response time after idle period (but sometimes not)

我在 docker 中打包了一个 R Shiny 应用程序,并将其部署到 Fargate 实例上的 AWS ECS,该实例具有应用程序负载均衡器,其侦听器持有 SSL 证书。我可以看到任务是 运行ning 并且很健康,但是当我在空闲时间后转到 URL 时,加载需要整整 30 秒(同样,这不是来自实例 startup/provisioning 时间,因为它已经正常运行)。然后我可以打开一个新的浏览器并转到相同的 link,它会立即加载。是什么原因造成的?老实说,我什至不确定要搜索什么。

注意:当我在本地 运行 容器时,应用程序确实需要几秒钟才能启动,但这只是在容器最初启动时。它 运行s 在初始启动时间之后非常快,无论空闲时间如何。因此,我不认为它是 shiny-server。我在上面提到的实例已经 运行ning,我希望它们能够相应地运行。

我读到过负载平衡器空闲超时,但是在它结束连接后需要 30 秒才能重新连接吗?对于网络应用程序的内部运作,我不是很有经验,但这似乎不太可能。同时,似乎增加空闲超时确实有所帮助,但行为有点不稳定,因此可能只是确认偏差。

如果需要,我可以提供有关配置的更多详细信息。我只是希望有人知道我应该分享哪些细节而不是分享我的整个 Terraform 目录。

我注意到我的两个关联子网中只有一个是 public,最终解决了这个问题。如果您有一个 public 负载均衡器,您还需要同时拥有两个关联的子网 public(如果是私有的,则为私有的...)