Como resolvo o erro “An error occurred (TargetNotConnectedException) when calling the ExecuteCommand operation” no Amazon ECS?

2 minuto de leitura
0

Quando tento executar o comando execute-command da AWS Command Line Interface (AWS CLI) no Amazon Elastic Container Service (Amazon ECS), recebo o seguinte erro: “An error occurred (TargetNotConnectedException) when calling the ExecuteCommand operation: The execute command failed due to an internal error. Try again later.”

Breve descrição

Você pode receber esse erro pelos seguintes motivos:

  • O perfil de tarefa do Amazon ECS não tem as permissões necessárias para executar o comando execute-command.
  • O perfil ou usuário do AWS Identity and Access Management (IAM) que está executando o comando não tem as permissões necessárias.

Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Resolução

Verifique as permissões do perfil de tarefas do Amazon ECS

Você recebe esse erro quando o perfil de tarefa do Amazon ECS não tem as permissões necessárias. Para resolver esse erro, crie uma política do IAM com as permissões necessárias e, em seguida, anexe a política ao perfil de tarefa do Amazon ECS.

  1. Crie a seguinte política do IAM:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
          ],
          "Resource": "*"
        }
      ]
    }
    Observação: certifique-se de que essas permissões não sejam negadas no nível do AWS Organizations.
  2. Anexe a política ao perfil de tarefa do Amazon ECS.

Pode haver atrasos na realização dessas alterações no nível da tarefa. Portanto, aguarde algum tempo depois de anexar a política ao perfil de tarefa e, em seguida, execute o comando execute-command.

Verifique as permissões de usuário ou perfil do IAM

O usuário ou o perfil do IAM que executa o comando execute-command deve ter as seguintes permissões:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:ExecuteCommand",
      "Resource": "arn:aws:ecs:example-region:example-arn:cluster/example-cluster/*"
    }
  ]
}

Se o erro persistir, execute o script amazon-ecs-exec-checker no site do GitHub. Esse script permite que você verifique e valide seu ambiente da AWS CLI e o cluster ou tarefa do Amazon ECS. O script também notifica você sobre o pré-requisito que não foi atendido.

Informações relacionadas

Usar o ECS Exec

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses