본문 바로가기

AWS

AWS 오토 스케일링(Auto-Scaling) 개념과 종류

오토스케일링(Auto-Scaling)

 

Scale-Out 방식으로 서버를 증설할 때 자동으로 서버(리소스)를 관리해주는 기능. 클라이언트의 요청이 많아져 서버의 처리 요구량이 증가하면 새 리소스를 자동으로 추가하고 반대로 처리 요구량이 줄어들면 리소스를 감소시켜 적절한 분산 환경을 만들어줍니다.

Auto Scaling의 장점

  • 동적 스케일링: 사용자의 요구 수준에 따라 리소스를 동적으로 스케일링. 스케일 업 할 수 있는 서버의 수에는 제한이 없고, 필요한 경우 서버 두 대에서 수백 ~ 수만 대의 서버로 즉시 스케일 업 할 수 있습니다.
  • 로드 밸런싱: 다수의 EC2 인스턴스에게 워크로드를 분배하는 기능. 사용자가 정의한 규칙에 따라 워크로드를 효과적으로 관리 할 수 있습니다.
  • 타겟 트래킹: 사용자는 특정 타겟에 대해서만 Auto Scaling을 할 수 있으며, 사용자가 설정한 타겟에 맞춰 EC2 인스턴스의 수를 조정합니다.
  • 서버 헬스 체크와 *서버 플릿 관리: EC2 인스턴스의 헬스 체크 상태를 모니터링. 헬스 체크를 하는 과정에서 특정 인스턴스의 문제가 감지되면, 자동으로 다른 인스턴스로 교체 합니다. 어떤 기업의 애플리케이션이 6대의 EC2 서버에서 실행 중일 때 6대 서버에 대한 헬스 체크 상태를 모니터링 하다가 특정 서버에 문제가 생기면 즉시 대응 조치를 할 수 있습니다. 

*서버 플릿(Server Fleet): 일련의 EC2 서버 집합.

 

EC2 Auto Scaling

Launch Configuration

Auto-Scaling 시작 템플릿 사용

시작 템플릿을 통해 AMI 상세 정보, 인스턴스 타입, 키 페어, 시큐리티 그룹 등 인스턴스 오토스케일링 정책을 결정할 수 있습니다.사용할 AMI의 ID, 인스턴스 유형, 키 페어, 보안 그룹 등의 정보를 포함시켜서 시작 구성을 생성합니다.

Auto Scaling 그룹(Group) 생성

Auto Scaling 그룹은 스케일업 및 스케일 다운 규칙의 모음으로 EC2 인스턴스 시작부터 삭제까지의 모든 동작에 대한 규칙과 정책을 담고 있습니다. 스케일링 정책과 유형 숙지가 필요합니다.

Scaling 유형

  • 인스턴스 레벨 유지: 기본 스케일링 계획. 항상 실행 상태를 유지하고자 하는 인스턴스의 수를 지정. 일정한 수의 인스턴스가 필요한 경우 최소, 최대 및 원하는 용량에 동일한 값을 설정.
  • 수동 스케일링: 기존 Auto Scaling 그룹의 크기를 수동으로 변경. 수동 스케일링을 선택하면 사용자가 직접 콘솔이나, API, CLI 등을 이용해 수동으로 인스턴스를 추가 또는 삭제 필요(비추천).
  • 일정별 스케일링: 시간대별 스케일링 트래픽 패턴을 파악하거나 예측할 수 있는 경우 사용.
  • 동적 스케일링: 수요 변화에 대응하여 Auto Scaling 그룹의 용량을 조정하는 정책을 정의. CloudWatch가 모니터링 하는 지표를 추적하여 경보 상태일 때 수행할 스케일링 규칙을 정합니다. 예를 들어 CPU 처리 용량의 80% 수준까지 급등한 상태가 5분 이상 지속될 경우 Auto Scaling이 작동돼 새 서버를 추가하는 방식입니다. 이와 같은 스케일링 정책을 정의 할 때는 항상 스케일 업과 스케일 다운 두 가지의 정책을 작성해야 합니다.

'AWS' 카테고리의 다른 글

로드 밸런서(Load Balancer) 개념  (0) 2022.08.09
VPC(Virtual Private Cloud) 개념  (0) 2022.08.09
AWS(Amazon Web Service)의 주요 서비스 EC2, RDB, S3  (0) 2022.08.03