devops

ECS TaskDefinition is inactive 에러 해결하는 방법 본문

DevOps/AWS

ECS TaskDefinition is inactive 에러 해결하는 방법

vata500 2022. 11. 10. 16:52
반응형

the ecs service cannot be updated due to an unexpected error: TaskDefinition is inactive

CodeDeploy로 ECS Blue-Green Service를 생성해서 테스트하는 와중에 발견한 에러다.

Codebuild에서부터 Deploy까지 taskdef.json 파일도 Copy했는데 TaskDefinition이 비활성화되었다는 에러가 뜬다. taskdef.json 파일이 없는게 아니라, 설정에 문제가 발생했다는 의미다.

그래서 ECS Cluster를 통해서 Task를 실행하면 문제가 없지만, Codedeploy 혹은 Codepipeline을 통해서 서비스가 작동하면 문제가 발생한다. (taskdefinition 관련 설정이 실행되기 때문)

이는 Service가 실행하는 Task와 Codedeploy가 실행하는 Task의 값이 달라서 발생하는 문제다.

TaskDefinition JSON

위 상단에보면 router-task:19라는 작업정의 ARN이 Cluster Service를 통해서 실행된다. 근데 아래의 Appspec에서는 모자이크 처리가 되었지만 router:1로 입력되어 있다.

Appspec 파일

Service가 사용하는 TaskDefinition ARN으로 변경해주면 해결된다.

 

반응형
Comments