
RDS는 기본적으로 “퍼블릭 IP 주소”를 할당하지 않도록 구성하는 것이 원칙이다. 하지만, 외부에서 RDS에 직접 접속해야 할 때가 있기도 하여, 퍼블릭 액세스를 허용하여 테스트하거나 할때가 있는데 우선 이건 제외하고 외부 사용자가 RDS에 접근하는 방식에 대해 적어보겠습니다...
RDS와 통신하는 것도 SSM 포트포워딩, Site-to-Site VPN, VPC 피어링 등 다양하게 있지만, 간단하게 RDS에 접근하는 방식인 간단하게 VPC 내부에서 EC2를 통해 접근하는 과정을 정리해보겠습니다
Public IP는 외부(인터넷)와의 통신 목적Private IP는 내부 네트워크(VPC, LAN) 내에서의 통신 목적입니다.
Private IP는 로컬 네트워크 내에서만 유효하며, 외부 인터넷에서는 직접 접근할 수 없습니다.
이 과정에서는 RDS는 Private Subnet에 위치하여 퍼블릭 IP를 가지지 않는 구조입니다. 외부 사용자가 직접 RDS에 접근할 수는 없고, EC2가 중계 역할을 하여 RDS에 접근합니다.
🧭 전체 흐름 요약
[외부 사용자]
↓
[인터넷]
↓
[EC2 - 퍼블릭 서브넷]
↓
[RDS - 프라이빗 서브넷]
↓
[응답 반환]
↓
[EC2]
↓
[외부 사용자]
• 사용자는 웹 브라우저 또는 앱을 통해 인터넷에 접속
• 공용 IP 주소 또는 도메인을 통해 EC2 인스턴스로 요청 전달
👉 요약: 외부 → EC2 (퍼블릭 서브넷, 인터넷 접근 가능)
• 요청은 퍼블릭 서브넷에 위치한 EC2로 전달됨
• EC2는 인터넷과 연결된 인스턴스로 외부 접근 가능
👉 요약: 인터넷 → EC2
• EC2는 백엔드 처리를 위해 RDS에 쿼리 요청
• RDS는 퍼블릭 IP가 없으므로 EC2는 Private IP로 연결
• EC2와 RDS는 같은 VPC 내에 있어 인터넷을 거치지 않음
👉 요약: EC2 (퍼블릭 서브넷) → RDS (프라이빗 서브넷, Private IP 사용)
• RDS는 쿼리 결과를 EC2로 반환
👉 요약: RDS → EC2 (응답 반환)
• EC2는 받은 데이터를 사용자에게 전달
• 사용자 앱/브라우저에서 데이터 확인 가능
👉 요약: EC2 → 외부 사용자
EC2 (퍼블릭 서브넷)EC2 → Private IP → RDS (프라이빗 서브넷)RDS → EC2 (데이터 반환)EC2 → 외부 사용자위의 간단한 구조는 RDS 를 퍼블릭으로 노출하지 않고 EC2의 중개 역할을 통해 데이터를 안전하게 제공할 수 있는 방법입니다!