클라우드 환경에서 AWS 의 솔루션들을 사용하는 데 있어서 AWS Auto Scale 은 그 꽃이라고 할 수 있다.
AWS 의 Auto Scale 솔루션은 서비스의 스케일링(Scaling) 을 자동화할 수 있게 해주는 클라우드 인프라 솔루션이다.
AWS 의 Auto Scaling Group / Launch Configuration / Scaling Plan 와 같은 핵심 구성 요소들을 포함한다.
오토 스케일링 정책을 통한 설정을 바탕으로 몇 개의 인스턴스를 운용할지, 어떤 시점에 Scale 을 늘리고 어떤 시점에 낮출지 결정할 수 있다.
(Scaling 에 대해 잘 모른다면 다음 포스트를 참조하자.
이에 따라 Auto Scale 솔루션은 다음과 같은 장점들을 갖고 있다.
1. Cost Optimization
Scale 이 커져서 AWS 의 인프라들을 많이 사용하게 되면 비용이 증가하고 Scale 을 낮출 경우 비용을 절감시킬 수 있기 때문에 비용적인 측면을 같이 고려해서 사용해야 하며,
이러한 측면이 고려된 설계를 한다면 Auto Scale 을 통해 필요한만큼만 리소스를 사용함으로써 비용을 최적화할 수 있다.
(단, Auto Scale 솔루션 자체는 추가 비용이 들지 않는다.)
2. High Availability
Auto Scale 솔루션을 이용하면 Auto Scaling Group 에 대해 여러 Availability Zone 들에 고르게 인스턴스들을 할당하고 해제할 수 있다.
가령 Scale Out 을 통해 인스턴스들의 숫자가 많아질 때 하나의 영역에만 할당하는 것이 아니라 여러 영역에 고르게 분포시킬 수 있고, 해제할 때에도 균등하게 할당을 해제할 수 있다.
3. Well-Architectured Service
Auto Scale 을 통해 실제 요구량보다 많은 리소스를 사용하는 Over-Provisioning(오버 프로비저닝) 이나 실제보다 적은 리소스를 할당하는 Under-Provisioning(언더 프로비저닝) 을 방지할 수 있다.
이는 아키텍처를 설계함에 있어 유연성을 가져다줄 수 있다.
Auto Scale 솔루션은 다음과 같은 수명주기를 갖고 있다.
수명 주기에 따라 Scale Out 된 인스턴스들은 Pending 상태 이후 In-Service 상태로 전환되며 Scale In 될 때에는 Terminating 프로세스를 수행하게 된다.
진행 중인 인스턴스를 Attach 하거나 Detach 하는 과정 역시 라이프사이클에 포함된다.
위와 같은 수명 주기 내에서 Auto Scale 은 주로 CloudWatch 지표를 바탕으로 이벤트가 트리거되며 이벤트를 통해 Lambda 함수를 호출한다던지, SNS 알림을 생성한다든지 하는 다른 작업을 같이 진행할 수 있다
Amazon EC2 Auto Scaling API 에 대한 호출은 AWS CloudTrail 을 통해 추적해볼 수 있다.
'Cloud > AWS' 카테고리의 다른 글
Amazon EBS(Elastic Block Store) 에 대한 정리 (3) | 2019.10.31 |
---|---|
AWS 의 로드밸런서(Load Balancer) 사용해보기 - ELB & ALB (0) | 2019.08.18 |
클라우드 아키텍처(Cloud Architecture) 를 설계할 때 고려할 5가지 (5 Pillars) (0) | 2019.08.09 |
AWS 자격증명(Credential) 과 IAM에 대한 기본정리 (0) | 2018.10.02 |
AWS의 RDS에 대하여 (0) | 2018.09.11 |