Lined Notebook

[AWS] 01. NLB, ALB, LB 알고리즘 정리

by ymkim

AWS

https://no-easy-dev.tistory.com/entry/AWS-ALB%EC%99%80-NLB-%EC%B0%A8%EC%9D%B4%EC%A0%90

01. 로드 밸런서(Load Balancer)

 

ELB vs. ALB vs. NLB: Choosing the Best AWS Load Balancer for Your Needs - IOD - The Content Engineers

Load balancers are a ubiquitous sight in a cloud environment. As soon as you need high availability, you are likely to meet a load balancer in front of at least two instances of your app. AWS offers three types of load balancers, adapted for various scenar

iamondemand.com

로드 밸런서는 클라우드 환경에서, 고가용성이 필요한 두 개 이상의 인스턴스 앞에 있을 가능성이 높다. AWS는 Elastic Load Balancer, Network Load Balancer, Application Load Balancer 세 가지 유형을 LB를 제공한다

  • Load Balancer는 부하(Load) 분산(Balancing) 기술을 제공해주는 장치 혹은 기술을 의미한다
  • 이에 반해 Load Balancing인터넷 서비스에 트래픽이 많은 경우 해당 트래픽을 부하/분산 처리하여 트래픽이 특정 서버에 집중되지 않게 하는 기술
  • 이러한 LB(Load Balancing)는 OSI 7계층 중 어느 계층에서 동작하는지에 따라 구분이 된다
    • L7(응용 계층) : ALB(Application Load Balancer)
    • L4(전송 계층) : NLB(Netword Load Balancer)

01-1. 로드 밸런서(Load Balancer) 장점

 

[네트워크] L4 스위치 L7 스위치 차이, 스위치란? 로드밸런서란?

