Post

VPC 안의 RDS 퍼블릭 액세스 이해하기

VPC 안의 RDS 퍼블릭 액세스 이해하기

RDS 퍼블릭 액세스와 비용

AWS RDS에서 퍼블릭 액세스를 허용하는 설정 자체가 곧바로 과금 항목이 되는 것은 아니다. 이 설정은 비용보다 보안과 네트워크 접근성에 더 직접적으로 영향을 준다.

다만 퍼블릭 액세스를 열어두면 간접적으로 비용에 영향을 줄 수 있다. 인터넷을 통한 데이터 전송이 생길 수 있고, 외부 노출에 따른 보안 모니터링이나 방어 비용이 추가될 수 있다. 예상하지 못한 트래픽이나 공격으로 인스턴스 부하가 늘어나면 더 높은 사양의 인스턴스가 필요해질 수도 있다.

정리하면 퍼블릭 액세스는 “켜면 바로 돈이 나간다”는 성격은 아니지만, 운영 환경에서는 보안과 네트워크 비용을 함께 고려해야 하는 설정이다.

DBeaver에서 접속하면 외부 접근인가

로컬 컴퓨터의 DBeaver에서 RDS에 직접 붙는다면, 보통은 외부에서 RDS 인스턴스에 접근하는 것으로 봐야 한다. DBeaver는 내 노트북에서 실행되고, RDS가 퍼블릭 엔드포인트와 퍼블릭 IP 경로를 통해 접근 가능하다면 인터넷을 통해 RDS에 연결하는 구조가 된다.

반대로 RDS가 퍼블릭 액세스를 허용하지 않고, VPN이나 Direct Connect처럼 VPC 내부 네트워크로 들어간 뒤 접속한다면 퍼블릭 인터넷을 통한 접근으로 보지 않는다.

1
2
퍼블릭 액세스 허용 + 퍼블릭 IP 경유 = 외부 접근
퍼블릭 액세스 비허용 + VPC/VPN/전용선 경유 = 사설 접근

Bastion Host와 SSH 터널링

EC2 Bastion Host를 통해 SSH 터널링으로 DBeaver를 RDS에 연결하면 이야기가 달라진다. Bastion Host는 퍼블릭 서브넷에 두고 외부 SSH 접속을 받지만, RDS는 프라이빗 서브넷에 그대로 둘 수 있다.

이 경우 DBeaver는 로컬에서 접속하는 것처럼 보이지만 실제 RDS로 향하는 트래픽은 Bastion Host를 거쳐 VPC 내부 네트워크로 전달된다. RDS 자체를 퍼블릭하게 열 필요가 없기 때문에 보안상 더 나은 접근 방식이다.

결론

RDS의 퍼블릭 액세스는 단순한 접속 편의 기능이 아니라, 데이터베이스가 어떤 네트워크 경계 안에 놓이는지를 결정하는 설정이다. 개발 중에는 DBeaver 직접 접속이 편하지만, 운영에 가까워질수록 Bastion Host, VPN, 사설 서브넷 같은 구조를 통해 RDS 자체의 외부 노출을 줄이는 편이 좋다.

This post is licensed under CC BY 4.0 by the author.