AWS RDS는 보안상 **퍼블릭 엑세스(공개 IP 접속)**을 비활성화하는 것이 일반적입니다.
이 경우, **EC2 인스턴스를 Jump Host(중간 연결 서버)**로 설정한 후,
로컬에서 포트포워딩을 통해 RDS에 접속할 수 있습니다.
✅ 1. 전제 조건
- EC2 인스턴스는 RDS와 동일 VPC에 있고, RDS에 접근 가능해야 함
- 로컬 PC는 EC2로 SSH 접속이 가능해야 함 (.pem 키 보유)
- RDS는 EC2의 보안 그룹에서 포트 3306 허용되어 있어야 함
✅ 2. 로컬 포트포워딩 명령어 (Windows PowerShell 기준)
ssh -i "your-key.pem" -L 3336:your-rds-endpoint.ap-southeast-2.rds.amazonaws.com:3306 ec2-user@your-ec2-public-ip
📌 설명:
항목 설명
-i "your-key.pem" | EC2에 접속하기 위한 SSH 키 경로 |
-L 3336:RDS주소:3306 | 로컬 PC의 3336 포트를 RDS의 3306 포트에 연결 |
ec2-user@... | EC2 인스턴스의 퍼블릭 IP 주소 |
접속 후 EC2에 로그인된 상태가 되어야 정상적으로 포트포워딩 유지됩니다.
✅ 3. DBeaver 등 DB 툴에서 접속 설정
- Host: localhost
- Port: 3336
- Database name: (직접 생성한 DB 이름, 예: malgage)
- User name / Password: RDS 생성 시 입력했던 값
✅ 4. 연결 유지 주의사항
- 이 방식은 EC2 세션이 열려있는 동안만 유효합니다.
- 연결을 종료하면 포트포워딩도 함께 끊어집니다.
- 이를 자동화하고 싶다면 autossh 또는 EC2 프록시 서버 방식도 고려해볼 수 있습니다.
✅ 예시 (Mac에서도 동일하게 사용 가능)
ssh -i ~/key/your-key.pem -L 3336:your-rds-endpoint:3306 ec2-user@your-ec2-ip
✅ 마무리
보안적으로도 안전하게 RDS에 접근할 수 있는 방법이며,
퍼블릭 액세스 없이도 DB 툴(DBeaver 등)로 데이터를 직접 확인할 수 있어 유용합니다.
'Back-End > AWS' 카테고리의 다른 글
[EC2] 🚀 AWS EC2에서 Spring Boot application.yml 수정하기 (0) | 2025.08.17 |
---|---|
[EC2] ✅ EC2 인스턴스 재시작 후 바뀐 퍼블릭 IP 처리 방법 (GitHub Actions) (0) | 2025.08.06 |
[EC2] Spring Boot 프로젝트 EC2 + Docker 배포 및 GitHub Actions 자동화 (1) | 2025.08.06 |
[EC2] EC2에 application.yml 업로드하기 (Windows & macOS) (0) | 2025.08.05 |
[EC2] EC2에 SSH 접속하는 방법 (Windows & macOS) (0) | 2025.08.05 |