WiseN

NAVER CLOUD PLATFORM 오토스케일링 살펴보기

Blog thumbnail

안녕하세요.
오늘은 NAVER CLOUD PLATFORM 오토스케일링 서비스를 살펴 보려 합니다.

그럼 시작하겠습니다!!




오토스케일링 서비스







오토스케일링 서비스는 스케쥴AutoScalingGroup(이하 ASG) 평균 모니터링 값, 수동(사용자 요청) 방식으로 스케일 인, 아웃 정책을 수행하여 고객 서비스에 유연함을 제공하는 클라우드의 핵심이자 기본 서비스입니다.

[caption id="attachment_6020" align="alignnone" width="975"] <출처 : 오토스케일링 매뉴얼 페이지(http://docs.ncloud.com/ko/compute/compute-9-1.html)>[/caption]




 




오토스케일링 설정








LocalConfiguration (이하 LC)

  • LC와 AutoScalingGroup는 이름을 식별자로 사용하므로 계정 내에서 유일한 값이어야 합니다.

  • LC는 정책 수행 과정 중 증감 대상 VM의 기본 정보인 베이스 이미지, flavor, ACG, InitScripts, 키패어 등을  설정합니다. 베이스 이미지는 퍼블릭 이미지내서버이미지(OS+추가디스크 스냅샷 이미지)를 이용할 수 있으며,  InitScripts를 이용하여 VM 런칭 후  추가 작업을 설정할 수 있습니다

  • NAVER CLOUD PLATFORM 경우 이벤트 발생으로 스케일 아웃된 VM에 추가 작업 (NAS 볼륨 할당, 공인 IP , 블락디비이스 할당 등)은 InitScripts를 이용하셔야 합니다. (NAVER CLOUD PLATFORM CLI 활용하기 참고)
    (서버 별 공인 IP가 필요없는 경우 AutoScalingGroup 설정 단계에서 NatGateway와 연동하여 단일 공인 IP를 공유할 수도 있습니다. 그리고 Server Image Builder 서비스를 이용해서 볼륨이 할당된 내서버이미지 생성 후 베이스 이미지로 사용하면 볼륨 할당도 가능합니다.)


AutoScalingGroup (이하 ASG)

  • A사의 경우 스케일 아웃된 자원에 대한 존 별 구성이 가능하지만, NAVER CLOUD PLATFORM에는 ASG 구성단계에서 한개의 존을 고정하므로 스케일 아웃 대상 VM에 대한 존 별 구성은 불가능합니다.

  • ASG에 속한 VM에 대한 헬스 체크 방법은 서버와 LB 두 가지 방법을 제공하고 있습니다. 헬스체크 항목과 주기는 오토스케일링 개발자 가이드 참고 부탁드립니다.

  • 최소 용량, 최대 용량, 기대 용량(option) 값을 설정합니다. (최소 용량 =< 기대 용량 < 최대 용량) , 최초 최소 용량(기대 용량을 설정했다면 기대 용량) 만큼 VM이 생성 됩니다.

  • 쿨다운 타임 및 헬스체크 보류 시간을 설정합니다. default 설정은 300초이며, 서비스 환경에 적합하게 설정하시면 됩니다. 쿨다운 타임의 경우 정책 설정 단계에서도 설정할 수 있으며, 정책별 설정한 쿨다운타임이 우선순위가 높습니다.

  • A사의 경우 ASG에 VM attach / detach 기능을 제공하지만 NAVER CLOUD PLATFORM은 제공하지 않습니다.

  • 스케일 인 대상 VM의 다양한 선정기준을  제공하는 A사와 같이 NAVER CLOUD PLATFORM도 API를 이용해서 스케일 인 대상 VM 지정이 가능합니다. (default는 oldest)

  • A사의 경우 Cloudwatch에 Lifecycle Action (스케일 인/아웃 정책 트리거 될 때 사용자가 지정한 특정 액션을 취할 수 있음)을 추가하여 스케일 인 대상 VM의 로그 관리 등 다양하게 활용할 수 있으나 NAVER CLOUD PLATFORM의 경우 오픈소스를 활용할 수밖에 없을 것 같습니다. (이 부분은 다음 포스팅에서 다룰 예정입니다.)






Scaling 정책 설정



고정값, 비율 변경(%), 증감변경 방식으로 설정할 수 있으며 최소 조정 폭은 Scaling 설정을 비율 변경으로 했을 경우에만 활성화 됩니다. 그리고 여기서 설정한 쿨다운 타임은 ASG 설정단계의 쿨다운 타임보다 우선순위가 높습니다.





모니터링 설정 & 알람

Monitoring 서비스 [Group Event Setting]에서 ASG에 모니터링 임계치를 설정할 수 있습니다. (custom metric에 대한 임계치 설정은 불가능합니다.)



A사의 경우 Cloudwatch와 SNS 서비스를 이용해서 이벤트 발생에 따른 알람을 받을 수 있습니다. NAVER CLOUD PLATFORM의 경우 ASG 설정 단계에서 알람 수신 대상자를 지정하면(사전에 [Monitoing] - [Notification Recipient]에서 대상자를 입력 필요) 서버 생성, 반납 두 가지 이벤트에 대한 메일, 알람을 받을 수 있습니다.








엑세스 제어

NAVER CLOUD PLATFORM은 계정 역할 별 권한을 부여하는 Sub Account 서비스를 제공하고 있습니다.
인프라 관리자 혹은 오토스케일링 관리자 권한 부여를 통해 NAVER CLOUD PLATFORM 오토스케일링 서비스에 대한 엑세스를 제어할 수 있습니다.







오토스케일링 서비스 제한 사항 및 쿼터

[caption id="attachment_6036" align="alignnone" width="1322"] <출처 : http://docs.ncloud.com/ko/compute/compute-9-1.html>[/caption]




오늘은 여기까지 입니다.

NAVER CLOUD PLATFORM 오토스케일링 서비스 관련해서 추가 궁금한 사항은 오토스케일링 매뉴얼 참고 부탁 드립니다.

감사합니다.