[Architecting on AWS] Load Balancer

Created
Nov 17, 2023
Created by
Tags
AWS
Property
 
 

ELB (Elastic Load Balancer)

  • 여러 대상 자동으로 트래픽 분산
  • 고가용성 제공
  • 보안 기능 통합 (로드 밸런서에 SG 적용 → 로드밸런서 SG 통해 내부 리소스 보안 유지 가능)
 

ALB (Application Load Balancer)

  • application layer (HTTP, HTTPS) 에서 작동한다.
  • HTTP 헤더 정보를 가지고 트래픽을 분산한다. (분산 알고리즘은 기본적으로 라운드 로빈 사용. 알고리즘은 target group 에서 변경 가능.)
  • SSL 인증서를 탑재하여 컴퓨팅 리소스 대신에 요청의 복호화 / 응답의 암호화를 수행할 수 있다.
 

NLB (Network Load Balancer)

  • transport layer 에서 작동한다.
  • HTTP 헤더를 해석하지 못하고 클라이언트 아래 정보를 해싱한 결과로 트래픽을 분산한다. → 동일한 클라이언트에서 온 요청이라고 해도 클라이언트에서 열린 TCP socket 의 포트번호가 달라지기 때문에 매번 요청이 다른 target 으로 갈 수 있다.
    • 클라이언트 IP
    • 클라이언트에서 열린 TCP socket 포트번호
    • 로드밸런서 IP
    • 로드밸런서에서 열린 TCP socket 포트번호
    • TCP 패킷의 sequence number
  • 지연시간이 ALB 에 비해 짧다.
  • internal 서비스를 클라이언트로 하면서 대용량 트래픽 처리 필요하면 NLB 으로 분산처리..
  • 타겟의 헬스체크를 포트번호가 열려 있는지 확인 하는 방식으로만 가능.

Gateway LB

  • network layer 에서 작동
  • 패킷 캡쳐 & 분석에 주로 사용
 
 

Auto Scaling

auth-scaling 에 필요한 것
  • launch template (트래픽이 늘어나서 컴퓨팅 리소스를 새로 만들어야 할 때 템플릿을 가지고 리소스 생성.)