Edge–Ingress–App Gateway 계층 구조 정리

#Infra #IaaS #개념 #계층구조

[사용자]
   │
   ├─ DNS (Route 53)  ──────────────────────────────────────────► (도메인 해석)
   │
   ├─ Edge Network / Accelerator: AWS Global Accelerator ───────► (Anycast 고정 IP, 엣지 가속)
   │
   ├─ L4 Ingress (전송 계층): NLB ───────────────────────────────► (TCP/UDP, 고정 IP, 소스 IP 보존, mTLS 패스스루)
   │
   ├─ L7 Ingress (애플리케이션 계층): ALB ───────────────────────► (Host/Path 라우팅, HTTP/2/gRPC/WebSocket, TLS 종료)
   │
   ├─ App Gateway (서비스 앞 프록시): Nginx / HAProxy ──────────► (헤더/바디 가공, 캐시, 압축, rate-limit, 고급 라우팅)
   │
   └─ Services: ECS / EKS / EC2 / Lambda  ──────────────────────► (애플리케이션/마이크로서비스)

1. 먼저 머릿속에 넣을 “레이어 맵”

  • Edge(전세계 엣지): CloudFront, WAF, DNS(Route53/GA). CDN·DDoS·전역 라우팅.
  • L4 인그레스(전송 계층): NLB, (온프레미스면 L4 스위치). TCP/UDP, 고정 IP, 소스 IP 보존, mTLS 패스스루.
  • L7 인그레스(애플리케이션 계층): ALB. 호스트/경로 라우팅, HTTP/2·gRPC·WebSocket, 헬스체크, SSL 종료.
  • 앱 게이트웨이(서비스 앞 프록시): Nginx/HAProxy. 세밀한 헤더/리라이트, 캐시, 압축, rate-limit, 고급 라우팅.
  • 서비스(애플리케이션): ECS/EKS/EC2, Lambda 등.

이 레이어를 기준으로 “내가 필요한 기능이 어느 층의 책임인가?”를 먼저 결정하면 조합이 자연스럽게 고정돼.

2. 계층 구조

(1) Edge (전세계 엣지)

  • 구성 요소: Route 53(DNS), CloudFront(CDN), AWS WAF, Global Accelerator(GA)
  • 주요 역할:
    • DNS 기반 트래픽 분산
    • 전세계 CDN 캐싱 및 가속
    • WAF를 통한 보안 필터링 (DDoS 방어 포함)
    • GA를 통한 Anycast 기반 고정 IP 제공, 엣지 레벨 트래픽 최적화

(2) L4 인그레스 (전송 계층)

  • 구성 요소: AWS NLB(Network Load Balancer), 온프레미스 L4 스위치
  • 주요 역할:
    • TCP/UDP 트래픽 분산 (애플리케이션 레벨까지 해석하지 않음)
    • 고정 IP 제공 → 방화벽 화이트리스트, 금융권/보안 규제에 필수
    • 소스 IP 보존 (보안 로깅에 유리)
    • TLS Passthrough 및 mTLS 지원

(3) L7 인그레스 (애플리케이션 계층)

  • 구성 요소: AWS ALB(Application Load Balancer)
  • 주요 역할:
    • HTTP/HTTPS/gRPC/WebSocket 지원
    • 호스트 기반 라우팅: api.example.com, shop.example.com
    • 경로 기반 라우팅: /api/*, /static/*
    • SSL 종료 (ACM 인증서 연동)
    • 헬스 체크 및 트래픽 분산
    • Lambda 타깃 직접 호출 가능 → 서버리스 환경 지원

(4) App Gateway (서비스 앞 프록시)

  • 구성 요소: Nginx, HAProxy
  • 주요 역할:
    • 세밀한 헤더/쿠키/바디 가공
    • 캐싱 (정적/동적)
    • 압축, TLS 세부 설정
    • 정교한 라우팅 (테넌트별, 버전별 라우팅)
    • Rate limiting, 보안 규칙 강화

(5) Service (애플리케이션)

  • 구성 요소: ECS, EKS, EC2, Lambda
  • 주요 역할: 실제 비즈니스 로직 처리 (웹 앱, API, 마이크로서비스 등)

3. 대표적인 패턴

  1. ALB 단독
Client → Route53/WAF → ALB → ECS/EKS/EC2/Lambda
  • 단순하고 관리형.
  • 표준 웹서비스 대부분에 적합.
  1. ALB → Nginx/HAProxy
Client → ALB → Nginx/HAProxy → App
  • 복잡한 URL 리라이트, 세밀한 헤더/바디 변조, 고급 캐싱/압축이 필요한 경우.
  1. NLB → ALB
Client → NLB(고정 IP) → ALB(L7 라우팅) → App
  • ALB 단독으로는 고정 IP 제공 불가 → NLB로 보완.
  • 금융, 보안 규제 환경에 적합.
  1. CloudFront(+WAF) → ALB
Client → CloudFront(+WAF) → ALB → App
  • 글로벌 사용자 대상, CDN 가속 + 보안 강화 필요할 때.

4. 기술 비교 (Nginx / HAProxy / NLB / ALB)

구분NginxHAProxyNLBALB
출발 목적웹 서버 + 리버스 프록시로드밸런서 전용L4 관리형 LBL7 관리형 LB
지원 계층L7 (HTTP 중심)L4+L7L4 (TCP/UDP)L7 (HTTP/HTTPS/gRPC/WebSocket)
정적 파일 서빙가능불가능불가능불가능
로드밸런싱 알고리즘기본적 (Round Robin 등)매우 다양 (응답시간 기반 등)제한적제한적
헬스 체크기본 수준고급 지원내장 (AWS 관리)내장 (AWS 관리)
SSL 종료지원지원Passthrough/Termination지원 (ACM 연동, 자동 관리)
운영 방식직접 운영직접 운영AWS 관리형AWS 관리형
장점다재다능, Ingress Controller초고성능 LB고정 IP, 초저지연HTTP L7 특화, 서버리스 연동
단점직접 운영 필요직접 운영, 학습곡선L7 불가고정 IP 불가

5. 결론

  • Edge는 글로벌 트래픽 분산/보안을 책임진다.
  • NLB는 네트워크 계층(L4)에서 고정 IP, 초저지연, 비-HTTP 트래픽을 다룬다.
  • ALB는 애플리케이션 계층(L7)에서 HTTP 기반 라우팅을 처리한다.
  • Nginx/HAProxy는 애플리케이션 앞단에서 세밀한 제어/고급 기능을 제공한다.

Comments

💬 Sign in with GitHub to leave a comment. Comments are public and stored in GitHub Discussions.