RDS를 편하게 관리하기 위해 워크벤치에 접속하려 했다.
근데 계속 뜨는 오류… Cant’ connect to MySQL server on (10060)
RDS 자체 문제인가 싶어 지웠다가 다시 생성해보기도 하고 방화벽 문제인가 싶어 방화벽 설정도 해보았다.
몇 시간을 디버깅한 끝에 나는 답을 찾았다.
워크벤치에 접속하기 전 확인해야 하는 세 가지에 대하여 설명하겠다.
1. 퍼블릭 액세스 설정
AWS 콘솔 홈에 접속 후 RDS에 들어가서 퍼블릭 액세스가 허용되어있지 않다면, 수정 > 연결 > 추가 구성에 들어가서 퍼블릭 액세스를 허용하여 RDS 데이터베이스에 외부 접속이 가능하도록 설정한다.
2. 인바운드 규칙 추가
VPC 보안 그룹에서 인바운드 규칙에 IPv4, IPv6 포트 허용이 되어있는지 확인하고 추가한다. 웬만하면 보안을 위해 Anywhere가 아닌 특정 IP에 허용해주는 것이 좋다.
3. 서브넷 변경
난 이 서브넷 문제 때문에 접속이 되지 않았었다. AWS 콘솔 홈으로 돌아가서 VPC로 들어간 후, 라우팅 테이블 > RDS가 사용 중인 라우팅 테이블 ID > 라우팅 편집에 들어간다. local 라우팅 하나만 있다면 위와 같이 0.0.0.0/0, 인터넷 게이트웨이를 클릭하여 입력 후 변경 사항을 저장한다. 서브넷과 연결된 라우팅 테이블은 인터넷 게이트웨이를 거쳐야 인터넷 연결이 가능하므로, 라우팅 테이블에 필수로 IPv4의 모든 주소를 나타내는 0.0.0.0/0(혹은, IPv6 – ::/0)을 인터넷 게이트웨이와 연결해야 한다.
4. 워크벤치 접속
난 워크벤치로 HeidiSQL을 사용했다. 다음과 같이 입력 후 저장하고 열기를 클릭한다.
Library – libmariadb.dll
호스트명 / IP – 엔드포인트
사용자 – 마스터 사용자 이름
암호 – 마스터 사용자 암호
접속이 잘 되는 것을 확인할 수 있다.