Search
Duplicate

AWS 로드밸런서

Created time
2023/07/24 18:39
Last edited time
2023/08/09 08:18
Status
Done
tag

들어가기에 앞서

참고한 자료를 바탕으로 비전문가가 정리한 글이므로 오류가 있을 수 있습니다.
오류에 대한 지적 사항은 언제든지 환영합니다. 부디 댓글로 알려주시길 바랍니다. 감사합니다.

로드 밸런서란?

AWS의 로드 밸런싱은 “밸런싱”이라는 이름 답게 클라우드 환경에서 여러 대의 서버에 들어오는 트래픽을 균형있게 분산시켜주는 서비스이다. 로드 밸런서는 바로 이런 로드 밸런싱을 수행하면서, 모든 리소스 서버가 동등하게 사용되도록 하는 조력자 역할을 하는 장치라고 할 수 있다.
로드 밸런싱의 작동 원리는 애플리케이션에 대한 사용자 요청이 먼저 로드 밸런서로 이동한 후, 그런 다음 로드 밸런서는 요청을 처리하는 데 가장 적합한 서버 팜(farm)의 단일 서버로 각 요청을 라우팅한다.

로드 밸런서의 유형

Elastic Beanstalk의 환경 구성 중 로드 밸런서 유형 선택화면
1.
Application Load Balancer (ALB):
애플리케이션 수준에서의 로드 밸런싱을 지원하는 고급 로드 밸런서.
HTTP, HTTPS 프로토콜을 지원하며 URL 경로 및 호스트 기반 라우팅을 제공.
도커 및 Amazon ECS와 같은 컨테이너 기반 애플리케이션에 적합한 기능을 제공.
2.
Classic Load Balancer (CLB):
전통적인 로드 밸런서로 HTTP, HTTPS, TCP 등 다양한 프로토콜을 지원.
세션 관리 기능을 제공하여 사용자의 세션이 유지되도록 함.
여러 포트에서 트래픽을 받아 여러 인스턴스로 분산시킬 수 있음.
3.
Network Load Balancer(NLB):
IP 주소 및 기타 네트워크 정보를 검사하여 트래픽을 최적으로 리다이렉션 함. 애플리케이션 트래픽의 소스를 추적하고 여러 서버에 고정 IP 주소를 할당할 수 있음

로드 밸런싱의 이점

1.
고가용성과 신뢰성 향상: 로드 밸런싱은 여러 대의 서버에 트래픽을 분산시키기 때문에 한 대의 서버에 장애가 발생하더라도 다른 서버가 여전히 요청을 처리할 수 있음
2.
성능 향상: 로드 밸런싱을 통해 트래픽이 여러 서버로 분산되므로 각 서버에 가해지는 부하가 분산되어 전체적인 성능이 향상됨. 이로써 애플리케이션의 응답 시간이 단축되고 대량의 요청에도 효과적으로 대응할 수 있음.
3.
확장성: 로드 밸런싱은 서버의 수를 쉽게 확장하거나 축소할 수 있게 해줌. 새로운 서버를 추가하거나 기존 서버를 제거하여 애플리케이션의 요구 사항에 맞게 조절할 수 있음.
4.
자동화와 보안: 로드 밸런서는 자동으로 서버의 건강 상태를 모니터링하고 필요에 따라 트래픽을 분산하기에, 관리자는 서버의 상태를 주시하고 수동으로 트래픽을 조절하는 수고를 덜 수 있음. 또한, 다음 3가지의 특징으로 인해 Dos공격으로부터 방어가 용이함.
트래픽 모니터링 및 악성 콘텐츠 차단
공격 트래픽을 여러 백엔드 서버로 자동으로 리디렉션하여 영향 최소화
추가 보안을 위해 네트워크 방화벽 그룹을 통해 트래픽 라우팅

참고