Elastic Load Balancing

Siwoo Pak·2021년 10월 5일
0

AWS

목록 보기
14/15

Elastic Load Balancing

  • 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소등 여러 대상에 걸쳐 수신되는 트래픽을 자동 분산.
  • 등록된 대상의 상태를 모니터링하면서 상태가 양호한 대상으로만 트래픽을 라우팅
  • 수신 트래픽이 시간이 지남에 따라 변경됨에 따라 로드 밸런서를 확장함.
  • 대다수의 워크로드에 맞게 자동 조정 가능.

이점

  • 워크로드를 가상 서버와 같은 다수의 컴퓨팅 리소스로 분산함
  • 로드 밸런서를 사용하면 애플리케이션의 가용성과 내결함성이 높아짐.
  • 애플리케이션에 대한 요청의 전체적인 흐름을 방해하지 않고 필요에 따라 로드 밸런서에서 컴퓨팅 리소를 추가 및 제거할 수 있음
  • 로드 밸런서가 정상적인 대상에만 요청을 보내도록 컴퓨팅 리소스의 상태를 모니터링하는 상태 확인을 구성할 수 있음.
  • 또한, 컴퓨팅 리소스가 주요작업에 집중할 수 있도록 암호화 및 복화 작업을 로드밸런서로 오프로드 가능

종류

  • Application Load Balancers
    • 개방형 시스템 간 상호 연결(OSI) 모델의 일곱 번째 계층인 애플리케이션 계층에서 작동.
    • 요청을 받으면 우선 순위에 따라 리스너 규칙을 평가하여 적용할 규칙을 결정한 다음, 규칙 작업의 대상 그룹에서 대상을 선택.
    • 기본 라우팅 알고리즘은 라운드 로빈(RR).
  • Network Load Balancers
    • 오픈 시스템 상호 연결(OSI) 모델의 네 번째 계층에서 작동. - 초당 수백만 개의 요청을 처리가능.
    • 로드 밸런서가 연결 요청을 받으면 기본 규칙의 대상 그룹에서 대상을 선택.
    • 리스너 구성에 지정된 포트에서 선택한 대상에 대한 TCP 연결을 열려고 시도.
    • 로드 밸런서에서 가용 영역을 활성화하면 Elastic Load Balancing이 해당 가용 영역에서 로드 밸런서 노드를 생성.
    • 기본적으로 각 로드 밸런서 노드는 해당 가용 영역의 등록된 대상에만 트래픽을 분산.
    • 교차 영역 로드 밸런싱을 활성화하면 각 로드 밸런서 노드가 활성화된 모든 가용 영역에 있는 등록된 대상 간에 트래픽을 분산
  • Gateway Load Balancers
    • 방화벽, 침입 탐지 및 방지 시스템, 심층 패킷 검사 시스템 같은 가상 어플라이언스를 배포, 확장 및 관리할 수 있음.
    • 투명한 네트워크 게이트웨이(즉, 모든 트래픽에 대한 단일 진입점과 종료점)를 결합하고 트래픽을 분산하는 동시에 가상 어플라이언스를 수요에 따라 조정.
  • Classic Load Balancer

특징

  • 보안
    • Amazon Virtual Private Cloud(VPC)를 사용할 경우 로드밸런싱과 관련된 보안 그룹을 생성 및 관리하여 Application Load Balancer 및 Classic Load Balancer를 위한 추가 네트워킹 및 보안 옵션을 제공가능
    • 원하는 로드밸런서를 인터넷과 연결되도록 구성하거나 퍼블릭 IP주소 없이 로드 밸런서를 생성하여 인터넷 연결되지 않은 내부 로드 밸런서로 사용 가능
  • 고가용성
    • 수신되는 트래픽을 단일 가용 영역 또는 여러 가용 영역의 Amazon EC2 인스턴스 전체에 걸쳐 배포할 수 있음
    • 수신되는 애플리케이션 트래픽에 대응하여 요청 처리 용량을 자동으로 조정
    • 대상이 사용 가능하고 정상 상태이진 확인하기 위해 Elastic Load Balancer는 구성 가능한 케이던스로 대상에 대해 상태확인을 실행
  • 높은 처리량
    • 트래픽 증가를 처리할 수 있도록 설계되었으며 초당 수백만 개의 요청을 로드 밸런싱할 수 있음
    • 갑작스럽고 변동이 심한 트래픽 패턴도 처리가능
  • 상태확인
    • EC2 인스턴스, 컨테이너, IP주소, 마이크로서비스, Lambda 함수, 어플라이언스 등 정상 상태인 대상으로만 트래픽을 라우팅함
    • 로드 밸런싱을 사용하면 두 가지 방식으로 애플리케이션 상태에 대한 통찰력을 개선할 수 있음
    • 첫째, 상태 확인 개선을 통해 상세한 오류 코드를 구성 가능. 상태확인을 통해 로드 밸런서 뒤에서 각 서비스의 상태를 모니터링 할 수 있음
    • 둘째, 새로운 지표로 EC2 인스턴스에서 실행되는 각 서비스의 트래픽을 파악 가능
  • 고정 세션
    • 요청한 동일한 클라이언트에서 도일한 대상으로 라우팅하는 매커니즘.
    • Elastic Load Balancer는 고정세션을 지원
    • 고정성은 대상 그룹 수준에서 정의됨
  • 운영 모니터링 및 로깅
    • Amazon CloudWatch가 Application Load Balancer와 Classic Load Balancer에 대해 요청 횟수, 오류 횟수, 오류 유형, 요청 지연 시간 등의 지표를 보고.
    • 또한 Amazon CloudWatch는 Network Load Balancer와 Gateway Load Balancer에 대해 활성 플로우 수, 새 플로우 수, 처리된 바이트 등의 지표를 추적.
    • Elastic Load Balancer는 ELB에 대한 API 호출을 추적하는 AWS CloudTrail과도 통합됨.
  • 삭제 방지
    • 삭제 방지를 활성화하여 우발적 삭제를 방지할 수 있음.

기타

profile
'하루를 참고 인내하면 열흘을 벌 수 있고 사흘을 참고 견디면 30일을, 30일을 견디면 3년을 벌 수 있다.'

0개의 댓글