Cloud Architecture

L4와 L7

백셀건전지 2022. 6. 16. 22:02

Load Balancer

  • traffic을 받아 여러 대의 서버에 분산시키는 기능을 하는 하드웨어 or 소프트웨어
  • L4와 L7이 통용됨. L4부터 port를 다룰 수 있기 때문
  • 주요 기능
    1. Network Address Translation: 사설 IP를 공인 IP로 바꿈
    2. Tunneling: 데이터를 캡슐화하여 연결되어진 노드만 그 데이터의 캡슐을 풀어서 볼 수 있게 해줌
    3. Dynamic Source Routing protocol(DSR): 요청에 대한 응답을 할 때 로드밸런서가 아닌 클라이언트의 IP로 응답

L4 Load Balancer

  • Transport 계층을 사용
  • IP, Port를 기준으로 스케줄링 알고리즘을 통해 부하를 분산
  • 요청하는 서비스의 종류와 상관 없이 최적의 서버로 요청을 전송하고 결과를 return
  • 주로 Round Robin 방식

L7 Load Balancer

  • Application 계층을 사용
  • IP, Port 외에도 URI, Payload, Http reader, Cookie 등의 내용을 기준으로 부하 분산
  • Contents 기반 switching
  • 가볍고 작은 단위로 여러 개의 서비스를 운영하고 요청을 각각의 서버에 분산할 수 있음
  • 데이터를 분석해서 처리가 가능, 악의적이나 비정상 컨텐츠 감지해 보안 지점을 구축 가능 but 자원 소모 큼

Load Balalcing Failover

  • 장애를 위한 이중화 구성
  • 평소에는 active LB로, 장애 발생시에는 standby상태의 LB로 연결

성능 관련 용어

  1. 초당 연결 수(Connections per second)
    • 하나의 TCP 연결은 클라이언트 - 서버 간 3-way handshake 동작.
    • TCP 세션을 열고 닫는 작업은 L4 레벨의 기본 세션 관리 핵심
    • L4의 포워딩 엔진 부분에 많은 작업량을 요하는 작업으로, L4 네트워크 기계나 커널의 성능에 따라 좌우됨
  2. 동시 연결수 (Concurrent connections)
    • TCP 세션을 유지할 수 있는 수치. 초당 연결수와 다른 점은 일시적 동작이 아닌 연결 유지.
  3. 처리 용량 (Throughput)
    • L4 스위치에 병목 현상이 걸리지 않도록 방화벽보다 높은 성능으로 선정되어야 함

AWS의 부하 분산

  1. ALB(Application Load Balancer)
    • L7 부하 분산
    • listen: HTTP, HTTPS, gRPC / target: IP, Instance, Lambda
    • default
  2. NLB(Network Load Balancer)
    • L4 부하 분산
    • listen: TCP, UDP, TLS / target: IP, Instance
    • 탁월한 성능
  3. GLB(Gateway Load Balancer)
    • L3, L4 부하 분산
    • listen: IP / target: IP, instance
  4. CLB(Classic Load Balancer)
    • L4, L7 부하 분산
    • listen: TCP, TLS, HTTP, HTTPS
    • 현재는 거의 사용하지 않음

 

 

 

 

'Cloud Architecture' 카테고리의 다른 글

Control Tower Troubleshooting  (0) 2022.11.11
Service Mesh  (0) 2022.06.17
CAP 이론, ACID, Eventual Consistency VS Strong Consistency  (0) 2022.06.16
Proxy / Forward Proxy / Reverse Proxy  (0) 2022.06.15
TCP, UDP, TCP Window Size  (0) 2022.06.15