AWS

EC2 터널링으로 private subnet RDS 접속하기

beekei 2023. 10. 19. 10:08
반응형

RDS가 private subnet에 구축되어 있을때 외부에서는 RDS에 접속할 수 없습니다.

보안을 위해서 이렇게 구축하고는 하는데 실제 개발하는 도중에 직접 RDS에 접속하는 일이 많습니다.

이런 상황에 매우 간단한 방법으로 EC2를 터널링으로 사용해 private subnet에 있는 RDS에 접속이 가능합니다.


1. EC2 생성

먼저 사용할 EC2를 생성합니다.

EC2 이름을 설정하고 Amazon Linux로 생성하겠습니다. 꼭 Amazon Linux가 아니여도 됩니다.

키 페어를 선택하거나 새로 생성합니다.

요 키 페어로 ssh 터널에 접속하니 분실하거나 외부로 유출되서는 안됩니다!

네트워크 설정에서 편집 버튼을 클릭해 외부에서 접속할 수 있는 public subnet을 선택하고

터널링을 위해 보안그룹의 인바운드 유형은 ssh로 선택하고 내 IP에서만 접속이 가능하도록 설정합니다.

 

2. RDS 연결

생성한 EC2를 선택하고 RDS를 연결합니다. (작업 > 네트워킹 > RDS 데이터베이스 연결)

private subnet RDS를 선택하고 연결합니다.

 

3. 보안그룹 확인

연결이 완료되었다면 해당 EC2를 선택해 보안그룹을 확인합니다.

EC2를 생성하며 생성한 보안그룹(rds-connection-ssh)과 RDS 연결 시 자동으로 생성된 보안그룹(ec2-rds-1)이 연결되어 있는것을 확인할 수 있습니다.

 

4. SSH 터널을 이용한 RDS 접속

DBeaver를 사용해서 접속해보겠습니다. 아래 설명대로 설정하시면 됩니다.

Test Connection을 클릭해 연결 테스트를 진행해보면 연결에 성공한 것을 확인하실 수 있습니다.

반응형