AWS Auto Scaling은 애플리케이션을 모니터링하고 용량을 자동으로 조정하여, 최저 가격으로 안정적이고 예측 가능한 성능을 유지한다. Auto Scaling을 사용하면 몇 분 안에 여러 서비스에 걸쳐 여러 리소스에 대한 조정을 설정할 수 있다. 단순하면서도 강력한 사용자 인터페이스를 제공한다. 이를 이용하여 EC2, ECS, DynamoDB, Aurora 등에 대해 조정을 계획 할 수 있다.
AWS Auto Scaling에 대해서 추가 비용은 없다. 애플리케이션을 실행하는데 필요한 리소스 비용과 Amazon CloudWatch 모니터링 요금만 지불하면 된다.
Amazon EC2 Auto Scaling을 사용하면 애플리케이션의 로드를 처리할 수 있는 정확한 수의 EC2 인스턴스를 유지할 수 있다. Auto Scaling 그룹이라는 EC2 인스턴스 모음을 생성한다. 최소&최대 인스턴스 수를 지정할 수 있다.

Amazon EC2 Auto Scaling을 사용하면 EC2의 인스턴스가 Auto Scaling 그룹으로 정리되어 조정 및 관리를 위한 논리적 단위로 취급될 수 있다. Auto Scaling 그룹은 시작 구성을 EC2인스턴스의 시작 구성과 동일하다.
실행중인 인스턴스의 상태 모니터링
EC2의 상태 확인을 통해 종료되거나 손상된 인스턴스를 교체하여 원하는 용량을 유지한다.
가용 영역 간 용량 균형 조정
Auto Scaling은 그룹에 여러 가용 영역을 지정할 수 있으며, 확장됨에 따라서 가용 영역 전체에 걸쳐 인스턴스의 균형을 균등하게 조정한다. 이는 애플리케이션을 장애로 부터 보호함으로써 고가용성과 탄력성을 제공한다.
Load Balancing
Elastic Load Balancing 부하 분산 및 상태 확인을 사용하여 애플리케이션 트래픽이 정상 인스턴스에 고르게 분배되도록 할 수 있다. 인스턴스가 시작, 종료될 때마다 Auto Scaling은 Load Balancer에게 인스턴스를 자동으로 등록 및 취소한다.
Lifecycle Hooks
새 인스턴스 시작 시 또는 종료 전에 호출되는 사용자 지정 작업을 정의하는데 유용하다. 이 기능은 이벤트 기반 아키텍처를 구축하는 데 특히 유용하며, 수명 주기 전반에 걸쳐 인스턴스 관리에 도움이 된다.
Stateful Workload 지원
Lifecycle Hooks 는 종료 시 상태를 유지하기 위한 매커니즘도 제공합니다. 상태 저장 애플리케이션의 연속성을 보장하기 위해 확장 보호 또는 사용자 지정 종료 정책을 사용하여 장기 실행 프로세스가 있는 인스턴스의 조기 종료를 방지한다.
AWS EC2 Auto Scaling -
https://docs.aws.amazon.com/ko_kr/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html
AWS Auto Scaling -
https://aws.amazon.com/ko/about-aws/whats-new/2018/01/introducing-aws-auto-scaling/