서비스를 배포할 때 데이터베이스는 AWS RDS 서비스를 사용하여 배포중인데 스테이지 DB와 같이 값을 확인할 필요가 있는 예외적인 경우, 테스트 시점에서 데이터 베이스 내부에 접근하여 테이블에 원하는 값이 정상적으로 들어갔는지 확인할 필요가 있다. 문제는 AWS RDS 세팅 시, 보안 관련된 이슈로 해당 데이터 베이스 주소의 외부 접근을 ec2 인스턴스를 제외하고는 모두 막아둔 상태이다. 그래서 아래와 같이 로컬 pc의 Datagrip -> AWS EC2 인스턴스 -> AWS RDS 접근과 같은 절차를 통해 접근해야한다.
Datagrip에서는 위와 같은 절차로 Amazon RDS에 SSH 터널링을 통해 접근이 가능하다.
1. SSH 설정
EC2 인스턴스에 접근하기 위해 ssh 정보 등록을 해야한다.
데이터소스 > 원하는 DMBS(예시로 MySQL) > SSH/SSL을 클릭하여 새로운 SSH 설정창으로 이동한다.
설정창에서 SSH 터널 사용 체크 박스를 클릭하면 ... 이 활성화된다. ... 버튼을 클릭하면 SSH 구성창이 뜨고 상단의 + 버튼을 통해 새로운 SSH 구성 추가한다.
SSH 구성 추가창에 호스트(EC2 호스트 주소를 입력한다.), 포트(ssh는 22번 포트를 사용한다), 사용자 이름(AWS 기본 사용자는 ec2-user이다.) 인증타입(OpenSSH인지 다른 인증 타입인지는 확인이 필요)를 입력하고 연결테스트 버튼을 클릭하여 인스턴스 연결 여부를 확인한다. 인스턴스 연결 성공시 아래와 같이 연결 성공 팝업이 뜨게 된다.
2. 데이터소스 설정
정상적으로 인스턴스에 연결된 것을 확인했다면 적용 > 확인 이후에 일반 탭으로 이동하여 데이터베이스 접근 관련 정보(Host 주소, user, password, database 이름 등)을 등록후, 연결 테스트 버튼을 클릭하여 성공이라는 결과 창이 나온다면 Datagrip에서 정상적으로 데이터베이스 접근이 가능해진다.
[AWS RDS] DataGrip ssh 터널링을 통해 AWS RDS 접근하기
서비스를 배포할 때 데이터베이스는 AWS RDS 서비스를 사용하여 배포중인데 스테이지 DB와 같이 값을 확인할 필요가 있는 예외적인 경우, 테스트 시점에서 데이터 베이스 내부에 접근하여 테이블에 원하는 값이 정상적으로 들어갔는지 확인할 필요가 있다. 문제는 AWS RDS 세팅 시, 보안 관련된 이슈로 해당 데이터 베이스 주소의 외부 접근을 ec2 인스턴스를 제외하고는 모두 막아둔 상태이다. 그래서 아래와 같이 로컬 pc의 Datagrip -> AWS EC2 인스턴스 -> AWS RDS 접근과 같은 절차를 통해 접근해야한다.
Datagrip에서는 위와 같은 절차로 Amazon RDS에 SSH 터널링을 통해 접근이 가능하다.
1. SSH 설정
EC2 인스턴스에 접근하기 위해 ssh 정보 등록을 해야한다.
데이터소스 > 원하는 DMBS(예시로 MySQL) > SSH/SSL을 클릭하여 새로운 SSH 설정창으로 이동한다.
설정창에서 SSH 터널 사용 체크 박스를 클릭하면 ... 이 활성화된다. ... 버튼을 클릭하면 SSH 구성창이 뜨고 상단의 + 버튼을 통해 새로운 SSH 구성 추가한다.
SSH 구성 추가창에 호스트(EC2 호스트 주소를 입력한다.), 포트(ssh는 22번 포트를 사용한다), 사용자 이름(AWS 기본 사용자는 ec2-user이다.) 인증타입(OpenSSH인지 다른 인증 타입인지는 확인이 필요)를 입력하고 연결테스트 버튼을 클릭하여 인스턴스 연결 여부를 확인한다. 인스턴스 연결 성공시 아래와 같이 연결 성공 팝업이 뜨게 된다.
2. 데이터소스 설정
정상적으로 인스턴스에 연결된 것을 확인했다면 적용 > 확인 이후에 일반 탭으로 이동하여 데이터베이스 접근 관련 정보(Host 주소, user, password, database 이름 등)을 등록후, 연결 테스트 버튼을 클릭하여 성공이라는 결과 창이 나온다면 Datagrip에서 정상적으로 데이터베이스 접근이 가능해진다.
'개발 > AWS' 카테고리의 다른 글