인프라
Auto Scaling을 통한 확장성 및 탄력성 구현
김도리개발자
2023. 3. 1. 18:56
가상 서버의 용량을 자동으로 증가 또는 축소하는 오토 스케일링 기능을 사용하여 인프라에 확장성과 탄력성을 구현해보자
클라우드 컴퓨팅의 가장 큰 장점이자 클라우드 컴퓨팅을 사용하는 이유 중 하나이다.
오토 스케일링은 서버에 설정한 특정값에 따라 규모를 조정하여 안정적으로 시스템이 운영되도록 하는 기능이다.
1. Auto Scaling을 위한 Launch Template 및 Application Load Balancer 구성
- Private subnet의 EC2에 대한 Custom AMI 생성
- Auto Scaling을 위한 Launch Template 생성
- AMI
- Key pair
- Network
- Storage 등
- Auto Scaling 용 Application Load Balancer 구성 (+ Target group)
2. Auto Scaling Group 및 Scaling Policy 구성
- Auto Scaling Group 생성
- Launch options
- Group size
- Load balancer
- Tags 등
- Scaling Policy 구성 (Auto Scaling 을 생성하는 과정에서 설정하게 되는데 매우 중요하여 따로 빼둠)
- 콘솔 및 웹 브라우저를 통해 Auto Scaling Group 시작 확인
3. Auto Scaling Scale-Out 테스트 (Policy에 따라 서버 용량이 증가하는 Scale-Out 테스트)
- Apache Bench Test를 위한 패키지(httpd-tools) 설치
- Application Load Balancer에 부하(로드) 테스트
- CloudWatch를 통해 CPU Utilization rate 증가 확인
- Scale-Out으로 EC2 증가 확인
4. Auto Scaling Scale-In 및 Termination policy 살펴보기
- Scale-In으로 EC2 감소 확인
- Auto Scaling Group의 Termination policy 확인
(오토 스케일링이 작동하는 기준값, 정책을 설정하여 오토 스케일링에 따라 서버 용량이 증가하게 되는데 이것을 Scale out이라고 한다.)