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 오토스케일링 서비스에 대한 엑세스를 제어할 수 있습니다.