현실에서는 웹사이트와 애플리케이션이 변경이 되기 마련이며, 트래픽이 갑자기 증가하는 현상도 발생하기 마련입니다.
이러한 상황에 맞춰서 스케일 아웃
이 필요하며, 부하가 증가되어 더 많은 서버가 필아할수록 거기에 맞춰서 EC2인스턴스를 추가하는 것을 말합니다.
스케일 인
은 EC2인스턴스를 제거하는 것을 말합니다.오토 스케일링 그룹은 EC2인스턴스가 일정량만큼 증가하거나 줄어들도록 만들 수 있는데 이는 ASG에서 실행되는 머신의 최대 갯수를 설정해야 합니다.
ASG에는 로드밸런서에 자동으로 새 인스턴스를 추가해주는 기능도 있습니다.
이떄까지는 수동으로 로드밸런스에 EC2인스턴스(타겟)을 설정하였지만 자동화 하여 작업을 할 수 있는 툴을 제공합니다.
AMI와 인스턴스 유형 , EC2 유저정보등을 설정하는 단계이며 수동으로 인스턴스를 생성한 것과 거의 동일합니다.
쉽게 설명을 하자면 자동으로 트래픽이 너무 몰리면 EC2인스턴스를 추가하라고 알려주고 반대면 줄이라고 알려주는 것을 말 합니다.
ASG는 해당 알람을 기반으로 동작을 하며 평균 CPU
같은 메트릭 = 상태
를 모니터링 하면서 전반적인 평균으로 계산이 됩니다.
이러한 매트릭이라는 상태는 커스텀하게 만들 수 있습니다.
CPU뿐만이 아니라 인스턴스당 요청을 1000개로 설정을 할 수도 있고, 연결된 유저의 숫자도 가능합니다.
EC2 대시보드에 접속하여 Auto Scalling 그룹
으로 이동을 합니다.
이동을 한 뒤에 시작 템플릿 생성을 클릭하여 기본적인 EC2인스턴스를 생성해 준뒤에 생성된 EC2템플릿으로 선탁하여 다음 버튼을 클릭합니다.
이후 VPC를 간단하게 default값으로 설정한뒤에 다음을 클릭합니다.
이후 로드 밸런서를 선택 해야 합니다.
선택을 하지 않을 수도 있으니 이러한 부분은 입맛에 맞게 사용하시면 됩니다.
그다음으로는 상태확인 값을 설정합니다.
상태 확인이라고 하면 EC2가 사용 가능한지, 또는 ELB(로드밸런스)가 해당 EC2에 접근이 가능한지를 검증하는 부분으로 유예기간을 두어 일정 시간을 투자 할지를 선택 가능합니다.
ELB부분까지 체크하여 다음을 클릭합니다.
그다음으로는 그룹의 크기를 설정하는 부분이 나옵니다.
- 원하는 용량 : 실행되는 EC2 인스턴스의 갯수를 말합니다.
- 최소 용량 : 스케일 인 될떄 최소로 유지할 EC2인스턴스의 갯수를 말합니다.
- 최대 용량 : 스케일 아웃될떄 최대로 실행 될 EC2인스턴스의 갯수를 말합니다.
이러한 부분은 정책을 실습할떄 수정할 것이기 떄문에 일단은 그대로 계속 다음 버튼을 클릭하여 ASG생성을 마무리 합니다.
이렇게 만들어진 ASG를 클릭하여 세부정보 및 활동을 확인 가능합니다.
활동 페이지에 가면 작업 기록에서 만들어지는 또는 삭제되는 EC2인스턴스 기록들을 확인 가능합니다.
현재 저의 그룹 크기와 활동 기록입니다.
이것을 이와 같이 수정을 하여 업데이트를 누른 후 일정시간을 기다리게 되면 활동기록에 새로운 EC2인스턴스에 대한 결과가 나오게 될 것입니다.
이처럼 두개의 EC2가 만들어 지는 것을 확인해 볼 수 있습니다.
가장 단순하고 설정하기도 쉬운 정책입니다.
예를 들면 모든 EC2인스턴스에서 평균 CPU 사용률을 추적하여 이 수치라 40%를 유지 할 수 있게 EC2를 조율합니다.
비슷하면서도 다릅니다.
예를 들면 ASG의 평균 CPU가 70%를 넘어가면 2개의 인스턴스를 추가하고 30%보다 안되면 인스턴스를 한개 제거하는 것으로 설명 가능합니다.
이 정책은 한번에 추가될 인스턴스와 삭제될 인스턴스를 설정할 필요가 있습니다.
나와 있는 사용 패턴으로 조율하는 것을 말합니다.
예를들면 금요일마다 이벤트를 하기 떄문에 많은 인스턴스가 필요하다면, 금요일마다 인스턴스를 자동으로 늘리는 방식으로 작동합니다.
즉 운영자가 예정되어 있는 이벤트에 따라서 설정값을 바꾸는 겂을 말합니다.
이 방식은 이름에서도 알 수 있듯이 예측하여 자동으로 스케일링을 조율하는 것을 말합니다.
일종의 쉬는 시간 입니다.
ASG가 스케일링 정책에 따라서 인스턴스를 수정 하였을떄 기본적으로 5분정도의 쉬는 시간을 가지게 됩니다.
이러한 시간이 필요한 이유는 새로운 인스턴스가 안정화될 수 있또록 하기 위함이기 떄문에
후에 설정된 휴지가 있는지 확인해야 합니다.