본문 바로가기
데이터베이스/MongoDB

MongoDB Atlas(Cloud)와 AWS VPC Peering

by 더나개 블로그 2025. 8. 31.

AWS와 MongoDB Atlas(Cloud)를 별도로 사용하다 보면 MongoDB Atlas(Cloud)의 경우 별도의 호스팅 서버로 리소스가 따로 관리되게 된다. 만약 MongoDB Atlas의 호스팅을 AWS에서 한다는 가정하에 AWS의 리소스(가령 EC2) 들이 MongoDB Cloud에서 관리되는 MongoDB에 접속하기 위해선 MongoDB 측에서 AWS 리소스들의 주소를 알아야 한다. 가령 ASG로 관리되는 EC2들의 경우, 특정 상황에 새롭게 EC2들이 생성되고 제거되면서 IP가 변경되게 되는데 이러한 상황에 어떤 전략으로 보안을 유지할 수 있는지 다뤄보자 🧐

 

크게 2가지 방법이 있다. 

- VPC Peering

- AWS PrivateLink

- NAT Gatewway를 통한 고정 IP로 outbound 트래픽 처리 (만약 MongoDB가 MongoDB Cloud에서 관리되는 상황이 아닌 온프레미스 환경에 있다면 NAT를 고려해 볼 수 있을 것이다.)

참고로 MongoDB Atals에선 IP AllowList를 통한 네트워크 접근을 권장하진 않는다.

 

본 글에선 VPC Peering을 통한 MongoDB Cloud NetworkAccess 전략에 대해서 소개해 보겠다.

 1. MongoDB Cloud 접속, Network Access -> Peering 접속

MongoDB Atlas를 통해 AWS로 호스팅되는 MongoDB를 만들고 Network Access 탭에 들어간다.

2. AWS에 준비된 VPC 정보를 입력

정보를 입력하고 Initiate Peering을 누르게 되면 아래와 같이 AWS에서의 승인을 기다리게 된다.

AWS에서의 승인을 기다리는 모습

3. AWS에 접속 후 VPC의 피어링 연결 탭에 접속

피어링 연결 탭에 들어가면 다음과 같이 연결 요청이 온 피어링 연결 항목이 뜨게 된다.

VPC 피어링 요청
요청 수락

요청을 수락해 준다.

4. MongoDB Atlas에서 요청한 VPC Peering 상태 확인

MongoDB Atlas로 돌아와 요청한 Peering의 상태를 확인하면 Available로 바뀐 걸 확인할 수 있다.

5. AWS 라우팅 테이블에 피어링 ID 추가

AWS와 MongoDB Atlas 간 VPC Peering이 이루어졌기 때문에 AWS에서 MongoDB Atlas로 네트워크 통신이 가능하도록 라우팅 테이블에 생성된 피어링 ID를 추가해 준다.

5. MongoDB Atlas의 Network Access -> IP Access List에 Security Group 추가

Atlas에 IP Access List에는 AWS Security Group의 ID를 넣을 수 있다.

AWS에서 연결하려는 리소스의 Security Group ID를 확인하고 넣어주자

정상적으로 들어간 Security Group ID

그럼 AWS 리소스들이 Mongo DB에 정상적으로 연결된 걸 확인할 수 있다.

댓글