1. 개요
- 클라우드 네트워크 환경에서 퍼블릭 서브넷과 프라이빗 서브넷의 외부 연결을 제어하기 위해 NAT Gateway와 Internet Gateway를 활용함
- 두 Gateway 모두 외부와의 통신을 지원하지만, 목적과 사용 위치가 상이함
- NAT Gateway는 프라이빗 리소스의 아웃바운드 인터넷 접근을 허용하는 반면, Internet Gateway는 퍼블릭 리소스에 대한 완전한 인터넷 연결을 제공함
2. Internet Gateway(IGW)의 정의 및 역할
- VPC(Virtual Private Cloud)와 인터넷 간 양방향 통신을 가능하게 하는 AWS 리소스임
- IGW는 퍼블릭 서브넷에 위치한 EC2 인스턴스 등이 퍼블릭 IP 혹은 엘라스틱 IP(EIP)를 통해 인터넷과 통신할 수 있도록 중계함
- 인터넷으로부터 수신되는 인바운드 트래픽도 허용 가능함 (적절한 보안 그룹, NACL 설정 필요)
주요 역할
① 퍼블릭 IP가 부여된 리소스에 대해 인바운드/아웃바운드 트래픽을 라우팅함
② VPC 외부와의 양방향 연결을 보장함
③ 서브넷 라우팅 테이블에서 0.0.0.0/0
경로에 IGW가 지정되어 있어야 작동함
3. NAT Gateway의 정의 및 역할
- 프라이빗 서브넷에 위치한 리소스가 아웃바운드 인터넷 통신만 가능하도록 중계하는 네트워크 장치임
- 외부로 나가는 요청에 대해서는 NAT Gateway의 퍼블릭 IP를 이용해 인터넷에 요청하고, 응답을 내부 리소스로 전달함
- 인바운드 인터넷 요청은 거부되어 외부에서 직접 접속 불가함
주요 역할
① 프라이빗 서브넷에 위치한 EC2 인스턴스가 인터넷에 접근 가능하도록 함
② 외부에서의 직접적인 인바운드 연결은 차단함
③ 보안성과 프라이버시 보호 목적의 핵심 컴포넌트로 작용함
④ 탄력적이고 고가용성으로 운영되며, AZ(Avalability Zone) 단위로 배포 가능함
4. 트래픽 흐름의 비교
구분 | Internet Gateway | NAT Gateway |
---|---|---|
대상 서브넷 | 퍼블릭 서브넷 | 프라이빗 서브넷 |
인바운드 트래픽 | 허용 (보안 설정 필요) | 비허용 (직접 접속 불가) |
아웃바운드 트래픽 | 허용 (인터넷 전용) | 허용 (인터넷 통신 가능) |
퍼블릭 IP 필요성 | 인스턴스에 퍼블릭 IP 또는 EIP 필요 | NAT Gateway에 퍼블릭 IP가 존재함 |
라우팅 설정 | 서브넷의 라우팅 테이블에서 IGW로 설정 | 프라이빗 서브넷의 라우팅 테이블에 NAT GW 설정 |
통신 방식 | EC2 <-> IGW <-> 인터넷 | EC2 -> NAT GW -> IGW -> 인터넷 -> NAT GW -> EC2 |
보안성 | 직접 노출되어 공격 가능성 존재 | 내부만 허용되어 상대적으로 안전함 |
5. 아키텍처 내 활용 시나리오 비교
- 퍼블릭 웹서버 구성 시
→ 퍼블릭 서브넷에 EC2 배치 + IGW 설정 + 보안 그룹 오픈 - 내부 DB/백엔드 서버가 외부 업데이트 필요 시
→ 프라이빗 서브넷에 EC2 배치 + NAT Gateway 사용 + 아웃바운드 허용만 설정 - 하이브리드 아키텍처 구성 시
→ 인터넷 통신은 IGW / 보안이 중요한 내부 리소스는 NAT GW 기반 통신으로 분리 운용함
6. 보안 및 비용 고려 사항
- IGW는 외부로부터 공격 벡터가 될 수 있어 보안 그룹 및 NACL을 정교하게 설계해야 함
- NAT Gateway는 인바운드가 차단되어 침입 경로 최소화 가능
- NAT Gateway는 데이터 처리량 기준 과금이 적용되므로 비용 효율성 고려 필요
- IGW는 AWS에서 무료로 제공되나, NAT GW는 리전 및 처리량에 따라 과금됨
7. 결론
- Internet Gateway와 NAT Gateway는 각각 퍼블릭/프라이빗 서브넷의 트래픽 흐름 제어에 필수적인 컴포넌트로 기능함
- 목적, 보안성, 트래픽 방향, 과금 방식 등 다양한 요소를 고려하여 상황에 맞는 게이트웨이를 적절히 선택하는 것이 클라우드 아키텍처 설계의 핵심 전략임
'IT Study > 시스템 인프라 및 네트워크' 카테고리의 다른 글
⚙️ 클라우드 vs 온프레미스: 기업 인프라 전략 선택의 기준은 무엇인가? (0) | 2025.04.22 |
---|---|
⚙️ 가상 머신 스냅샷과 컨테이너 이미지 버전 관리 전략 비교 (0) | 2025.04.22 |
⚙️ IPv6 주소 자동 설정(SLAAC, DHCPv6)의 방식 차이 (0) | 2025.04.20 |
⚙️ 파일 디스크립터(File Descriptor)와 리소스 관리 기초 (1) | 2025.04.19 |
⚙️ UDP Hole Punching 기법을 이용한 NAT 우회 구조 이해 (1) | 2025.04.18 |