문제상황
ECS service에서 생성한 EC2가 계속 에러가 뜸
해결과정
ec2의 cloudwatch로 로그를 살펴본결과 아래 에러가 떴다.
org.postgresql.util.PSQLException: The connection attempt failed.
내 Spring App에서 DB연결에 실패했다는건데..로컬에서는 문제없이 잘떴는데 aws에서 에러가 떴다는건,
예상 원인 1. 환경변수를 잘못입력
-내 Spring Boot에서 사용하는 환경변수를 ECS task definition 생성할때도 똑같이 넣어줘야하는데(ex. DB url, DB username, DB password, S3 url 등등) 이때 실수하면 DB 연결을 실패한다.
-> cli로 똑같은 환경변수로 테스트 해봤을 때 확인 결과 문제 없음. 원인 아님
예상 원인 2. DB가 아직 없음
-이럴가능성은 없다. 나는 DB(Postgresql)을 컨테이너로 띄우는게 아니라 AWS RDS 서비스를 이용해서 이미 띄워놨고, 항상 띄워놓는 상태이다.
-> 원인 아님
예상 원인 3. AWS 보안 그룹 이슈
-> 결과적으로 이게 원인⭕️
로컬에서는 문제 없었고, 현재 EC2에서 RDS로 접근할때 에러가 나므로 이 문제일 가능성이 제일 크다.
확인해보니, RDS 인바운드 룰에서 내 로컬 ip만 허용하고 있었다. 그래서 로컬에서 돌렸을때는 RDS에 접근할 수 있었던 것이다.
추가로, 디버깅하면서 계속해서 ECS 테스크랑 서비스를 만들었는데, 예전에 만들었던 ECS의 security 그룹이 RDS의 인바운드 룰에 적용되어있었다. 현재 만든 ECS의 security 그룹이 들어가있지 않으므로...ECS ec2 -> RDS 로 접근이 불가했던것!
디버깅하면서 SG를 많이 들여다봤는데, id까지 하나하나 비교해보지 않은게 시간을 가장 많이 잡아먹은 이유였다.
RDS 인바운드 룰에 sg-ecs-.. 이렇게 들어가있으니, 당연히 잘 들어가있군 이렇게 생각했는데 알고보니, 비슷한 이름의 예전 ecs sg가 들어가 있던것!!
id까지 비교해서 보니 저건 예전 sg였고..흑흑 현재 ECS sg를 넣어주니 삽질한 시간이 무색하게 아주 자-알 서비스가 작동됐다.
원인을 찾아서 기쁘지만 서비스가 잘 돌아가서 기쁘지만...
후 겨우 이 문제였다니 ㅎㅎ
암튼 해결 완료
'기타등등' 카테고리의 다른 글
| SQLD 벼락치기(2주 이하) 합격 후기 + 공부 자료 추천 (2) | 2025.09.14 |
|---|---|
| CSRF란? CSRF 토큰을 써야하는 이유 (4) | 2025.09.01 |
| AWS developer Assosiate(DVA-C02) 시험 후기 (6) | 2025.08.17 |
| Spring boot 내장 h2 DB, DBeaver 연결 + The write format 3 is larger than the supported format 2 [2.1.210/5] 에러 해결 (4) | 2025.08.06 |
| AWS ECR+ECS(EC2 버전)+RDS, Docker 사용해서 Spring boot 앱 띄우기 - 아키텍쳐 (0) | 2025.07.01 |
| JPA 데이터 스키마 셋팅 및 초기 데이터 셋팅 + hibernate (2) | 2025.06.24 |
| chrome extension 제작기 3 - 개발자 등록 + extension web store 에 앱 등록 (0) | 2025.04.15 |
| chrome extension 제작기 2 - 개발 단계 + 최종 완성본 (5) | 2025.04.14 |