"Fargate에서는 ECR 이미지를 지원하기 위한 실행 역할 ARN을 보유하려면 작업 정의가 필요합니다." Fargate 작업을 생성할 때 역할이 정의되어 있음

"Fargate에서는 ECR 이미지를 지원하기 위한 실행 역할 ARN을 보유하려면 작업 정의가 필요합니다." Fargate 작업을 생성할 때 역할이 정의되어 있음

AWS Fargate에 매우 간단한 웹 애플리케이션을 배포하려고 합니다.

애플리케이션 백엔드의 Docker 이미지를 ECR에 푸시했으며 컨테이너에 대한 Fargate 작업 정의를 설정하려고 합니다. 작업의 모든 속성이 정의되어 있고 설정이 매우 간단하지만 작업이 생성되지 않고 항상 오류가 발생합니다.

잘못된 요청이 제공되었습니다. TaskDefinition 생성: Fargate에서는 ECR 이미지를 지원하기 위한 실행 역할 ARN을 갖는 작업 정의가 필요합니다. (서비스: AmazonECS; 상태 코드: 400; 오류 코드: ClientException; 요청 ID: ; 프록시: null)" (RequestToken: , HandlerErrorCode: InvalidRequest)

ECR 이미지가 있고 Fargate가 원하는 IAM 역할을 생성하고 선택했습니다(다음을 사용).이 문서) 그러나 여전히 불평합니다.

원래는 EC2 시작 유형으로 작업을 생성했는데 문제가 없었지만 비용과 단순성 때문에 Fargate 시작 유형을 사용하기로 결정했습니다.

또 무엇을 해야 합니까?

답변1

방금 이 문제가 발생했는데 AWS를 통해 해결할 수 있었습니다. 작업 정의에 GUI를 사용할 때 IAM 역할과 관련된 권한을 추가할 때 버그가 있는 것 같습니다.

이 문제를 해결하려면 Cloud Formation으로 이동하여 구성 파일을 지정할 수 있습니다. 거기에서 실패한 작업 정의를 볼 수 있습니다. 작업 정의와 연결된 스택을 클릭하고 선택합니다.업데이트/디자이너에서 템플릿 편집.

JSON을 편집하고 아래에 추가하세요."TaskRoleArn": "your task role"

{
  […]
  "executionRoleArn" : "the-same-string-that-taskRoleArn-is-set-to"
  […]
}

그러면 문제가 해결될 것입니다.

답변2

이는 새로운 ECS UI의 버그인 것 같습니다.

왼쪽 사이드바에서 "새 ECS 경험" 옵션을 선택 취소하여 이전 UI로 다시 전환하면 제대로 작동합니다.

답변3

'업데이트' 버튼이 비활성화되었습니다. 활성화하는 방법이나 다른 해결 방법에 대한 아이디어가 있습니까? 불과 며칠 전에 Fargate 서비스 정의를 생성할 수 있었기 때문에 Cloud Formation의 템플릿이 있습니다.

관련 정보