相关疑难解决方法(0)

AWS ECS 服务任务被替换(原因请求超时)

我们将 ECS 作为容器编排层运行了 2 年多。但是有一个我们无法找出原因的问题,在我们的少数(node.js)服务中,我们已经开始观察 ECS 事件中的错误,如

service example-service (instance i-016b0a460d9974567) (port 1047) is unhealthy in target-group example-service due to (reason Request timed out)
Run Code Online (Sandbox Code Playgroud)

这会导致我们的依赖服务开始经历 504 网关超时,这会对它们产生很大影响。

  1. 将 Docker 存储驱动程序从 devicemapper 升级到 overlay2

  2. 正如我们在几个容器中看到的那样,我们增加了所有 ECS 实例的资源,包括 CPU、RAM 和 EBS 存储。

  3. 我们将服务的健康检查宽限期从 0 秒增加到 240 秒

  4. 将 KeepAliveTimeout 和 SocketTimeout 增加到 180 秒

  5. 在容器上启用 awslogs 而不是 stdout,但没有异常行为

  6. 在容器中启用 ECSMetaData 并在我们的应用程序日志中管道化所有信息。这有助于我们仅查找有问题容器的所有日志。

  7. 启用容器洞察以实现更好的容器级调试

如果将 devicemapper 升级到 overlay2 存储驱动程序并增加健康检查宽限期,那么最有帮助的事情。

这两个错误的数量惊人地减少了,但我们仍然偶尔会遇到这个问题。

我们已经看到了所有与实例和容器相关的图表,下面是它的日志:

受害容器的 ECS 容器洞察日志:

询问 :

fields CpuUtilized, MemoryUtilized, @message
| filter Type = …
Run Code Online (Sandbox Code Playgroud)

timeout amazon-web-services amazon-ecs docker

8
推荐指数
1
解决办法
3387
查看次数

Aws-elb健康检查在302代码失败

您好我在7070端口创建了ALB侦听器443和目标组实例(not-ssl)

我可以访问instanceip:7070没有问题,但https://开头ELB的DNS名称不能访问..比如健康检查也失败,302码

ALB侦听器端口https和实例是http协议,

当我使用https:// dns-name浏览时,它会重定向到http:// elb-dns-name

amazon-web-services aws-elb

6
推荐指数
1
解决办法
8822
查看次数