로드밸런싱과 오토 스케일링

BirdsOnTree·2023년 1월 31일
0

Other

목록 보기
4/4
post-thumbnail

로드밸런싱의 필요
아무리 성능이 뛰어난 서버라도 모든 트래픽을 감당할 수는 없다. 이에 기업들은 서버를 추가하고 여러대의 서버에 동일한 데이터를 저장해서 수많은 트래픽을 효괒거으로 분산하게 됐다.
하지만 다수의 서버를 구축했다고 해서 모든 클라이언트의 요청에 일관성 있게 응답하기 힘들었고, 쏟아지는 트래픽을 여러대의 서버로 분산해주는 기술이 없다면 결국에는 한 곳의 서버에 트래픽이 몰리게 된다.

로드밸런서란

로드밸런서는 서버에 가해지는 부하를 분산해주는 장치 또는 기술을 말한다.
클라이언트와 서버풀(분산 네트워클르 구성하는 서버들의 그룹) 사이에 위치하며, 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 보일 수 있도록 해준다.

클라이언트의 수가 늘어남에 따라 트래픽도 증가하고 이에 대처할 수 있는 방법은 크게 2가지로 나뉜다.

Scale-up의 경우 서버 자체의 성능을 확장하는것을 의미한다.
Scale-out의 경우 기존 서버와 동일하거나 낮은 성능의 서버를 두 대 이상 증설하여 운영하는것을 의미한다. 이 방식으로 서버를 증설하게 되면 여러대의 트래픽을 균등하게 분상해주는 로드밸런싱이 반드시 필요하다.

오토 스케일링
오토스케일링은 클라우드의 유연성을 돋보이게 하는 핵심 기술로 CPU, 메모리, 디스크, 네트웍 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링 하여 서버 사이즈를 자동으로 조절한다. 이를 통해 사용자는 예상치 못한 서비스 부하에 효과적으로 대응하고 비용 절감 효과를 볼 수 있다.

보편적으로 metric이란 우리가 대시보드를 볼때 특정 수치들을 그래프로 보여주는 일종의 시각화. CPU사용량, 시간당 데이터 처리량, 분당 네트워크 속도 등등의 것을 우리가 보고 현재 파이프라인에서 알맞게 잘 돌아가고 있는지 확인 가능

AWS의 서비스의 예

Amazon EC2 오토 스케일링을 사용하면 애플리케이션의 로드를 처리할 수 있는 정확한 수의 인스턴스를 유지할 수 있다.

오토 스케일링이라는 EC2 인스턴스 모음을 생성합니다. 각 오토 스케일링의 최소 인스턴스 수를 지정할 수 있으며, 오토 스케일링에서는 그룹의 크기가 이 값 아래로 내려가지 않는다.

원하는 용량을 지정한 경우 그룹을 생성한 다음에는 언제든지 오토 스케일링에서 해당 그룹에서 이만큼의 인스턴스를 보유할 수 있다.

예를 들어, 다음 오토 스케일링의 경우 최소 인스턴스 수 1개, 원하는 인스턴스 용량 2개, 최대 인스턴스 수 4개가 된다. 사용자가 정의한 조정 정책에 따라 인스턴스 수가 최소 및 최대 인스턴스 수 내에서 지정하는 조건에 따라 조절된다.

0개의 댓글