AWS Load Balancer 종류 ALB, NLB, GWLB 비교 및 이해

AWS(Amazon Web Services)는 클라우드 컴퓨팅 서비스를 제공하는 플랫폼으로, 다양한 애플리케이션과 웹 서비스를 운영하기 위한 솔루션을 제공합니다. 그 중에서도 Elastic Load Balancing(ELB) 서비스는 애플리케이션 트래픽을 여러 서버에 효율적으로 분산시켜 고가용성과 안정성을 유지하는 데 큰 역할을 합니다.

AWS에서 제공하는 Load Balancer는 주로 Application Load Balancer(ALB), Network Load Balancer(NLB), Gateway Load Balancer(GWLB)로 구분됩니다. 이번 글에서는 이들 각각의 Load Balancer에 대해 자세히 알아보고, 그 차이점과 활용 방법을 비교하겠습니다.

썸네일

Elastic Load Balancing(ELB)의 개요

AWS 로드 밸런서

Elastic Load Balancer는 AWS의 로드 밸런싱 서비스로, 클라우드 환경에서 애플리케이션을 운영할 때 발생하는 트래픽을 여러 대상 서버에 분산시키는 역할을 합니다. 이를 통해 각 서버에 대한 부하를 조절하고, 특정 서버에 트래픽이 몰리는 것을 방지하여 서비스의 안정성을 높입니다.

ELB는 다음과 같은 기능을 제공합니다.

  • 트래픽 분산: 클라이언트의 요청을 여러 EC2 인스턴스나 컨테이너로 분산시켜서 부하를 고르게 나눕니다.
  • 헬스 체크: 서버의 상태를 모니터링하여 문제가 발생한 인스턴스에 트래픽을 보내지 않도록 합니다.
  • SSL Offloading: SSL 인증서를 ELB에서 관리하여 백엔드 서버의 부하를 줄입니다.
  • 오토 스케일링 통합: 오토 스케일링과 함께 사용하여 서버의 수를 자동으로 조절합니다.

ELB는 크게 세 가지 유형으로 나눌 수 있습니다. ALB, NLB, GWLB.

Load Balancer 유형 주 프로토콜 레이어 특징
Application Load Balancer (ALB) HTTP/HTTPS OSI 7 Layer (Application) 지능형 라우팅, HTTP 헤더 기반 분배
Network Load Balancer (NLB) TCP/UDP OSI 4 Layer (Transport) 높은 성능, EIP 지원
Gateway Load Balancer (GWLB) IP OSI 3 Layer (Network) 보안 장비와 통합, 트래픽 검사

Application Load Balancer (ALB)

ALB 기능

Application Load Balancer는 OSI 모델의 7계층에서 작동하는 로드 밸런서입니다. ALB는 HTTP 및 HTTPS 트래픽을 처리하며, 주로 웹 애플리케이션에 최적화되어 있습니다.

ALB의 가장 큰 특징은 지능형 라우팅 기능입니다. 이는 HTTP 요청의 헤더 정보를 바탕으로 어떤 대상 그룹으로 트래픽을 분배할지를 결정할 수 있도록 해줍니다.

ALB의 주요 기능

  1. 지능형 라우팅: ALB는 URL 경로, HTTP 헤더, 쿼리 문자열 등을 기반으로 요청을 처리할 수 있습니다. 예를 들어, /user 경로로 오는 요청은 사용자 관리 서버로, /shop 경로로 오는 요청은 쇼핑 서버로 보낼 수 있습니다.

  2. 컨테이너 지원: ALB는 Amazon ECS(Elastic Container Service)와 통합되어, 각 컨테이너에 대한 부하 분산을 지원합니다. 이는 마이크로서비스 아키텍처를 구현하는 데 유리합니다.

  3. WebSocket 및 HTTP/2 지원: ALB는 WebSocket과 HTTP/2를 지원하여, 보다 효율적인 통신이 가능합니다. 이는 특히 실시간 애플리케이션에서 유용하게 사용됩니다.

  4. 고정 세션: ALB는 사용자의 세션을 특정 인스턴스에 고정시킬 수 있는 기능을 제공하여, 사용자가 로그인한 상태를 유지할 수 있도록 합니다.

ALB의 특징 설명
지능형 라우팅 URL, 헤더, 쿼리 문자열 기반 라우팅
컨테이너 지원 Amazon ECS와 통합, 마이크로서비스 아키텍처 지원
WebSocket 및 HTTP/2 지원 실시간 통신에 적합
고정 세션 사용자 세션 유지 기능

ALB의 활용 사례

