Back-End/AWS

[AWS] RDS와 MySQL Workbench 연동 에러 해결 (unable to connect to localhost)

현기 2023. 6. 1. 01:00

생성한 RDS를 워크벤치에서 실행하기 위해서는

크게 2가지 조건이 만족되어야 합니다. 😀

 

⦁ 퍼블릭 엑세스 허용

RDS를 생성할 때 퍼블릭 엑세스를 허용해야합니다.

생성한 후에도 수정이 가능합니다.

 

 

VPN 보안 그룹 인바운드 규칙 편집

연습용이기 때문에 Anywhere-IPv4, Anywhere-IPv6 소스를 모두 열었습니다.

하지만 이렇게 하면 모든 IP에서 DB에 접근할 수 있게 되기때문에

특정 IP에게만 개방하는 방식이 좋습니다.

 


 

여기까지의 해결 방법은 많은 블로그에서 포스팅하고 있습니다.

하지만 저는 저 2가지 설정을 아무리 해줘도 워크벤치에서 접속이 안되는 에러가 발생했습니다.

삽질 끝에 방법을 찾았습니다. 😥

 


📝에러 발생 및 해결

사탄 들린 것 같이 생긴 에러입니다. 😪

 

⦁ 문제

퍼블릭 엑세스 설정, 인바운드 규칙까지 잘 설정을 해줬지만 여전히 워크벤치에서 연결을 시도하면

위 에러가 발생했습니다.

 

MySQL 버전을 업데이트해서 맞추기도 하고, 포트를 3000 - 4000 방식으로 개방하는 등 다양한 삽질을 했습니다. 결국 한 블로그를 통해 해결 방법을 얻었습니다! 

 

⦁ 해결방법 

- Private 서브넷을 Public 서브넷으로 변경 (라우팅 테이블 수정)

 

RDS에서 사용하는 서브넷이 Public이 아닌, Private라서 발생한 문제입니다.

따라서 서브넷을 Public으로 변경해야 합니다.

 

1. AWS에서 서비스 → VPC → 라우팅 테이블 메뉴로 이동합니다.

 

2. RDS가 사용하고 있는 라우팅 테이블을 클릭합니다.

 

3. 라우팅 편집

대상이 local인 라우팅 하나만 있을 겁니다. 라우팅 추가 버튼을 클릭하고

 

첫 번째 대상 칸에 0.0.0./0

두 번째 대상 칸에 인터넷 게이트 웨이 클릭자동으로 igw-xxxxxxx 입력 

 

하고 저장하면 끝입니다!


 


참고 문헌 : 

https://aeliketodo.tistory.com/96