[AWS] Auto Scaling이란 무엇인가?

양진혁·2022년 3월 23일
0

AWS

목록 보기
7/14

Auto Scaling이란 무엇인가?

아마존에서 정의하는 Auto Scaling

AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지한다. AWS Auto Scaling을 이용하면 몇분만에 손쉽게 여러 서비스 전체에서 여러 리소스에 대해 애플리케이션 규모 조정을 설정할 수 있다.

EC2 Auto Scaling의 목표

  • 최소한의 인스턴스 사용(금액 절약)
  • 원하는 만큼의 인스턴스 개수를 목표로 유지(안정성)
  • 최대 인스턴스 개수 이하로 인스턴스 유지(금액 절약)
  • Availability Zone(AZ)에 골고루 분산될 수 있도록 인스턴스 분배(안정성)
  • 항상 서비스가 유지될 수 있는 인스턴스 확보(안정성)

이처럼 비용, 안정성을 적절하게 조합해서 서비스를 만들어 내야 한다.

EC2 Auto Scaling 구성

  • Launch Configuration(무엇을 어떻게 실행시킬 것인가?) / 시작 템플릿(Launch Template)
    • EC2 타입, 사이즈
    • AMI
    • Secret Group, Key, IAM(일종의 권한 매니징 시스템)
    • User Data(EC2가 실행될 때 초기에 실행시키는 행위의 집합)
  • Monitoring(언제 실행시킬 것인가? + 상태학인)
    • ex: CPU 점유율이 일정 %을 넘을 경우 추가로 실행 하는 경우, 2개 이상이 필요한 스택에서 EC2 하나가 죽었을 때
    • Cloud Watch ELB와 연계
  • Desired Capacity: 얼마나 실행시킬 것인가?
    • ex: 최소 1개 ~ 최대 3개
  • Lifecycle Hook: 인스턴스 시작/종료시 콜백
    • 다른 서비스와 연계하여 전/후처리 가능 -> Cloud Watch Event(람다실행)/SNS/SQS
    • Terminating: wait / Terminating:proceed 상태로 전환
    • 기본 3600초 기다림

    Reference

    https://www.youtube.com/c/AAAWS/videos

0개의 댓글