Search

#EC2 Auto Scaling

 EC2 Auto Scaling

애플리케이션의 수요에 따라 EC2 인스턴스를 자동으로 확장하고 축소하는 기능
사용자가 정의한 조정 정책에 따라 인스턴스 수가 증가 되거나 축소됨
서버의 로드가 증가하면 EC2 인스턴스 개수 추가 (Scale Out)
서버의 로드가 감소하면 EC2 인스턴스 개수 감소 (Scale In)
이점
애플리케이션의 수요에 EC2를 자동으로 확장 및 축소하므로 비용 절감 및 수동으로 EC2 용량을 프로비저닝해야할 필요가 없음
손상된 Amazon EC2 인스턴스를 탐지하고 Auto Scaling 이 자동으로 교체
여러 가용 영역을 사용하도록 EC2 Auto Scaling을 구성하여 하나의 가용 영역이 사용 불가 상태가 되면 다른 가용 영역에서 새 인스턴스를 시작

 구성 요소

오토스케일링 그룹
EC2의 인스턴스의 그룹
시작 템플릿 (런치 템플릿)
EC2 서버를 시작하기 위한 AMI, 인스턴스 유형 정보를 가진 템플릿
조정 옵션 (조정 정책)
Auto Scaling을 실행하기 위한 조건

 조정 정책

항상 현재 인스턴스 수준 유지 관리
지정된 수의 실행 인스턴스를 항상 유지하도록 Auto Scaling 그룹을 구성
인스턴스가 비정상 상태임을 확인하면 해당 인스턴스를 종료한 다음 새 인스턴스를 시작
수동 조정
최대, 최소 또는 원하는 용량의 변경 사항만 지정하는 경우 사용
일정을 기반으로 조정
확장 작업이 시간 및 날짜 함수에 따라 자동으로 수행됨
예, 매주 일요일에는 인스턴스 4대, 다른 요일에는 2대 실행
온디맨드 기반 조정
수요 변화에 맞춰 Auto Scaling 그룹의 크기를 동적으로 조정
예, CPU 사용량을 50%기준으로 하고 사용량 기준에 따라 EC2 인스턴스 수를 증가하거나 감소
예측 조정 사용 ( Predictive Scaling )
머신러닝을 사용하여 CloudWatch의 기록 데이터를 기반으로 용량 필요량을 예측

 동적 조정 (Dynamic Scaling)

대상 추적 조정 ( Target Tracking Scaling )
지정한 지표가 목표값을 초과할 때 한해서 Auto Scaling 그룹을 확장하는 방식
예, CPU 사용률 목표값을 50%로 설정한 후 Auto Scaling 그룹이 목표값을 초과하면 EC2 인스턴스 증가
CPU 평균 사용률, 네트워크 인터페이스에서 송/수신한 평균 바이트 수 , 로드발란서 요청 수 등의 지표 사용 가능
단계 조정 ( Step Scaling )
CloudWatch alarm의 지표를 기반으로 Auto Scaling 그룹을 확장하는 방식
예, CPU 사용률이 60% 초과하면 Auto Scaling Group 10% 또는 2개 증가 CPU 사용률이 30%이하면 Auto Scaling Group 10%또는 2개 감소
크기 조정 활동이 시작된 후 정책은 크기 조정 활동 또는 상태 확인 교체가 완료 되고 휴지 기간 (Cooldown Period)이 끝날 때까지 기다린 후 추가 경보에 응답
단순 조정 (Simple Scaling)
CloudWatch alarm의 지표를 기반으로 Auto Scaling 그룹을 확장하는 방식
예, CPU 사용률이 60%초과하면 Auto Scaling Group 10% 또는 2개 증가 CPU 사용률이 30% 이하면 Auto Scaling Group 10% 또는 2개 감소
크기 조정 활동 또는 상태 확인 교체가 진행 중인 동안에도 정책이 추가 경보에 계속 응답