AWS

[AWS] EC2 Autoscaling

caporatang 2026. 4. 4. 19:59
반응형

Auto scaling

AWS Auto Scaling은 애플리케이션을 자동으로 모니터링하고 리소스를 조정해, 비용 효율적으로 안정적이고 예측 가능한 성능을 유지하며 서비스 전반의 규모를 쉽게 확장·축소할 수 있게 해주는 기능이다.

EC2 Auto Scaling의 목적

  • 그룹의 최소 인스턴스 숫자 및 최대 인스턴스 숫자 
    • 최소 숫자 이하로 내려가지 않도록 인스턴스 숫자를 유지 (인스턴스 추가)
    • 최대 숫자 이상 늘어나지 않도록 인스턴스 숫자 유지 (인스턴스 삭제)
  • 다양한 스케일링 정책 적용
    • 다양한 스케일링 정책
      • 예: CPU의 부하에 따라 인스턴스 크기를 늘리기
      • 예: 특정 시간에 인스턴스 개수 늘리고 다른 시간에 줄이기 
  • 가용 영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스를 분배

EC2 Auto Scaling의 구성 

시작 구성(launch configurations) / 시작 템플릿 (launch template): 무엇을 실행시킬 것인가?

  • EC2의 유형, 크기 
  • AMI, 보안 그룹, Key, IAM 역할
  • 유저 데이터(EC2 실행 시 실행할 자동 스크립트)
  • 기타 설정

모니터링: 언제 실행시킬 것인가? + 상태 확인

  • 예: CPU 점유율이 일정 %를 넘어섰을 때 추가로 실행
  • 예: 2개 이상이 필요한 스택에서 EC2 하나가 죽었을 때 
  • CloudWatch (and/or) ELB와 연계할 수 있음

설정: 얼마나 어떻게 실행시킬 것인가?

  • 최대 / 최소 / 원하는 인스턴스 숫자
  • ELB와 연동 등..

Autoscling Group이 시작 템플릿에 설정된 값을 가지고 EC2의 상태를 모니터링 하다가 인스턴스에 뭔가 문제가 발생하면 자동으로 인스턴스를 추가

기타 설정 사항

  • 종료 정책: 인스턴스 숫자를 줄일 경우(scale-in) 어떤 순서로 인스턴스를 종료시킬지에 관한 정책
    • 기본
      • 인스턴스가 2개 이상인 가용영역의 인스턴스에서 먼저 종료시킴 (많은 가용영역에 분산되게 하는게 목표이기 때문)
      • 가장 오래된 시작 템플릿으로 생성된 인스턴스를 종료
      • 모두 같은 시작 템플릿이라면 다음 과금 시간에 가장 가까운 인스턴스를 종료
    • 커스텀 설정 하는 경우
      • 가장 예전 시작 템플릿부터
      • 가장 오래된 인스턴스부터
      • 가장 최근 인스턴스부터 
  • Lambda를 활용해서 커스텀 정책 적용도 가능하다.

 

반응형

'AWS' 카테고리의 다른 글

[AWS] ALB 리스너와 규칙  (0) 2026.04.04
[AWS] Elastic Load Balancer  (1) 2026.04.04
[AWS] EC2 권한 부여  (1) 2026.03.31
[AWS] EC2 유저 데이터와 메타데이터  (0) 2026.03.30
[AWS] ENI 와 Elastic IP  (0) 2026.03.29