RDS를 여러번 다뤄봤지만 같은 설정에 대해서도 계속 연결이 되지 않아 많이 애를 먹었다.
EC2가 아닌 Mysql workbench 혹은 Datagrip과 같이 로컬에서 RDS에 접속하고 싶은데, "Connection timed out" 오류가 계속해서 발생했다.
퍼블릭 액세스 + 보안그룹 인바운드 설정까지 했는데 로컬에서 연결이 되지 않는다면 이번 방법을 사용해보자.
먼저 확인해볼 것
앞에서 잠깐 언급하긴 했지만 로컬에서 연결하기 위해서는 데이터베이스 생성 시 퍼블릭 엑세스 설정은 반드시 해줘야 한다.
또한, 보안 그룹의 인바운드 규칙도 확인해보자.
이렇게 기존 EC2를 위한 인바운드 규칙말고 로컬에서 사용하기 위한 규칙을 넣어줘야 한다.
0.0.0.0/0은 모든 사용자가 해당 RDS에 접근할 수 있다는 것이므로 보안 이슈는 각자 주의하자. 정 불안하면 본인의 ip주소만 인바운드에 포함시키면 된다.
이렇게 해도 안되면?
원래는 저정도 하면 연결이 됐었는데, 데이터베이스 생성 UI가 바뀌었는지 갑자기 안되는 경우가 생긴다.
그래서 열심히 검색한 끝에 해결 방법을 찾았다...
바로 RDS의 서브넷이 private이어서 발생하는건데(private이 default가 됐나보다..), 이를 public으로 변경해주면 된다.
AWS에서 VPC -> 라우팅 테이블 메뉴로 이동한다.
이후 RDS가 사용하는 라우팅 테이블을 클릭하고, 작업 -> 라우팅 편집을 클릭한다.
그럼 'local'인 라우팅 하나만 있을텐데, 라우팅 추가 버튼을 눌러 0.0.0.0/0을 입력하고, 대상에는 인터넷 게이트웨이를 클릭하자. 그러면 자동으로 igw-xxx...x가 입력될 것이다.
이제 변경 사항 저장을 누르고 다시 연결해보면 RDS 연결이 잘 된다.
AWS는 익숙해지다가도 설정이 조금씩 틀어져서 힘들어지는 경우가 많은 것 같다. 그때마다 이렇게 꼼꼼히 기록해둬야겠다.
참고자료
https://aeliketodo.tistory.com/96
'aws' 카테고리의 다른 글
[AWS] RI & Savings Plan로 AWS 비용 절감 (8) | 2022.12.11 |
---|---|
[AWS] RDS "Too many connections" (2) | 2022.08.01 |
[AWS] S3 버킷 퍼블릭 엑세스 설정 (0) | 2022.07.25 |
[AWS] CloudWatch logs - 로그 파일 수집 (4) | 2022.01.21 |
[AWS] EC2, ufw enable 후 ssh 접속 불가 문제 (6) | 2022.01.13 |