Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 국비
- 자바
- 중심사회
- 99일지
- 스파르타코딩클럽
- 프로그래머스
- 컴퓨터구조론 5판
- 컴퓨터개론
- 스파르타내일배움캠프TIL
- 백준
- 개인공부
- Flutter
- 내일배움캠프
- 운영체제
- 개발자블로그
- 항해
- 스파르타내일배움캠프WIL
- 99클럽
- 개발자스터디
- Python
- java
- AWS
- til
- 스파르타내일배움캠프
- 소프트웨어
- 부트캠프
- MySQL
- wil
- 코딩테스트
- Spring
Archives
- Today
- Total
컴공생의 발자취
ECS 컨테이너 시작 실패 (feat.troubleshooting) 본문
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
반응형
'🧡 AWS' 카테고리의 다른 글
AWS S3 보안 설정 및 정책 관리 (feat. IAM) (2) | 2024.10.14 |
---|---|
AWS EC2에 HTTPS 적용하기 (feat. Nginx, Certbot) (0) | 2024.10.04 |
[AWS] S3 란? ( feat. Buckets 생성하기 ) (0) | 2024.07.02 |
[AWS] Route 53 - IPv4 v6, 레코드 타입 그리고 TTL (0) | 2024.07.02 |
[AWS] RDS 란? (feat. RDS 생성해보기) (0) | 2024.07.02 |