1. 오토스케일이란?
오토스케일(Auto Scale)은 규칙에 따라 리소스를 자동으로 증가/감소 시키는 기능입니다.
가상서버의 부하를 모니터링하여 운영자의 개입없이 탄력적인 인프라 운영을 할 수 있습니다.
2. 사전 작업
오토스케일 생성을 위해서는 스냅샷과 로드밸런서 생성이 선행되어야 합니다.
(1) 스냅샷 생성
웹콘솔>서버>가상서버 스냅샷
오토스케일에 의해 자동으로 생성될 서버들의 기본 이미지를 생성합니다.
(2) 로드밸런서 생성
웹콘솔>네트워킹>로드밸런서>새로운 로드밸런서 생성
a. 오토스케일에 사용할 연결된 가상서버가 없는 로드밸런서를 생성합니다.
b. 로드밸런서 생성 과정은 로드밸런서는 어떻게 사용하나요? 를 참고해 주세요.
c. 오토스케일로 증설한 서버들은 해당 로드밸런서의 멤버가 됩니다.
3. 오토스케일 생성하기
웹콘솔>서버>오토스케일>새로운 오토스케일 생성
오토스케일 생성 과정은 다음과 같습니다.
(1) 이미지 선택

오토스케일로 증설될 가상서버들의 기본 이미지를 선택합니다.
이미지에 블록 스토리지 스냅샷이 연결되어 있다면 해당 블록 스토리지도 함께 생성됩니다.
(2) 로드밸런서 선택

2번에서 생성한 연결된 가상서버가 없는 로드밸런서를 선택합니다.
로드밸런서에 연결된 가상서버의 동작을 모니터링하게 됩니다.
(3) 방화벽 선택

오토스케일에 적용할 방화벽을 선택합니다. 하나의 가상서버에 여러 방화벽을 다중 연결할 수 있습니다.
방화벽 생성 방법은 가상서버에 방화벽 연결과 설정은 어떻게 하나요? 에서 1. 방화벽 생성하기를 참고해 주세요.
(4) 서버 및 기준 설정

키페어와 오토스케일의 이름을 입력한 후, 서버 및 기준 설정값을 입력합니다.
a. 오토스케일로 만들어질 가상서버의 하드웨어 사양을 선택합니다. 선택된 하드웨어 사양의 가상서버가 증설되며 사용한만큼 시간당 과금됩니다.
b. 최대 서버수는 20대까지 제공하고 있으며, 증축이 필요하신 경우 1:1 문의를 부탁드립니다.
c. 쿨다운 시간은 기존 scaling으로 인한 부하분산 효과가 나타나기 전에 Auto Scaling 그룹이 가상서버를 추가하거나 감축하지 않도록 하는 시간입니다.
가상서버 생성 후 자체적인 준비 시간 없이 로드밸런서에 연결되어 발생하는 에러를 방지합니다.
쿨다운 시간은 5분 ~ 60분 사이로 설정 가능합니다. 부하에 따른 Auto Scaling의 반응 속도를 빠르게 하고 싶을 경우 해당 시간을 낮추는 것으로 해결할 수 있습니다.
d. CPU와 RAM의 경우 증가 기준과 감소 기준을 정하여 오토스케일링을 할 수 있습니다.
예를 들어 CPU의 증가 기준을 80%로로 설정하면, CPU의 부하가 80%에 도달 했을 때 서버 scale-out을 하게 됩니다.
같은 원리로 CPU의 사용량이 40% 미만이면 가상서버를 자동으로 감소시키게 됩니다.
단, 오토스케일은 가상서버의 OS에서 측정되는 cpu, memory 사용률을 기반으로 동작하지 않습니다.
카페24클라우드의 인프라 구조에 따라 좀 더 정확한 방식으로 Host 서버에서의 해당 가상서버의 사용률을 측정하며, 이는 top 명령어 등으로 조회하는 수치와 차이가 있습니다.
(5) 오토스케일 생성 확인
a. 상세정보 : 생성된 오토스케일의 상세 정보를 확인 할 수 있습니다.b. 현재 서버 현황 : 오토스케일 설정값에 따라 증설된 서버들을 확인 할 수 있습니다.
오토스케일 생성 직후 서버는 1대가 생성됩니다. 이후 오토스케일의 설정값에 따라 서버가 자동으로 증가, 감소 합니다.
c. 서버 사용 내역 : 오토스케일의 설정값에 따라 삭제된 가상서버의 내역을 확인 할 수 있습니다.
4. 가상서버에 접속하기
오토스케일로 생성된 가상서버는 사설 ip만 할당 받기 때문에 스냅샷을 생성한 가상서버에서 증설된 서버로 ssh 접속을 해야 합니다.부하 모니터링에 따라 가상서버가 무작위로 자동 삭제될 수 있기 때문에 오토스케일로 생성된 가상서버에서 직접 작업하는 것을 지양합니다.
오토스케일로 증설된 가상서버에 대한 수정사항은 배포서버를 통해 배포해 주세요.
(1) 스냅샷 이미지의 가상서버에 ssh 접속
a. 이미지를 생성한 서버의 공인 ip로 해당 서버에 원격 접속합니다.
b. 해당 서버 정보는 오토스케일 설정 보기에서 찾으실 수 있습니다.
c. 예를들어 본 예제에서 사용된 demoServer1의 공인 ip가 211.183.1.15일 경우, ssh 접속 방법은 다음과 같습니다.
아래의 콘솔 화면에서 빨간색에 해당하는 내용은 해당 서버 정보에 맞게 입력해 주세요.
(2) 오토스케일로 증설된 서버의 사설 IP로 ssh 접속
a. 접속할 서버의 사설 ip로 ssh 접속을 합니다.
본 예시에서는 첫번째 가상 서버(사설 ip 192.168.1.16)에 접속 하도록 하겠습니다.
b. 이때의 키페어는 스냅샷 이미지를 생성한 가상서버와 동일한 키페어를 이용합니다.
아래의 콘솔 화면에서 빨간색에 해당하는 내용은 해당 서버 정보에 맞게 입력해 주세요.
※ 참고사항
오토스케일링 테스트
(1) 로드 밸런서에 부하 부여
a. 스냅샷을 생성한 가상서버로 ssh 접속을 합니다.
b. 오토스케일에 연결된 로드밸런서의 사설 ip로 트래픽을 보내 부하를 증가시킵니다.
본 예시에서는 Apache HTTP에서 제공하는 스트레스 테스트 툴 ab(ApacheBench)를 사용 하였습니다.
해당 예제는 Auto Scaling 환경에서 scale out 현상을 보이기 위한 것입니다.
실제 서비스 운영을 위한 성능 테스트는 공증된 성능측정 도구(ex. ngrinder, jmeter 등)를 사용할 것을 권장합니다.
c. 가상서버 모니터링 팝업에서 부하를 실시간으로 확인 할 수 있습니다.
d. 부하에 따라 서버가 자동으로 증가한 것을 확인하실 수 있습니다.
부하가 줄어들어 오토스케일의 감소기준에 이르면 서버는 자동으로 반환됩니다.