ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AWS] 강의노트 - (8) Amazon ELB 부하분산
    Environment(개발환경)/Infra(인프라) 2023. 7. 25. 03:39
    반응형

    AWS 강의 커리큘럼을 통해, 기본적인 사용법 학습과 경험을 취득하고자 수강을 시작했다!

    애초에 코딩하면서 수기노트를 한 적도 까마득하며, 글씨 쓰는것도 귀찮아하는 나이기에 포스팅으로나마 주요내용을 정리하며 강의를 들으려한다!

    - 강의 : CloudNet@와 함께하는 AWS 네트워킹 입문 (인프런 링크)

     

    CloudNet@와 함께하는 AWS 네트워킹 입문 - 인프런 | 강의

    AWS 클라우드 입문자를 대상으로, AWS 클라우드 네트워크 기초 지식을 따라하며 배우는 실습 기반의 입문 강의입니다., - 강의 소개 | 인프런

    www.inflearn.com

    * CloudNet@ 측에서 강의영상 및 자료 저작권이 있어, 최대한 내용이해를 도울 수 있는 사진으로 대체해보려고 합니다 😁😁


    ☁️ Amazon ELB

    Amazon ELB는 네트워크 부하 분산을 위한 AWS의 구성 요소이다.

    부하 분산이란, 동일한 목적을 수행하는 다수의 IT 자원에 대해 로드 밸런싱(Load Balancing, 트래픽 분산 전달) 하는 기능을 의미한다.

    사진과 같이 서비스는 여러 개의 서버로 구성된다. (단일 서버로 구성할 경우, 서버장애 시 리스크가 매우 큼)

    이 때, 로드 밸런서가 서버 앞단에 배치되어, 통신 가능한 서버를 판단하여 트래픽을 골고루 분산하는 역할을 수행하는 것이다.

    이를 위해서, 로드 밸런서는 주기적으로 서버가 통신 가능한지 확인하는 작업을 수행한다.

     

    - ELB 기능 및 구성요소

    ELB(Elastic Load Balancer)는 AWS에서 제공하는 로드 밸런싱 기능으로, 대상의 상태를 확인하고 트래픽을 분산 처리한다.

    ELB의 리스너트래픽을 받아서 분산시키며, 이 때 트래픽을 전달할 인스턴스들을 선정하는데 이를 대상 그룹 이라고 칭한다.

    • 대상 그룹 : 부하 분산 대상을 지정한 그룹. 이 대상(인스턴스) 에 대해 주기적으로 상태를 확인한다(Keep-Alive)
    • 리스너 : 부하 분산 처리를 위한 트래픽의 프로토콜과 포트번호를 정의하고, 대상 트래픽을 처리하는 규칙을 정의한다.

     

    - ELB 작동방식

    1. AWS의 Route 53 서비스에 해당하는 도메인으로 접근하면, 여기서 ELB #1, #2의 퍼블릭 IP로 번갈아가며 트래픽을 전달한다.
    2. 트래픽을 전달받은 ELB는 대상 그룹을 확인하여 트래픽을 분산시켜준다.
    3. 대상 그룹에 포함되는 EC2가 트래픽을 받는다.

     

    * 교차 영역 로드 밸런싱 (Cross-Zone Load Balancing)

     

    가용 영역 각각에 균등하게가 아닌, 가용 영역 내 위치한 대상 자원들 기준으로 균일한 비중으로 부하 분산

    Cross-Zone Load Balancing 비활성화
    Cross-Zone Load Balancing 활성화

    그림과 같이, 교차 영역 로드 밸런싱을 비활성화하면 각 가용영역에 50:50으로 트래픽이 전달되어, 자원이 적은 영역의 부하가 심해진다.

    그래서, 교차 영역 로드 밸런싱 활성화를 통해 가용영역에 트래픽이 동일하게 전달되어도, 내부적인 자원 용량에 따라 트래픽을 분산해준다.

     

     

    - 로드 밸런서 종류

    Amazon ELB의 로드 밸런서는 프로토콜 종류나 서비스 목적에 따라 4가지로 분류할 수 있다.

    • ALB(Application Load Balancer) : HTTP, HTTPS 트래픽을 부하 분산하는 OSI 7계층의 로드 밸런서
    • NLB(Network Load Balancer) : TCP, UDP 트래픽을 부하 분산하는 OSI 4계층의 로드 밸런서
    • CLB(Classic Load Balancer) : EC2-Classic 트래픽을 부하 분산하는 로드 밸런서. 현재는 잘 사용되지 않음
    • GWLB(Gateway Load Balancer) : AWS 자체 서비스가 아닌, 서드 파티 방화벽이나 어플라이언스로 트래픽을 부하 분산하는 로드 밸런서

    대표적으로 많이 사용되는 ALB와 NLB의 특징을 간단히 비교하면 아래와 같다.

    구분 ALB NLB
    OSI 계층 7계층 4계층
    프로토콜 HTTP, HTTPS TCP, UDP, TLS
    고급 라우팅 지원(HTTP 헤더 확인) 미지원
    처리 속도 느림(HTTP 정보까지 확인하므로) 빠름
    보안 그룹 보안 그룹 사용 보안 그룹 미사용
    교차 영역 LB 활성화(기본) 비활성화(기본)

    📎 출처

    - [ELB] AWS 공식문서 : https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html

    반응형
Designed by Tistory.