코드스테이츠_국비교육/[Section4]

77.02_[Cloud] 서버 수평 확장_로드 밸런서, 오토스케일링_22.12.09

생각없이 해도 생각보다 좋다. 2022. 12. 9. 16:06

>서버 과부하를 방지하는 수평 확장 종류

1. 스케일업
: 서버의 물리적인 부품을 기존보다 고사양으로 바꾸는 작업
: 고성능으로 서버 과부하를 방지
: 하지만 최고 사양으로 맞춘 서버임에도 이를 뛰어넘는 수의 요청이 들어온다면 과부하걸림

2. 스케일아웃
: 서버의 갯수를 여러 개로 늘리는 작업
: 여러 서버로 요청을 나누어 받아 서버 과부하를 방지


>로드 밸런서
: 여러 서버로 나누어 전달할 요청들을 교통 정리하는 기술(혹은 프로그램)


>로드 밸런서 구분 기준
: 어떤 계층에서 무엇을 바탕으로 교통 정리를 하는지에 따라 종류가 나뉨


>로드 밸런서 종류

-L2 : 데이터 전송 계층에서 Mac 주소를 바탕으로 로드 밸런싱 
-L3 : 네트워크 계층에서 IP 주소를 바탕으로 로드 밸런싱
-L4 : 전송 계층에서 IP주소와 Port를 바탕으로 로드 밸런싱
-L7 : 응용 계층에서 클라이언트의 요청을 바탕으로 로드 밸런싱 (예, 엔드포인트)


>오토 스케일링
: 클라이언트의 요청의 수의 따라 서버를 스케일아웃 방식으로 자동으로 증설하고, 감축하는 일을 하는 기능
: AWS에서 EC2 Auto-Scaling 이라는 이름으로 서비스를 제공하고, 다른 클라우드 서비스에서도 비슷한 이름으로 서비스를 제공함.


>오토 스케일링 장점(AWS)

-동적 스케일링
: 서버의 수 제한 없이 필요에 따라 서버를 동적으로 스케일링(스케일업+스케이다운) 할 수 있음.

-타겟 트래킹
: 특정 타겟을 설정하여 오토 스케일링을 할 수 있음. (설정한 타겟에 맞춰 EC2 인스턴스 수 조정)

-헬스 체크와 서버 플릿 관리
: EC2 인스턴스(서버)의 이상 유무 상태(헬스 상태)를 자동으로 체크하고 문제가 발생하면 문제가 발생한 만큼의 서버 인스턴스를 추가하는 방식으로 관리

//서버 플릿(Server Fleet)
: 애플리케이션을 실행하는 서버 집합을 의미


>EC2 Auto Scailing 활용

1. 시작 템플릿(Launch Configuration)구성
: 어떤 서버를 사용하는지, 어떤 유형의 인스턴스를 생성할 지 등에 대한 정보

2. Auto Scaling 그룹 생성
: 시작 템플릿이 정보를 담는 구성이었으면, Auto Scaling 그룹은 인스턴스 생성과 삭제와 같은 동작에 대한 규칙을 정함.

3. Scaling 유형
-인스턴스 레벨 유지
-수동 스케일링
-일정별 스케일링
-동적 스케일링