Auto Scaling
- 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지하게함.
- Auto Scaling을 사용하면 여러 리소스에 대해 애플리케이션 규모 조정을 설정할 수 있음.

- 예전엔 EC2 오토 스케일링만 있었는데 AWS에서 확장함.
- 오토 스케일링 목표
- 최소한의 인스턴스 사용 => 돈
- 원하는 만큼의 인스턴스 개수를 목표로 유지 => 안정성
- 최대 인스턴스 개수 이하로 인스턴스를 유지 => 돈
- Availability Zone에 골고루 분산될 수 있도록 인스턴스를 분배 => 안정성
- 항상 서비스가 유지될 수 있는 인스턴스를 확보 => 안정성
--> 효율적
Auto Scaling의 활용
- Lanch Configuration: 무엇을 어떻게 실행시킬 것인가?
- EC2의 타입, 사이즈
- AMI
- Security Group, Key, IAM
- User Data ->
EC2가 실행될 때 어떤 액션을 취하느냐를 정해줌. 초기에 실행시키는 집합.
- Monitoring : 언제 실행시킬 것인가? + 상태 확인
- 예)
- CPU 점유율이 일정 %을 넘어섰을 때 추가로 실행 -> Cloud Watch
- 2개 이상이 필요한 스택에서 EC2 하나가 죽었을 때 -> ELB와 연계
- Desired Capacity : 얼만큼 실행 시킬 것 인가?
- Lifecycle Hook : 인스턴스 시작/종료 시 call back
- 다른 서비스와 연계하여 전,후 처리 가능 -> CloudWatch Event(람다 실행) / SNS / SQS
Terminating : wait (터미네이트 안됨) / Terminating : Proceed (터미네이트 진행중) 상태로 전환
- 기본 3600초(1시간) 동안 기다림
Work flow

출처