AWS的ECS使用Fargate服务器如何开启shell进入容器调试

目录

公司用到了Amazon Elastic Container Service,完全托管的容器服务

服务器用的是Fargate,没有自己的服务器,纯托管的,开始部署的时候,也没有考虑到有一天要进入容器进行调试。

现在麻烦就来了,需要进入容器,查看文件日志

结果就很麻烦,解决的步骤如下:

一、查看集群状态,看看任务定义的版本号,下面是206

image-20251110091259097

二、去到相应的任务定义

image-20251110091853031

注意,现在只有一个任务执行角色,任务角色是个空的!!!

然后我们点开任务执行角色,添加权限

image-20251110092123633

初始化的时候只有AmazonECSTaskExecutionRolePolicy, 我们需要加上AmazonSSMManagedInstanceCore

加完就上面一样。

三、返回到任务定义,使用JSON创建新修订

image-20251110092432190

1    "taskRoleArn":      "arn:xxxx:ecsTaskExecutionRole",
2    "executionRoleArn": "arn:ecsTaskExecutionRole",

新增taskRoleArn,和executionRoleArn保持一致,然后保存

四、按照新版本,部署新任务

从新任务定义更新服务

image-20251110100003930

选择相应集群,相应服务

image-20251110100041558

故障排除配置,务必开启ECS exec,然后更新即可image-20251110100113356

五、开启容器的shell

我去集群–服务–容器,点击连接

image-20251110100318440

1aws ecs execute-command --cluster yoov_work_e_form_prod_cluster --task 23xxxxx --container yontainer --interactive --command '/bin/sh'

实际对应的命令如上。其实也可以用aws的cli客户端直接执行,只不过要拿到集群名和容器名。


MongoDB的伪副本模式
Caddy自动签发任意域名证书
comments powered by Disqus