【发布时间】:2022-06-28 13:38:04
【问题描述】:
我有一个运行服务的 AWS ECS Fargate 托管容器。有时我收到Socket accept failed, too many open files 错误并进行调试,我想通过 SSH 连接到容器以查看是哪个进程导致了这种情况。如何对现有的 ECS fargate 容器执行此操作?
我阅读了有关 ECS Exec 的信息,但 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html 此处的文档提到 You can't enable ECS Exec for existing tasks. It can only be enabled for new tasks.。
任何建议/建议将不胜感激,因为我对这里涉及的技术不太熟悉。
【问题讨论】:
-
您无法通过 SSH 访问 Fargate 容器。您可以启用 ECS Exec,它允许类似于 SSH 的连接,但需要重新启动容器。
-
此外,应在集群级别启用 CloudWatch 日志记录,因为这可以让您了解容器级别发生的情况。
-
@MarkB 我可以更新现有容器以启用 ECS Exec 而无需创建新容器吗?如果它只是重新启动,我不会有任何问题
-
@Norman 抱歉,我是 AWS 新手,如何启用它?
-
更改此设置后,您现有的容器将重新启动。
标签: amazon-web-services ssh amazon-ecs aws-fargate