1. 목적
로컬 PC나 외부 서버에서 AWS RDS(MySQL)에 접속하는 방법을 정리한다. 접속이 되지 않을 때는 대부분 RDS의 공개 접근 설정, 보안 그룹, 엔드포인트 또는 포트 설정에서 문제가 발생한다.
2. 확인사항
- RDS가 외부에서 접속 가능하도록 설정되어 있는지 확인할 것
- Security Group의 인바운드 규칙에서 MySQL 포트가 허용되어 있는지 확인할 것
- RDS 엔드포인트를 알아둘 것
- 사용 중인 데이터베이스 계정과 비밀번호를 확인할 것
기본 MySQL 포트는 3306이다. 보안 그룹을 열 때는 가능하면 전체 IP(0.0.0.0/0)를 허용하지 말고, 접속할 PC나 서버의 IP만 허용하는 것이 안전하다.
3. 접속 방법
기본 포트(3306)를 사용하는 경우 다음과 같이 접속한다.
$ mysql -u [계정] -p -h aaa.bbb.ap-northeast-2.rds.amazonaws.com
명령을 실행하면 비밀번호 입력을 요청한다. -p 뒤에 비밀번호를 바로 붙여 입력할 수도 있지만, 히스토리에 남을 수 있으므로 프롬프트에서 입력하는 방식을 권장한다.
만약 포트가 3306이 아니고 33306이라면, -P 옵션으로 포트를 지정한다.
$ mysql -u [계정] -p -h aaa.bbb.ap-northeast-2.rds.amazonaws.com -P 33306
4. 접속이 안 될 때 확인할 것
- RDS 엔드포인트를 정확히 입력했는지 확인한다.
- RDS가 퍼블릭 액세스를 허용하는지 확인한다.
- 보안 그룹 인바운드 규칙에 현재 접속하는 IP와 포트가 허용되어 있는지 확인한다.
- 사용자 계정, 비밀번호, 데이터베이스 권한이 올바른지 확인한다.