🧡 AWS
ECS 컨테이너 시작 실패 (feat.troubleshooting)
MNY
2024. 9. 25. 17:21
728x90
반응형
🔥 문제 상황
ECS를 생성할 때 튜터님과 함께 설정했음에도 불구하고 컨테이너가 정상적으로 시작되지 않고 계속해서 재시작하는 상황이 발생했다. NLB(Network Load Balancer)의 헬시 상태가 뜨지 않아 문제가 발생하고 있었다.
👀 고민 및 시도한 내용
ECS 생성 과정은 다음과 같이 진행했다.
- 태스크 생성
- 클러스터 생성
- NLB 그룹 생성
- NLB 생성
- 서비스 생성
NLB의 헬시 상태가 나타나지 않아서 몇 가지를 고민하며 시도했다:
- 보안 그룹에서 443 포트를 제거
- 상태 검사를 완화
- 포트가 8080이 잘못된 건가 싶어 80으로 변경
- 오토 스케일링 그룹과 상태 검사를 맞춰보기
- 현재 ECS가 프라이빗 서브넷에 연결되어 있었기에 ACL을 변경
💡 해결 방법
문제를 해결하기 위해 다음과 같은 과정을 진행했다.
문제가 되었던 부분은 AWS에서 캐싱이 되어 있었던 것으로 추측했다. 클러스터, 태스크, 서비스 등 네이밍을 할 때 v1 같은 버전 표기를 추가하여 생성하니 문제가 해결되었다.
추가적으로 생각하는 다른 추측:
- Nginx가 127.0.0.0으로 라우팅되면, 내가 설정한 NLB가 프라이빗 서브넷에서 nginx의 요청을 제대로 처리하지 못했을 가능성도 있다.
- 진행 과정에서 ECS 부분에서 ACL을 추가했는데, 해당 ACL이 8080이었고 이 부분을 삭제하고 동일하게 ECS를 재생성했을 때 정상적으로 동작한 것으로 보아 이 또한 문제의 원인 중 하나였던 것 같다.
🔍 마무리
이번 경험을 통해 AWS ECS에서의 환경 변수 설정과 NLB의 상태 점검의 중요성을 다시 한 번 깨닫게 되었다. 네이밍, 캐싱과 설정 점검이 문제 해결의 중요한 열쇠임을 실감하게 되었다.
728x90
반응형