调查容器故障 - II

注入权限问题

在 Cloud IDE 终端中执行以下命令:

ecs-lab2-start

这将分离授予订单服务任务Execution Role访问 Secrets Manager 权限的 IAM 策略。没有此权限,ECS 将无法在启动时将数据库凭证注入容器。

这模拟了以下场景:

  • IAM 策略被意外修改或删除
  • 最小权限策略过于严格
  • 跨账户 Secret 访问配置错误

image-20260315143130806

观察症状

打开 Amazon ECS 控制台 ,选择 devops-agent-workshop-ecs-cluster,然后点击 Services 选项卡并选择 orders 服务。

image-20260315143308075

注入问题后,我们将注意到:

  • 订单服务任务无法启动 - 任务永远无法达到 RUNNING 状态
  • 服务事件显示错误 - ResourceInitializationError 伴随"unable to pull secrets"消息
  • 服务永远无法达到稳定状态 - 部署卡住
  • 已停止的任务显示与 Secret 相关的错误 - 停止原因提及 Secrets Manager 访问

image-20260315143331025

使用 DevOps Agent 进行故障排查

使用以下提示词:

为什么 devops-agent-workshop-ecs-cluster 中的订单服务无法启动? 检查 devops-agent-workshop-ecs-cluster 中orders服务的已停止任务,并说明存在什么问题。

image-20260315143521821

过几分钟后,定位到原因:

image-20260315143723531

回退注入的故障:

ecs-lab2-fix