AWS에 ECS 생성하고 Docker hub에 업로드한 이미지를 불러와 컨테이너를 만드는 과정에서 오류가 발생했다.
이미지는 로컬 및 EC2에서 동작하는것 확인하였으므로 정상이었다. 하지만 ECS에서 이미지를 불러와 사용하려고 했으나 아무런 반응이 없었다.
정상적으로 작동이 되었다면 클러스터 탭에서 해당하는 클러스터 이름을 누르고 Task 탭을 누르면 작동중인 Task 들을 볼 수가 있었다. 하지만 나는 아무런 것도 표시가 되지 않았고 다시 시작하는 모든 Task들은 stopped 상태로 들어가있었다. 시작하자마자 Pending -> Stopped 상태로 전환이 되었으니... 오류를 직접적으로 보기가 어려웠다.
stopped 된 Task들을 눌러보니
CannotPullContainerError: inspect image has been retried 1 time(s): failed to resolve ref "docker.io/DOCKERHUB_ID/IMAGE_NAME:TAG_NAME": pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed
위와 같은 이유로 중단되어 있었다.
IAM 가 잘못 설정된건가? 포트가 잘못 열려있나? 전부다 실패했다.
그냥 이전에 잘못 만들었던 클러스터를 모조리 삭제한 다음 다시 실행하니까 정상적으로 작동했다.
클러스터가 삭제 불가능한 경우도 있는데 연관된 subnet 까지 찾아가서 직접 삭제시켜주고 다시 클러스터를 삭제하면 된다.
찜찜하고 시간 아깝다...
댓글