본문 바로가기
AWS

AWS) RDS 연결 문제 해결

by NH_club 2023. 7. 22.

새로운 프로젝트가 시작되었다. NewNeek을 클론코딩 하는 프로젝트이다.

새로운 프로젝트를 생성하고 팀원들과 CI/CD 구축을 하고 HTTPS까지 배포를 완료 하였다.

그렇게 초기 설정을 한 프로젝트를 pull 받아 실행하였더니 에러가 떴다. 다른 팀원들은 다 정상적인 실행이 되었다.

전 프로젝트에 쓰였던 RDS로 연결 되는 문제 발생
더보기

현재 새로 만든 프로젝트임에도 불구하고 에러 로그를 보았다.

Caused by: java.net.UnknownHostException: 알려진 호스트가 없습니다 (webmini-database.cpisrga7lp30.ap-northeast-2.rds.amazonaws.com)

이 주소는 나의 전 프로젝트에 쓰였던 RDS 경로다. 현재 properties 파일에는 테스트를 하기 위해서 localhost에 연결 되도록 수정을 해놓았다. 근데 현재 프로젝트에서 전 RDS의 경로를 불러오고 있다. 전 RDS는 삭제하였기에 못 찾는것이 당연하나 왜 전 RDS에 연결이 되는지 전혀 알 수가 없다.

첫 번째 시도: 환경변수 삭제
더보기

현재 프로젝트에 환경 변수를 설정하진 않았지만 혹시나 전에 설정한 환경변수가 영향을 줄 수도 있다고 생각하여 전 프로젝트에서 생성했던 환경변수를 전부 지우고 다시 실행해 보았다. 결과는 실패 여전히 전 RDS에 연결 되고 있다.

두 번째 시도: AWS 관련 설정 확인
더보기

클라우드 서비스에서 설정이 되어 있을 수도 있다고 봤다. 이 가설이 제일 가능성이 높다고 판단해서 RDS관련 설정을 확인하려 RDS를 들어갔다.

뭔가 자동 DB 인스턴스라는 말이 굉장히 거슬린다. 이 부분 때문인 건지 확인하기 위해 삭제 해보자

삭제 해도 전 RDS로 연결이 되고 에러가 뜬다... 연결되는 부분을 찾아야 하는데... RDS와 프로젝트가 어떻게 연결되는지 알아봐야겠다..

세 번째 시도: IAM 확인하기
더보기

AWS의 IAM 역할 및 정책을 통해서 RDS 접근 권한을 프로젝트에 부여할 수 있다고 함. 나는 새로운 프로젝트로 만들었지만 혹시 모르니 확인 해보자.

굉장히 설렌다 서비스 연결 역할이라는 문구가 너무 아름답다. 제발 이 문제로 인해서 자동 연결이 되었길 바란다..

삭제에 실패된 것들 제외하고 다 삭제가 됐다. 근데 시작해도 똑같은 에러가 뜬다.. 미치겠다 왜 전에 쓰던 RDS로 연결이 되는거지........

네 번째 시도: AWS관련 설정 삭제
더보기

AWS관련 설정 되어 있는 것들 전부 닥치는대로 삭제하고 있다. 보이는 족족 규칙, 설정 등등등등등등등등 근데 왜 도대체 계속 RDS로 자동 연결되는가........ 도대체 어디에서 덮어 씌우는가 도대체!!!!!!!!!!!!

자.. 침착하게 생각해보자.. 로컬에서 돌렸는데 로컬에서 덮어 씌워지는 것이니 AWS보다 인텔리 제이나, 로컬 환경에 더 집중해야 할 것 같다. 그럼 로컬의 어느 부분에서 덮어 씌워질까????????? 도대체 어디서??????????

다섯 번째 시도:  $SPRING_DATASOURCE_URL 삭제
더보기

망할...  echo $SPRING_DATASOURCE_URL을 쳐보니 있지도 않은 $SPRING_DATASOURCE_URL이 전 RDS경로로 설정되어 있다. 난 분명 $SPRING_DATASOURCE_URL을 추가한 적이 없는데... 일단 윈도우 운영체제 환경변수에는 없다.. 얘가 언제 생성 되는거고, 어디에 생성 되어 있는지 두 눈으로 똑똑히 확인해야겠다.

문제는 인텔리제이에 있었다... 인텔리제이의 Environment variables에 내가 지웠던 환경 변수가 당당히 생성 되어 있었다.. 환경변수를 삭제하고 재부팅을 해야 인텔리제이에 반영이 되는데, 재부팅을 안하고 계속 문제 해결하려하니 안될 수밖에.. 재부팅 하니 인텔리제이의 Environment variables에 정상적으로 환경변수들이 지워졌고 실행 성공... 해결 완료...