Azure

[Azure] VNet 구성시 Inbound(LB), Outbound(NAT)구성방법과 기술구조/네트워크 흐름 이해

chaenii 2025. 8. 21. 17:23

Azure 가상 네트워크(VNet)에서 외부 트래픽을 처리할 때는 인바운드(Load Balancer)와 아웃바운드(NAT Gateway) 구성을 명확히 분리하는 것이 핵심입니다. 또한 대규모 워크로드에서는 방화벽 성능 한계를 고려해 방화벽과 NAT Gateway를 분리 배치하는 패턴이 권장됩니다.

 

요약

  • Inbound: Azure Load Balancer (Standard)
    • Frontend IP Configuration. Backend Pool, Health Probe(HTTP/HTTPS 권장), Load Balancing Rule, Outbound Rule(선택)
  • Outbound: Azure NAT Gateway, Load Balancer의 Outbound rules(대안)

1. 인바운드(Inbound): Load Balancer / Instance-level Public IP

트래픽 흐름

  • 인터넷 → Standard LB Frontend IP Configuration → Health Probe로 확인된 정상 Backend Pool 인스턴스에 분산

시험 포인트

  • 헬스 프로브는 TCP가 아니라 HTTP/HTTPS Health Probe로 앱 상태까지 검증해야 함
  • Health Probe Source IP(168.63.129.16) - NSG 허용 필요

📖 참고: Azure Load Balancer 개요


2. 아웃바운드(Outbound): NAT Gateway

  • VM/Pod → NAT Gateway → SNAT 변환 → 인터넷

구성 요소

  • Public IP Address
    • 단일 Public IP 가능
    • 최대 16개까지 NAT Gateway에 연결 가능 (SNAT Port 확장 목적)
  • Public IP Prefix
    • Public IP들을 하나의 Prefix 단위로 할당 가능 → 예측 가능한 범위 제공
  • SNAT Port
    • 1 Public IP = 64,512 SNAT Ports
    • 최대 1M+ SNAT Ports 확보 가능
  • Subnet Association
    • 1개의 Subnet → 1개의 NAT Gateway만 연결 가능
    • 여러 Subnet이 동일한 NAT Gateway를 공유하는 것은 가능

필요성

  • SNAT Port Exhaustion 방지: 대규모 세션 환경에서 포트 고갈 방지
  • 배포 방식: Subnet + 최소 1개 Public IP와 연결 → 즉시 아웃바운드 통신 가능 (라우팅 추가 불필요).
  • 우선순위: 기존 Outbound 설정(Load Balancer, Instance-level Public IP)이 있어도 NAT Gateway가 우선 적용됨.
  • Private Link / Service Endpoint 활용: PaaS 트래픽을 인터넷 경유하지 않게 구성 → SNAT Port 소모 절감

제약 사항

  • Virtual WAN Hub에서는 지원 안 됨
  • Public IP는 반드시 Microsoft Global Network Routing이어야 함 (Internet Routing Preference 불가)
  • Zone은 배포 시 지정, 배포 후 변경 불가

📖 참고: Azure NAT Gateway 디자인 가이드


3. 방화벽 성능 문제와 NAT 분리

  • Azure Firewall
    • 백엔드 VMSS 인스턴스 1개당, 공용 IP 주소당 2,496개의 SNAT 포트 제공
    • 최대 250개의 공용 IP 연결 가능
  • NAT Gateway
    • 공용 IP 1개당 64,512 SNAT 포트 제공
    • 최대 16개의 공용 IP 주소와 연결 가능

👉 대규모 아웃바운드 연결 시 Azure Firewall만으로 부족할 수 있으므로, NAT Gateway와 통합하여 확장성 있는 아웃바운드 연결을 제공.

아키텍처

 

  • Hub VNET: Firewall + NAT Gateway 배치
  • Spoke VNET: 애플리케이션 워크로드 배치
  • VNET Peering을 통해 Spoke → Hub → NAT Gateway 경유하여 아웃바운드 인터넷 연결
  • vWAN(Azure에서 제공하는 매니지드 네트워크 서비스) 아키텍처에서는 Hub VNET에서 NAT Gateway 사용 불가 → Spoke VNET에 직접 배치해야 함

 

Internet
   │
   ▼
[ Hub VNet ]
   ├─ Azure Firewall / NAT Gateway
   ├─ VPN Gateway / ExpressRoute
   │
   └─ VNet Peering
        ├─ Spoke VNet A (Web)
        ├─ Spoke VNet B (App)
        └─ Spoke VNet C (DB)
  • 허브-스포크 아키텍처 (Hub-Spoke Topology)
    • 인바운드 트래픽: 인터넷 → Hub (방화벽/보안 검사) → Spoke 워크로드 전달
    • 아웃바운드 트래픽: Spoke → Hub Firewall (보안 정책/로깅) → NAT Gateway (SNAT 처리) → 인터넷
  • 역할 분리
    • Firewall: 보안 검사(Threat Protection, Logging)
    • NAT Gateway: 대규모 SNAT Offloading

📖 참고: Integrate NAT Gateway with Azure Firewall

 


4. 설계 체크리스트

✅ 인바운드 = Standard Load Balancer (Frontend IP, Backend Pool, Health Probe)
✅ 아웃바운드 = NAT Gateway (Public IP, SNAT Port, Subnet Association)
✅ 대규모 워크로드 = Firewall + NAT GW 조합 (보안/성능 분리)
✅ DR/허브 스포크 = NAT Gateway로 아웃바운드 IP 통제


5. 시험 포인트 요약

  • Load Balancer Health Probe는 HTTP/HTTPS로 앱 상태 확인 (TCP만 쓰면 불완전)
  • NAT Gateway는 아웃바운드 연결 우선 적용 (LB Outbound보다 우선)
  • Firewall + NAT Gateway 결합 → Firewall은 보안, NAT는 SNAT 담당
  • SNAT Port 고갈 방지 → NAT Gateway 권장

 

반응형