나의 공부기록

[AWS] 32. GateWay Load Balancer(GWLB) & Sticky Sessions(고정 세션) 본문

자격증/AWS

[AWS] 32. GateWay Load Balancer(GWLB) & Sticky Sessions(고정 세션)

나의 개발자 2025. 4. 10. 18:17

Gateway Load Balancer(GWLB) - Layer 3 보안 트래픽 처리용 Load Balancer

항목 설명
계층 Layer 3 (네트워크 계층 - IP 패킷)
기능 네트워크 보안 장비 트래픽 전달 및 로드 밸런싱
주요 목적 서드파티 보안 어플라이언스와 통합
➡️ 방화벽, IDS/IPS 등
프로토콜 GENEVE(Generic Network Virtualization Encapsulation) - 포트 6081 사용
타겟 그룹 EC2인스턴스 또는 사설 IP 주소

 

🔐어떤 보안 어플라이언스와 함께 사용하는가?

  • 방화벽(Firewall)
  • 침입 탐지/방지 시스템(IDS/IPS)
  • 딥 패킷 검사(DPI)
  • 패킷 조작 / 로깅 / 모니터링
  • NAT, 프록시 등

👉 트래픽을 EC2 기반 보안 장비(가상 어플라이언스)에 투명하게 전달 ➡️ 보안 정책 적용

 

구성 방식

구성 요소 설명
GWLB 단일 진입점 역할 수행
트래픽을 자동으로 보안 장비들에 분산
Target Group EC2 인스턴스(보안 장비) 또는 사설 IP 대상
라우팅 테이블 VPC 라우팅 테이블에서 GWLB로 트래픽을 리디렉션
GENEVE 터널 GWLB ↔️ 보안 인스턴스 간 트래픽 캡슐화 및 전달

 

GWLB🆚 NLB 🆚 ALB 비교

항목 GWLB NLB ALB
OSI 계층 Layer 3 Layer 4 Layer 7
주요 용도  보안/네트워크 장비 TCP/UDP 처리 HTTP/HTTPS 앱
특징 GENEVE 터널, 투명 트래픽 처리 고정 IP 지원, 초저지연 URL 라우팅, 컨테이너 지원
타겟 그룹 EC2, 사설 IP(보안 장비) EC2, ALB, IP EC2, ECS, Lambda

Sticky Sessions(Session Affinity)

  • 동일한 사용자가 항상 같은 백엔드 인스턴스에 연결되도록 해주는 기능
  • 사용이유
    • 세션 유지 - 사용자 데이터를 같은 인스턴스에 계속 유지하도록 해줌
    • 로그인 상태 유지 - 사용자가 다시 로그인하지 않아도 됨
    • 사용자 경험 향상 - 세션 데이터가 리셋되지 않음 
  • 작동 방식
    • 로드 밸런서 또는 애플리케이션에서 생성된 쿠키를 기반으로 사용자를 특정 인스턴스에 고정
    • 쿠키에는 만료 시간을 설정할 수 있음

✅ 지원하는 로드 밸런서

로드 밸런서 종류 스티키 세션 지원 여부
Classic Load Balancer(CLB) 지원
Application Load Balancer(ALB) 지원
Network Load Balancer(NLB) 지원(TCP 기반에서 제한적으로 사용됨)

 

🍪 쿠키 종류

쿠키 유형 생성 주체 쿠키 이름 특징
Application-based 쿠키 애플리케이션 직접 지정 타겟 그룹마다 개별 지정
Application 쿠키 로드 밸런서 AWSALBAPP ALB가 자동 생성
Duration-based 쿠키 로드 밸런서 AWSALB(ALB)/AWSELB(CLB) 설정한 기간 동안 고정됨

⚠️AWSALB, AWSALBAPP, AWSALBTG는 AWS에서 사용하는 예약된 이름이라 커스텀 쿠키명으로 사용하면 안 됨

 

 단점(Trade-offs)

문제점 설명
로드 불균형 특정 인스턴스에 사용자가 몰릴 수 있음
스케일링 저해 자동 확장 시, 균등한 분산이 어려워질 수 있음
장애 시 세션 손실 고정된 인스턴스가 죽으면 세션도 날아갈 수 있음