문제상황
새로운 프로젝트에서 AWS RDS을 사용해보기 위해서 ec2도 만들고 aws rds도 만드는데 dbeaver에서 연결을 하려 하니까 자꾸 time out 에러가 발생했다.
하지만 ec2을 통해 ssh 접속을 하여 연결하거나, 실제로 ec2 에서 db에 접속하였을 때는 연결이 문제없이 되고 db에 문제또한 없는 현상이었다. 즉 외부에서 접근하는 연결만 차단되어 있는 상황이었다.
그래서 열심히 인터넷 검색을 해보았는데 다들 말하는 해결 방법은 결국 3가지였다.
1. 퍼블릭 액세스 Yes? No?
먼저 RDS의 퍼블릭 액세스 부분을 확인해보자. 처음 RDS을 생성할 때는 퍼블릭 액세스를 Yes로 체크할 수 없기 때문에 생성한 이후 다시 수정 버튼을 통하여 접근할 수 있도록 Yes로 설정해주었다.
하지만 나는 그래도 해결되지 않았다.
2. 보안그룹 설정 확인
그렇다면 다음으로 확인해봐야 할 곳은 보안 그룹이다. 내 상황에서는 ec2 인스턴스를 컴퓨팅 리소스에 연결을 하여 기본적으로 ec2에 대한 인바운드 설정만 되어있었다. 이를 해결하기 위해 새로운 보안그룹을 만들어 ssh 및 3306포트에 대해 전역 접근 허용(0.0.0.0/0)을 설정해주었다.
하지만, 그래도 해결이 되지 않았다. 대부분의 글들은 모두 이 부분에서 연결이 되거나 해결을 했다고 하는데 도무지 연결이 되지 않아 더 검색해 보기로 하였다.
3. VPC - 라우팅 테이블 확인
AWS 에서 vpc라고 검색해서 나오는 곳에서 라우팅 테이블이라는 항목을 들어가보자.
그렇다면,
이런식으로 RDS 로 시작하는 라우팅 테이블이 있을 것이다. 이 부분을 확인해보면 현재 내 ec2에 대한 라우팅 테이블 설정만 되어 있을 것인데, 추가로 0.0.0.0/0 과 인터넷 게이트웨이를 대상으로 하여 설정해주자.
나는 3번 방법까지 진행하였을 때 해결이 되었다. AWS 편하다고 하는데 처음 공부하고 설정하는 것이 너무 힘든 것 같다.. 하지만 잘 써봐야지..
'끄적끄적' 카테고리의 다른 글
Oauth 인증 구현 당시 프론트와 백엔드를 연결하며 생긴 일..(CORS에러) (1) | 2023.11.28 |
---|---|
이 블로그는 나만의 개발 교재가 될 예정이다 (0) | 2023.08.22 |
댓글