Search

ELB

대분류
DevOps/Tool
소분류
AWS
유형
트래픽 분산 로드 밸런싱 서비스
주요 레퍼런스
https://aws.amazon.com/ko/architecture/
https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/userguide/what-is-load-balancing.html
속성
네트워크 서비스
최종 편집 일시
2025/01/21 13:39
생성 일시
2024/09/28 00:45
13 more properties

ELB

Elastic Load Balancing
애플리케이션이나 웹 서비스에서 트래픽을 효율적으로 분산해주는 AWS의 완전관리형 서비스
사용자가 많은 시스템에서 서버 한 대만으로는 안정적으로 트래픽을 처리하기 어려울 때, 여러 대의 서버로 부하(Load)를 나누어주는 핵심 역할을 수행한다.
이를 통해 서버 장애로 인한 서비스 중단을 방지하고, 트래픽 증가 상황에서도 안정적인 서비스 확장이 가능해진다.
사용자가 특정 도메인으로 접근하면, ELB가 적절한 대상에게 트래픽을 분산하여 서비스 장애나 과부하를 최소화한다. 이를 통해 서버 리소스 사용을 효율적으로 관리하고, 고가용성(High Availability)을 확보한다.

주요 기능 및 특징

자동 확장(Auto Scaling)과 연계

트래픽 증가에 맞춰 서버 개수를 동적으로 늘리고,
트래픽 감소 시에는 서버를 줄이는 방식으로 비용 최적화가 가능하다.

고가용성(High Availability)

여러 대의 서버를 묶어 하나의 로드 밸런서가 관리하기 때문에, 특정 서버에 장애가 발생하더라도 다른 서버로 트래픽이 자동 분산되어 서비스 중단을 예방할 수 있다.

유연한 트래픽 분산

HTTP, HTTPS, TCP, UDP 등 다양한 프로토콜 기반 트래픽을 처리
특히 애플리케이션 로드 밸런서는 7계층(애플리케이션 레벨)에서 요청 패턴에 따라 정교한 라우팅이 가능하다.

보안 기능

SSL/TLS 종료(Offloading), AWS Certificate Manager 연계 등을 통해 암호화 트래픽도 쉽게 처리할 수 있다.
또한 AWS WAF(웹 방화벽)와 연계하면 보안 정책을 적용하는 데 유리하다.

애플리케이션 모니터링 및 로깅

Amazon CloudWatch, AWS CloudTrail 등의 서비스를 통해 메트릭과 로그를 수집해 시스템 상태를 모니터링할 수 있다.
이를 통해 트래픽 추이를 분석하고 장애를 빠르게 파악할 수 있다.

ELB 작동 방식

종류별 ELB 설명

Classic Load Balancer (CLB)

가장 오래된 방식
OSI 모델의 4계층(전송 계층)과 7계층(애플리케이션 계층)을 모두 다룰 수 있으나, 최근에는 ALB나 NLB 사용이 권장되는 추세다.

Application Load Balancer (ALB)

HTTP/HTTPS 트래픽 처리에 특화된 7계층 로드 밸런서다. 호스트 기반 라우팅이나 경로 기반 라우팅 등의 정교한 트래픽 분산이 가능하다.
마이크로서비스 아키텍처와 컨테이너 환경에서 더욱 유용하다.

Network Load Balancer (NLB)

네트워크 레벨(4계층)에서 트래픽을 분산하며, 초당 수백만 건의 요청도 처리할 수 있을 정도로 고성능이다.
TCP/UDP 기반의 애플리케이션에 적합하다.

Gateway Load Balancer (GWLB)

주로 방화벽, 침입 방지 시스템(IPS), 침입 방지 서비스(IDS) 등의 네트워크 보안 서비스 트래픽을 처리하기 위한 로드 밸런서
높은 트래픽 규모에서도 안정적인 분산 처리 및 보안 제어가 가능하다.

교차 영역 로드 밸런싱

로드 밸런서의 노드는 클라이언트로부터 요청을 가져와서 등록된 대상에 분산한다.
교차 영역 로드 밸런싱을 활성화하면 각 로드 밸런서 노드가 활성화된 모든 가용 영역에 있는 등록된 대상 간에 트래픽을 분산한다.
교차 영역 로드 밸런싱을 비활성화하면 각 로드 밸런서 노드가 해당 가용 영역에 있는 등록된 대상 간에만 트래픽을 분산한다.
위 다이어그램은 기본 라우팅 알고리즘으로서 라운드 로빈이 포함된 교차 영역 로드 밸런싱의 효과를 보여 준다.
라운드 로빈: 작업이나 요청을 순환하며 하나씩 처리하는 방식의 알고리즘 다음과 같은 원리를 지니고 있다.
순환 분배
주어진 요청을 순서대로 각 대상에게 하나씩 할당한다.
마지막 대상에 요청이 전달되면 다시 첫 번째 대상으로 돌아간다.
공정성(Fairness)
모든 대상이 동일한 양의 요청을 처리하도록 보장한다.
어떤 대상도 지나치게 요청을 많이 받거나 적게 받지 않는다.
활성화된 2개의 가용 영역이 있는데 가용 영역 A에는 2개의 대상이 있고 가용 영역 B에는 8개의 대상이 있다.
클라이언트는 요청을 보내며, Amazon Route 53은 로드 밸런서 노드 중 하나의 IP 주소를 통해 각 요청에 응답.
라운드 로빈 라우팅 알고리즘에 따라 트래픽이 분산되므로 각 로드 밸런서 노드가 클라이언트가 보낸 트래픽의 50%를 수신하도록 트래픽이 분산된다.
각 로드 밸런서 노드는 공유 트래픽을 해당 범위의 등록된 대상에만 분산한다.
교차 영역 로드 밸런싱이 활성화된 경우 각 10개의 대상이 트래픽의 10%를 수신한다.
→ 각 로드 밸런서 노드가 클라이언트 트래픽의 50%를 10개의 대상 모두에게 라우팅할 수 있기 때문
비활성화 한 경우

사용 시 고려사항

1.
로드 밸런서 유형 선택
HTTP/HTTPS 프로토콜 기반 라우팅이 많은 웹 애플리케이션은 ALB가 유리하고, 네트워크 레벨에서의 빠른 성능이 필요하다면 NLB를 고려하는 식으로 서비스 특성에 맞게 선택해야 한다.
2.
Target Health Check
로드 밸런서가 대상 서버의 정상 작동 여부를 모니터링한다.
Health Check가 실패한 서버는 트래픽 분산 대상에서 제외하고, 서버가 회복하면 다시 추가한다.
3.
보안 설정
HTTPS를 사용하는 경우, 인증서를 AWS Certificate Manager로 쉽게 관리할 수 있다.
AWS WAF를 이용해 방화벽 룰을 적용해 보안 레이어를 강화할 수 있다.
4.
비용
클라이언트 요청의 처리량, 사용한 시간(시간 단위 요금), 데이터 전송량 등에 따라 비용이 청구된다.
잘못된 설정이나 지나친 트래픽 유입을 막기 위해 모니터링과 비용 관리를 병행해야 한다.