Elastic Load Balancing

iamyoungbin·2024년 8월 28일

본 포스트는 AWS Certified Solutions Architect Associate 시험합격! 를 참고하여 작성되었습니다.

Load Balancing

요청받은 트래픽을 다운스트림 EC2 인스턴스 혹은 백엔드 서버들로 분산하는 기능

  • 애플리케이션에 단일 액세스 지점을 제공한다.
  • 인스턴스의 상태를 확인할 수 있다. (로드 밸런서가 상태 확인 매커니즘으로 어떤 인스턴스로 트래픽이 전달되는지 확인하기 때문에)
  • SSL Accelator로서 작동하여 효율적인 HTTPS 네트워킹을 구축할 수 있다.
  • 클라우드 내에서 개인 트래픽과 공인 트래픽으로 분리하여 관리할 수 있다.

Health Check

로드 밸런서는 어떻게 인스턴스의 상태를 확인할 수 있을까?

로드 밸런서가 인스턴스가 정상적으로 동작하는지 확인하기 위해서 주기적으로 헬스 체크(Health Check)를 진행한다.

인스턴스의 특정 엔드포인트(ex. /health)로 요청을 날린 뒤에 인스턴스로부터 확인응답(200)이 날라오지 않으면 인스턴스의 상태가 비정상이라고 인식하고 해당 인스턴스로 트래픽을 전달하지 않는다.


로드 밸런서의 종류

  • Classic Load Balancer (CLB)
    HTTP, HTTPS, TCP, SSL와 secure TCP 프로토콜을 지원한다.
    다만, AWS에서는 해당 로드 밸런서의 사용을 권장하지 않음.
  • Application Load Balancer (ALB)
    HTTP, HTTPS와 WebSocket 프로토콜을 지원한다.
  • Network Load Balancer (NLB)
    TCP, TLS, secure TCP와 UDP 프로토콜을 지원한다.
  • Gateway Load Balancer (GWLB)
    OSI 3계층과 IP 프로토콜에서 작동한다.

로드 밸런서와 보안 그룹

일반적으로 로드 밸런서는 모든 사용자의 접근을 허가한다.
때문에 인바운드 소스는 0.0.0.0/0이고 일반적으로 HTTP나 HTTPS 프로토콜을 허용한다.

다만, 인스턴스의 경우 외부 접근이 아닌 로드 밸런서를 통한 접근만을 허용해야 한다.
따라서 인스턴스의 인바운드 소스는 주소값이 아닌 보안 그룹이 되어야 한다.
즉, 인스턴스의 보안 그룹과 로드 밸런서의 보안 그룹을 연결하여야 한다.

0개의 댓글