Datagrip에서 SSH 터널링으로 데이터베이스 접근하기

개발도구 사용법

Posted 2024.12.23 13:00

By recoma

개요

데이터베이스는 고객의 중요 데이터를 저장하는 매우매우 중요한 시설이다. 그렇기 때문에 어지간한 기업에서는 데이터베이스 보안을 철처히 해놓는다. 내가 다니고 있는 회사도 마찬가지인데, 일단 데이터베이스를 VPC에 포함시켜 VPC에 포함되는 서비스에서만 사용할 수 있게 했고, Publicy accessible을 False로 세팅함으로써 Security Group에서 0.0.0.0으로 범위를 설정해도 접속하지 못하게 막아놨다. 즉, 사내 IP로는 직접 접속이 불가능하고, 접속할 수 있는 유일한 방법은 오로지 SSH를 통해 운영서버에 접속을 한 다음, 그 운영서버에서 데이터베이스에 접속(mysql-client)해서 SQL문을 타이핑하는 방법이다. 보안상으로는 좋긴 하지만, 데이터베이스 접속을 터미널로 하는 것에 대해 불편함을 가진 적이 많았다. 하지만 데이터베이스 IDE중 하나인 DataGrip 에서는 SSH를 통해 데이터베이스를 접속하는 SSH 터널링을 지원한다.

사용법

  1. SSH/SSL 탭에 들어간다. 여기서 Use SSH Tunnel 을 체크하고 오른쪽에 …을 클릭한다. 1

  2. SSH Configuration이라는 창이 뜨는데, 여기서는 데이터베이스에 접속할 서버 정보를 입력하면 된다. 즉 SSH 정보를 입력하면 되는데, 패스워드가 아니니 pem key를 사용할 경우 “Authentication type”에 “Key pair”를 선택하고 Private Key File에 pem키 경로를 입력하면 된다. 2

  3. “Test Connection”을 클릭해 접속 여부를 확인한다. 성공했으면 아래와 같은 문구가 뜬다. 데이터베이스에 접속할 서버와의 SSH 연동이 정상적으로 완료되었다는 뜻이다. 절대 데이터베이스 접속에 성공했다는 뜻이 아니다. 성공했으면 OK를 눌러 다시 뒤로 간다.

3

  1. General 탭에 돌아와서 데이터베이스 정보를 입력하면 된다. 여기부터는 일반적인 데이터베이스 접속하는 방법과 일치. Success 표시가 뜨면 연동하는데 성공했단 뜻이고, OK버튼을 누르면 그 다음부터 사용할 수 있다.

4