스위치(Switch)란? 네트워크에서 스위치(Switch)는 컴퓨터 네트워크에서 데이터를 전송하고 연결하는 장비를 뜻한다. 스위치는 OSI 모델의 2계층인 데이터 링크 계층에서 동작하며, 주로 이더넷(Ethern

code-lab1.tistory.com

  • 부하 분산 처리
    • 로드 밸런서는 서버로 들어오는 트래픽을 여러 서버로 균등하게 분산하여 서버의 부하를 분담한다
    • 이를 통해 서버의 부하 방지시스템 전체 성능 향상을 가져온다
  • 고가용성
    • 한 대의 서버에 장애 발생 → 다른 서버로 요청 전달
    • 이를 통해 시스템 가용성을 높일 수 있음
  • 확장성
    • 새로운 서버 추가 시 LB가 이를 감지하고 트래픽을 새로운 서버로 분산
    • 유연하고 확장 가능한 운영 가능

02. ALB(Application Load Balancer) vs NLB(Netword Load Balancer)란?

02-1. ALB(Application Load Balancer)

  • ALB는 L7 응용 계층(Application Layer)에서 작동하여 HTTP/HTTPS를 기반으로 트래픽을 처리한다
  • 복잡한 라우팅 결정(알고리즘 종류 중 하나라는데??) → 즉, 콘텐츠 기반 라우팅이 가능합니다(아래 2가지 라우팅 종류를 콘텐츠 기반 라우팅이라 말한다)
    • 호스트 기반 라우팅(Host-based Routing)
    • 경로 기반 라우팅 등(Path-based Routing)
      • 요청 URL 경로에 따라 트래픽 라우팅
      • /api → A Target Group
      • /blog → B Target Group
  • ALB고정 IP(static IP)제공하지 않음
    • Client에서는 ALB의 IP가 아닌, DNS 기반으로 접근 하는게 좋음
    • 고정 IP 사용하려면 NLB → ALB → Instance 구조를 사용 하거나 람다를 사용하는 방법도 존재하는 것 같다
  • ALB는 보안 그룹 지정 가능
  • ALB는 L7단을 지원하기 때문에 SSL 적용 가능
    • WAF + ACM(Amazon Certificate Manager) 조합

02-2. NLB(Network Load Balancer)

 

Network Load Balancer, 이제 보안 그룹 지원

이제 Network Load Balancer(NLB)가 보안 그룹을 지원함에 따라 NLB가 수락하고 애플리케이션으로 전달하는 트래픽을 필터링할 수 있습니다. 보안 그룹을 사용하여 NLB가 신뢰할 수 있는 IP 주소의 트래픽

aws.amazon.com

  • NLB는 L4(전송 계층)에서 작동하여 TCP/UDP를 기반으로 트래픽을 처리한다
  • NLB는 주로 속도성능에 중점을 둔 로드 밸런싱에 적합
  • NLB는 고정 IP(Static IP) 제공한다
    • Client에서는 NLB의 고정 IP를 지정하면 된다
  • NLB는 보안 그룹 지정 불가능
    • 원래는 불가능 하였는데 2023. 08. 10부터 가능하다고 한다, 위 공식 문서 참고
  • NLB는 L4단을 지원하기 때문에 SSL 적용 불가능
    • 어플리케이션 레벨에서 적용해야 함(Nginx → TLS/SSL 적용)

03. 로드 밸런싱 알고리즘이란?

 

Application Load Balancing, Network Load Balancing 및 Gateway Load Balancing - 로드 밸런싱 유형 간의 차이 - AWS

ALB는 유연한 애플리케이션 수준의 트래픽 관리 및 라우팅이 필요한 경우에 적합합니다. 마이크로서비스, 컨테이너화된 환경, 웹 애플리케이션에 가장 적합합니다. SSL 종료, 세션 지속성, 콘텐츠

aws.amazon.com

 

로드밸런서(Load Balancer)란? : AWS와 로드 밸런싱(Load Balancing) 개념 정리

Written by Hyojung Yoon 안녕하세요! 오늘은 다양한 IT 환경에서 중요한 역할을 하는 로드밸런서와 로드밸런싱에 대해 알아보려고 합니다. 이 기술은 트래픽이 몰리는 상황에서 사용자들에게 안정적

www.smileshark.kr

로드밸런싱에는 다양하 알고리즘이 사용된다. 또한 2가지 알고리즘으로 분류(정적, 동적)를 나눌 수 있다. 가장 흔한 알고리즘은 라운드 로빈과 IP 해시 방식이다.

03-1. 정적 로드 밸런싱

정적 알고리즘 ⇒ 고정된 규칙으로 동작

✅ 라운드 로빈 방식(Round Robin Method)

  • 클라이언트 요청여러 서버에 순차 배분하는 방식
  • 클라이언트 요청을 순서대로 분배하기 때문에 아래와 같은 경우가 활용하기 적합
    • 서버 스펙 동일한 경우
    • 클라이언트 → 서버 연결(세션) 지속 시간 짧은 경우

✅ 가중치 기반 라운드 로빈 방식(Weighted Round Robin Method)

  • 각 서버별가중치(weight)를 매기고, 가중치가 높은 서버에 클라이언트 요청을 먼저 배분
  • 서버들이 같은 스펙이 아니고, 특정 서버의 스펙이 좋은 경우 해당 서버에 가중치 적용 → 트래픽 처리량을 올릴 수 있음
    • 서버 A : 가중치(8) ⇒ 8개의 request 할당
    • 서버 B : 가중치(2) ⇒ 2개의 request 할당
    • 서버 C : 가중치(3) ⇒ 3개의 request 할당

✅ IP 해시 방식(IP Hash Method)

  • 로드밸런서클라이언트 IP 주소에 대해 해싱(수학적인 계산)을 수행
  • 클라이언트 IP 주소 → 숫자 변환 → 개별 서버에 매핑
  • 사용자 IP를 해싱하여 부하 분산하기에 사용자가 항상 동일한 서버로 연결되는 것을 보장

03-2. 동적 로드 밸런싱

동적 알고리즘 ⇒ 서버의 상태에 따라 반응

✅ 최소 연결 방식(Least Connection Method)

  • 최소 연결 방식은 연결수가 가장 적은 서버로 트래픽 전달
  • 모든 서버는 유사한 수준의 성능 스펙 필요

✅ 최소 응답시간 방식(Least Response Time Method)

  • 서버현재 연결 상태응답 시간고려, 가장 짧은 응답 시간을 보내는 서버로 트래픽 할당
  • 모든 서버의 리소스, 성능, 처리 데이터양이 다를 경우 적합

99. 참고 자료

 

AWS - ALB, NLB 비교

어떤 LB를 사용해야 할지 결정하기 위해, 각 LB가 각각 어떻게 다르고, 어떤 기능을 하며, 사용 비용이 어느정도로 예상 되는 지 정리해보기 위해 작성된다.Load Balancer는 Load(부하) Balancing(분산) 기

velog.io

 

AWS | ALB와 NLB 차이점

평소에 aws의 LB(Load Banlancer) 중 ALB(Application Load Balancer)와 NLB(Network Load Balancer)의 차이점으로는 통신하는 네트워크 계층의 차이정 도로 밖에 설명을 못하는 것 같아 이에 대한 내용을 공부해보려고

no-easy-dev.tistory.com

 

AWS ALB 도메인(호스트) 기반 라우팅 규칙 설정

AWS ALB사용 시 하나의 ALB로 여러 개의 도메인(서브도메인)을 처리해야 할 경우가 있다. 이럴 때 ALB의 Rule(규칙)에서 설정하는 방법을 알아본다. 먼저 ALB의 타켓이 되는 대상그룹과 ALB를 생성해둔

happy-jjang-a.tistory.com

 

Amazon ELB - ALB

※ 해당 블로그는 AWS에서 제공하는 설명서와 AWS Builders Online Series 강의를 듣고 개인적으로 공부한 내용을 정리한 블로그입니다. ALB(Application Load Balancer) OSI 모델의 7계층(애플리케이션 계층)에서

roykeum1998.tistory.com

 

Application Load Balancer란 무엇입니까? - Elastic Load Balancing

Application Load Balancer란 무엇입니까? Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산합니다. 등록된 대상의 상

docs.aws.amazon.com

블로그의 정보

기록하고, 복기하고

ymkim

활동하기