Amazon ECS에서 ‘ExecuteCommand 작업을 호출할 때 오류(TargetNotConnectedException)가 발생했습니다.’ 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2022년 3월 18일

Amazon Elastic Container Service(Amazon ECS)에서 AWS Command Line Interface(AWS CLI) execute-command 명령을 실행하려고 하면 다음 오류가 발생합니다.

“ExecuteCommand 작업을 호출하는 동안 오류가 발생했습니다(TargetNotConnectedException). 내부 오류로 인해 실행 명령이 실패했습니다. 나중에 다시 시도하세요”

간략한 설명

다음과 같은 이유로 인해 이 오류가 발생할 수 있습니다.

  • Amazon ECS 작업 역할에는 execute-command 명령을 실행하는 데 필요한 권한이 없습니다.
  • AWS Identity and Access Management(IAM) 역할 또는 명령을 실행하는 사용자에게 필요한 권한이 없습니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

해결 방법

Amazon ECS 작업 역할 권한을 확인합니다.

Amazon ECS 작업 역할에 필요한 권한이 없는 경우 이 오류가 발생합니다. 필요한 권한이 있는 IAM 정책을 생성한 다음 이 정책을 Amazon ECS 작업 역할에 연결하여 이 오류를 해결할 수 있습니다.

1.    다음 IAM 정책을 생성합니다.

{
   "Version": "2012-10-17",
   "Statement": [
       {
       "Effect": "Allow",
       "Action": [
            "ssmmessages:CreateControlChannel",
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:OpenDataChannel"
       ],
      "Resource": "*"
      }
   ]
}

참고: 이러한 권한은 AWS Organizations 수준에서 거부되지 않아야 합니다.

2.    정책을 Amazon ECS 작업 역할에 연결합니다.

작업 수준에서 이러한 변경 사항을 전파하는 데 지연이 있을 수 있습니다. 따라서 정책을 작업 역할에 연결한 후 잠시 기다린 다음 execute-command 명령을 실행해 보세요.

IAM 사용자 또는 역할 권한 확인

execute-command 명령을 실행하는 IAM 사용자 또는 역할에 다음 권한이 있는지 확인합니다.

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

그래도 오류가 발생하는 경우, amazon-ecs-exec-checker 스크립트를 실행합니다. 이 스크립트를 사용하면 AWS CLI 환경과 Amazon ECS 클러스터 또는 작업을 확인하고 검증할 수 있습니다. 스크립트는 충족되지 않은 사전 조건에 대해서도 알려줍니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?