ECS에서 서비스를 생성하고, CodeDeploy를 확인했을 때 다음과 같은 오류가 발생하였다.
문제1. ResourceInitializationError ⚠️
다음 시간에 작업이 중지됨: 2025-08-06T04:46:53.186Z
ResourceInitializationError: unable to pull secrets or registry auth
: The task cannot pull registry auth from Amazon ECR
: There is a connection issue between the task and Amazon ECR.
Check your task network configuration. operation error ECR
: GetAuthorizationToken, exceeded maximum number of attempts, 3, https response error StatusCode: 0, RequestID: , request send failed,
Post "https://api.ecr.ap-northeast-2.amazonaws.com/": dial tcp XX.XX.XX.XX:443: i/o timeout
로그 내용을 읽어보면,
- ECS Task가 시작되려고 할때, ECR에서 이미지를 받아오려다가 실패함.
- 실패 이유: ECS에서 ECR로의 네트워크 연결 실패 (i/o timeout)
따라서 현재 구동되고 있는 서비스의 태스크를 확인해보았다.
시도1. vCPU, 메모리 늘려주기
반복적으로 컨테이너가 죽고, 새로 생겨나는 것을 반복하고 있었다.
현재 사용중인 서비스를 살펴보니, CPU Max Utilizaion이 100%를 찍고 있었다.
왜그런가보니, vCPU를 0.25, 메모리는 0.5로 매우 작은 크기의 리소스를 사용중이라 컨테이너가 감당하지 못한것 같다.
따라서 태스크 정의에서 vCPU = 2, 메모리는 4GB로 늘려주었다.
시도2. 포트 변경
태스크 정의를 꼼꼼하게 다시 읽다보니, 설정이 잘못된 부분이 존재했다.
우리는 현재 스프링부트 프로젝트를 배포하기 때문에, 8080포트를 사용해야하는데
태스크 정의에서는 3000 포트를 사용하고 있었다.
따라서 태스크 정의에서 8080포트로 변경해주었다.
시도3. 환경변수 주입
현재 우리 프로젝트에서는 환경변수를 사용하지만, 태스크 정의에서는 이 환경변수들이 누락되어있었다.
따라서 태스크 정의 부분에서 환경변수를 추가해주었다.
문제2. Only target group in ECS deployment group ⚠️
The ELB could not be updated due to the following error:
Only target group in ECS deployment group (arn:...:targetgroup/ECS-Target-Group, arn:...:targetgroup/ECS-Target-Group-ALT/b12416d0f4e12b9b)
can be set on listener arn:aws:...:listener/app/goorm-ALB/.../...
CodeDeploy에서 새로운 오류 메시지가 또 떴다.
오류 로그를 읽어보면,
- ALB 리스너는 ECS 배포 그룹에 특정된 두 타겟 그룹만 사용할 수 있음 (ECS-Target-Group, ECS-Target-Group-ALT)
- 그런데 현재 배포에서 등록되지 않은 타겟 그룹을 사용하려해서 거절
시도4. 리스너에 연결된 대상그룹 수정
현재 EC2 배포용 대상그룹도 함께 사용했기 떄문에 두 타겟그룹 말고도 다른 타켓그룹이 존재했었다.
다른 타켓그룹을 리스너에서 제거해주었다.
또한, 대상그룹 전달 비율을 1:0 으로 수정해주었다. (그린 100, 그린 0이어야 블루그린 배포가 된다고 한다.)
-> 왜지??
해결완료 ㅠㅠ 감격의 눈물..
+) 요새 맨날 서버로 청기백기 하고있다.... 테스트 환경이랑 개발 환경 분리를 하고싶은데 어렵다 어려워
'AWS' 카테고리의 다른 글
[AWS][트러블슈팅] 도커파일 USER 미지정 문제 해결 (3) | 2025.08.12 |
---|---|
[AWS] CloudFront HTTP 보안 헤더 적용 (4) | 2025.08.12 |
[AWS][트러블슈팅] 프론트 -> 백엔드 API 요청 막힘 문제 해결 (2) | 2025.08.06 |
[AWS] EC2 to ECS 마이그레이션 (Spring 프로젝트, https) (3) | 2025.08.04 |
[AWS] SQS로 비동기로 요청 처리하기 (6) | 2025.07.25 |