[Cloud] AWS Auto Scaling

hanser0204·2022년 3월 27일
2

AWS Auto Scaling

애플리케이션을 모니터링하고 용량을 자동으로 조정하여 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지하도록 도와준다.

AWS Auto Scaling 종류

EC2 Auto Scaling
DDB Auto Scaling
Spot Fleet Auto Scaling
Aurora Auto Scaling
ECS Auto Scaling

EC2 Auto Scaling의 목표

저렴한 비용으로 안정적으로 유지하는 것

  • 저렴한 비용
    최소한의 인스턴스 사용
    최대 인스턴스 개수 이하로 인스턴스 유지

  • 안정성
    원하는 만큼의 인스턴스 개수를 목표로 유지
    Availability Zone에 골고루 분산되도록 인스턴스 분배
    항상 서비스가 유지될 수 있는 인스턴스를 확보

EC2 Auto Scaling의 구성

  • type, size
  • AMI
  • Security Group, Key, IAM
    IAM: 특정 요소들이 AWS의 다른 어떤 서비스를 활용할 수 있고 어떤 권한이 가능한지, 어떤 액션이 가능한 지를 정의해주는 일종의 권한 managing 시스템
  • User Data
    User Data: EC2가 실행될 때 자동으로 서버를 구성하고 원하는 동작을 하기 위한 최소한의 구성요건을 갖춰야 하는 Action들을 가능하게 만들어준다.

조건

  • ex) cpu 점유율에 따른 Instance 개수 조정
  • Cloud Watch / ELB 서비스 사용

Life Cycle Hook

  • Instance가 시작되거나 종료되었을 때의 call-back
  • 다른 서비스와 연계되어 전후 처리 가능
  • CloudWatch event 발생(lambda 실행), SNS, SQS
  • Instance가 실행/생성/종료 직전 Life Cycle Hook 실행 * Instance가 유예 시간 (3600초 = 1시간)
  • terminating wait/proceed

Auto Scaling의 순서도

  • launch configration / Desired Capacity / ELB / Cloud Watch 등 condition setup
  • monitoring : instance 개수, cpu, connection등 condition에 부합하는가
  • if not condition : instance 개수 조절
  • Life Cycle Hook 실행

실습

결과

  • Auto Scaling 그룹 생성

  • 크기 변경 1 -> 2 로 진행했다.

☁️ 참고자료

AutoScaling 개념 강의

AutoScaling 실습 강의

profile
🦮 - 마법의소라고동님 저는 성공한 사람이 될까요? \n 🐚 - 그럼!

0개의 댓글