ALB는 주로 웹 애플리케이션, API 서비스, 모바일 백엔드 등에서 사용할 수 있습니다. 예를 들어, 쇼핑몰 웹사이트에서 사용자가 상품을 검색할 때, 검색 요청을 ALB가 처리하고, 해당 요청을 상품 데이터베이스와 연결된 서버로 보낼 수 있습니다.

이를 통해 사용자는 빠르고 원활한 서비스를 경험할 수 있습니다.

다른 내용도 보러가기 #1

Network Load Balancer (NLB)

트래픽 분산

Network Load Balancer는 OSI 모델의 4계층에서 작동하는 로드 밸런서로, TCP 및 UDP 프로토콜을 사용하여 트래픽을 처리합니다. NLB는 높은 성능을 요구하는 애플리케이션에 적합합니다.

NLB의 주요 기능

  1. 고성능: NLB는 초당 수백만 건의 요청을 처리할 수 있으며, 낮은 레이턴시를 제공합니다. 이는 고성능 애플리케이션에 매우 유리합니다.

  2. 유연한 IP 주소 관리: NLB는 Elastic IP(EIP)를 지원하여, 고정된 공인 IP 주소를 사용할 수 있습니다. 이는 DNS 변경 없이도 IP 주소를 안정적으로 유지할 수 있는 장점이 있습니다.

  3. TCP/UDP 지원: NLB는 TCP뿐만 아니라 UDP 트래픽도 처리할 수 있습니다. 이는 VoIP, 게임 서버와 같은 실시간 트래픽을 처리하는 데 유리합니다.

  4. 서브넷 및 가용 영역: NLB는 여러 가용 영역에 걸쳐 분산되어 운영될 수 있어, 장애 발생 시에도 서비스 연속성을 유지할 수 있습니다.

NLB의 특징 설명
고성능 초당 수백만 건의 요청 처리, 낮은 레이턴시
유연한 IP 관리 EIP 지원으로 고정 IP 주소 사용
TCP/UDP 지원 VoIP, 게임 서버에 적합
서브넷 및 가용 영역 장애 발생 시 서비스 연속성 보장

NLB의 활용 사례

NLB는 실시간 트래픽을 처리해야 하는 애플리케이션에 적합합니다. 예를 들어, VoIP 서비스나 게임 서버에서는 높은 성능과 낮은 지연 시간이 중요하므로 NLB를 활용하여 안정적인 서비스를 제공할 수 있습니다.

Gateway Load Balancer (GWLB)

지능형 라우팅

Gateway Load Balancer는 OSI 모델의 3계층에서 작동하는 로드 밸런서로, 보안 장비와의 통합을 통해 트래픽을 검사하고 관리할 수 있도록 합니다. GWLB는 방화벽, 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS) 등과 함께 사용됩니다.

GWLB의 주요 기능

  1. 트래픽 검사: GWLB는 네트워크 트래픽을 검사하여 보안 장비를 통해 필터링할 수 있습니다. 이를 통해 악성 트래픽을 차단하고, 네트워크 보안을 강화할 수 있습니다.

  2. 유연한 배포: GWLB는 다양한 VPC에 걸쳐 배포할 수 있어, 중앙 집중식 보안 관리가 가능합니다.

  3. 투명한 트래픽 흐름: GWLB는 ‘Bump-in-the-Wire’ 형태로 작동하여, 트래픽 흐름을 변경하지 않고 보안 검사를 수행할 수 있습니다.

GWLB의 특징 설명
트래픽 검사 네트워크 트래픽을 보안 장비를 통해 검사
유연한 배포 다양한 VPC에 걸쳐 배포 가능
투명한 흐름 트래픽 흐름을 변경하지 않고 보안 검사

GWLB의 활용 사례

GWLB는 보안이 중요한 애플리케이션에 적합합니다. 예를 들어, 금융 서비스나 의료 데이터 처리와 같이 민감한 정보를 다루는 서비스에서 GWLB를 활용하여 트래픽을 검사하고 보안을 강화할 수 있습니다.

결론

AWS의 Load Balancer는 각각의 특성과 기능에 따라 다양한 애플리케이션 환경에서 활용될 수 있습니다. ALB는 지능형 라우팅과 HTTP/HTTPS 트래픽을 처리하는 데 강점을 가지고 있으며, NLB는 고성능을 요구하는 TCP/UDP 기반의 애플리케이션에 적합합니다.

GWLB는 보안 장비와 통합하여 네트워크 트래픽을 검사하고 관리하는 역할을 합니다. 이러한 Load Balancer를 적절히 활용함으로써 AWS 환경에서의 서비스 안정성과 보안을 강화할 수 있습니다.

관련 영상

같이 보면 좋은 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다