13
ucloud AutoScaling Step By Step Guide(Basic) KT / 1 13

autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

ucloud AutoScaling

Step By Step Guide(Basic)

KT

/ 1 13

Page 2: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

1. 개요 - 이 문서는 ucloudbiz의 AutoScaling 서비스를 이용하고자 하는 고객들이 해당 서비스에 대한 모든 기능들을 고객 스스로 충분히 체험해 볼 수 있도록 하기 위해 작성 되었습니다.

- 해당 문서는 ucloudbiz 서비스의 기본 기능에 대한 체험 위주로 작성 되었습니다. 혹시 좀더 복잡한 구조, 혹은 전문화된 기능을 살펴보기 원한다면, Step By Step Guide의 심화편을 참고해 주세요.

2. 기본 오토스케일링 시나리오 - 이번 데모를 위한 오토스케일링 서비스의 실행 시나리오는 아래와 같습니다.

1) 기존 ucloud LoadBalancer 와 Web 서버가 연결된 형태로 서비스 되고 있습니다.

2) ucloud watch 에서 CPU 자원 부하로 인한 AutoScaling 알람을 발생 시킵니다.

3) 지정된 AutoScaling 정책이 실행되어 Scale out를 수행합니다.

4) Scale out 결과는 고객 이메일로 발송합니다.

3. 준비물 - 오토스케일링 테스트를 위하여 사전에 확인/생성 되어야 할 정보들이 있는데, 아래와 같습니다.

(1) 로드밸런서 : 기존에 사용 가능한 로드밸런서가 없을 경우, 테스트를 위하여 별도 생성 해야 합니다.

(2) 이미지 : 오토스케일링 테스트를 위해 준비된 공개이미지를 활용합니다.

(3) API/Secret Key : 고객 계정별로 할당된 API/Secret Key 정보입니다.

(4) Topic(ucloud messaging) : 테스트를 위하여 별도로 추가 생성 해야 합니다.(Topic 생성에 대한 비

용 청구 없음)

/ 2 13

Page 3: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

4. 준비물 셋팅하기

1) 로드 밸런서 생성

•‘클라우드 콘솔 > 로드밸런서 > 로드밸런서 리스트 > 로드밸런서 신청’을 통해 로드밸런서를 신청합니다.

•아래와 같이 입력하여 로드 밸런서를 신청합니다.

(1) Availability Zone : ‘KOR-Central B’

(2) 로드밸런서명 : ‘AutoScalingTestLB’

(3) 서비스 IP/PORT : ‘신규할당IP’ 및 폼에 ’80’ 이력

(4) 로드밸런서 타입 : ‘HTTP’

(5) 로드밸런서 옵션 : ‘Round robin’

(6) Health Check : ‘HTTP’ 및 ‘/autoscaling_test.html'

2) API/Secret Key 확인

•VM 자동 생성시 실행될 user-data 항목에서, openAPI를 사용할 예정이므로, API/Secret Key가 필요합니

다.

/ 3 13

Page 4: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

•‘클라우드 콘솔 > ucloud server > API key’ 항목으로 조회 가능하며, ‘복사’ 버튼 클릭시 클립보드로 해당

내역 복사가 가능합니다.

3) 이미지 생성하기 (1) VM 생성

A. ‘ucloud server > 스냅샷/이미지’ 를 클릭한 후, ‘공개 이미지’ 탭을 클릭 합니다.

B. ‘AutoScalingTestImage’ 라는 이미지 명을 검색한 후, ‘선택 > Action > 서버 신청’ 버튼을

클릭하여 서버를 생성 합니다.

C. 서버명, 서버 사양을 입력후 ‘신청하기’ 버튼을 눌러 서버를 생성 합니다.

•서버 사양은 최소로 선택 하여도 무방합니다.

•서버명은 ‘AutoScalingTestVM’으로 입력합니다.

•다른 옵션은 선택하지 않도록 해주세요.

•서버 패스워드는 회원 가입시 등록한 이메일로 발송됩니다.

(2) 포트포워딩 연결

A. VM에 접속하기 위하여 포트포워딩을 연결해야 합니다.

B. ‘ucloud server > 네트워크 > 네트워크 리스트’ 탭을 선택 후, 공인 IP를 선택합니다.

C. 하단의 ‘포트포워딩’탭을 선택 후 아래와 같이 입력하여 추가합니다.

(3) VM 내부 수정

A. ssh 를 사용하여 생성된 VM에 접속합니다.

•$> ssh [email protected]

B. 접속 후 vi 편집기를 사용해 설정 파일을 수정합니다.

•$> vim ucloudAPIConfig.py

•UCLOUD_APIKEY 항목에 위에서 복사한 API KEY 값을 붙여넣기 합니다.

•UCLOUD_SECRET_KEY 항목에 위에서 복사한 API KEY 값을 붙여넣기 합니다.

/ 4 13

Page 5: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

(4) 이미지 생성

A. 서버를 정지 합니다.’ucloud server > 클라우드 서버리스트 > 서버선택 > Action > 정지’ 버

튼 클릭

B. 정지가 완료된 후, ‘서버선택 > 상세정보 탭 클릭 > 하단의 Disk 상세 화면에서 ROOT-xxxx

클릭 > 이미지 생성’을 클릭하여 다음 단계를 진행합니다.

C. 이미지 명은 ‘AutoScalingTestImage01’ 라고 입력한 후, 확인 버튼을 눌러 이미지 생성을 시

작합니다.

D. 생성된 이미지는 ‘ucloud server > 스냅샷/이미지’에서 확인 가능합니다.

4) Topic 생성

•ucloud message를 통해 AutoScaling 결과를 조회 하기 위해, ‘클라우드 콘솔 > 모니터링 서비스 >

ucloud messaging > 토픽 생성’을 클릭합니다.

/ 5 13

INPUT API KEY

INPUT SECRET KEY

Page 6: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

•토픽 생성시 ‘토픽명’에 다음과 같이 입력한 후, ‘확인’ 버튼을 눌러 최종 생성 합니다.

•토픽명 : AutoScalingTestTopic

/ 6 13

Page 7: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

5. AutoScaling 서비스 설정

1) VM 생성 설정 추가 (1) ‘ucloud server > ucloud autoscaling > VM 생성 설정’으로 이동합니다.

(2) ‘VM 생성 설정’ 버튼을 클릭합니다.

(3) ‘1. 이미지 선택’ 화면에서 아래와 같이 선택합니다.

•상품종류 : ‘표준’

•이미지 구분 : ‘나의 이미지’

•위치 : ‘KOR-Central B’

•이미지 선택 : ‘AutoScalingTestImage01’

(4) ‘2. 서버 사양 선택‘ 화면에서 아래와 같이 선택합니다.

•1vCore/1.00GB/20GB

(5) ‘3. Data Disk 선택’ 화면에서 아래와 같이 선택합니다.

•‘선택 없음’

(6) ‘4. 상세 설정’ 화면에서 아래와 같이 입력 합니다.

•VM 생성설정명 : ‘AutoScalingTestLC’ 입력 후 ‘중복확인’ 버튼 클릭

•user data 입력 : 아래의 내용을 입력한다.

(7) ‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을 눌러 VM 생성 설정을 추가합니다.

2) 오토스케일 그룹 생성 1) ‘ucloud server > ucloud autoscaling > 오토스케일 그룹’으로 이동합니다.

2) ‘오토스케일 그룹 생성’ 버튼을 클릭합니다.

/ 7 13

#!/bin/bash

/usr/bin/python /root/startScript/startScript.py

Page 8: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

3) ‘1. 오토스케일그룹 상세 설정’ 에서는 아래와 같이 입력합니다.

•로드밸런서 선택 : ‘로드밸런서’, ‘AutoScalingTestLB’

•오토스케일 그룹명 : ‘autoscalingAGForDemo’

•VM 생성 설정 : ‘AutoScalingTestLC’

•공인 IP : 고객설정에 할당된 IP를 선택함

•AutoScalingTestLB PortNo: 20000/20020/80 (각 입력 폼에 차례로 입력)

•포트 체크 : 포트체크 버튼 클릭

•최소 VM 수/최대 VM 수 : 0/10

•목표 VM수 : 0

•이후의 설정은 입력하지 않음

4) ‘2. VM 증감 정책 설정’에서는 다음과 같이 입력 후 ‘다음’ 버튼을 누릅니다.

•증감 유형 : ‘ExactCapacity’

•스케일 아웃 정책.정책명 : 기본 입력값을 그대로 사용

•스케일 아웃 정책.VM 개수 : 2

•스케일 아웃 정책.쿨다운 : 100

•스케일 인 정책.정책명 : 기본 입력값을 그대로 사용

•스케일 인 정책.VM 개수 : 0

•스케일 인 정책.쿨다운 : 100

5) ‘3. 알림 설정’에서는 다음과 같이 입력 후 ‘다음’ 버튼을 누릅니다.

•메시지 알림 항목 : ‘모두 선택’

•토픽 urn : ‘AutoScalingTestTopic’

•구독.프로토콜 : ‘E-mail’

•구독.수신처 : 결과를 수신받을 이메일 주소 입력

6) ‘4. 요약’에서는 입력한 설정이 맞는지 확인한 후 ‘확인’ 버튼을 클릭하여 오토스케일 그룹을 생성합니

다. 오토스케일 그룹이 완전히 생성되기 전까지 브라우저를 Refresh 하지 않고 잠시 대기하면, 생성이

완료 됩니다.

7) 생성 완료 후, ucloud message 로부터 Test Alarm Message와 인증 Alarm Message가 오는 것을

확인할 수 있습니다.

/ 8 13

Page 9: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

•특히 ‘UMSG Subscripton Confirm!’ 이라는 제목을 가진 Message의 SubscribeURL의 웹서비스 링

크를 반드시 클릭해 주어야, 해당 E-mail로 AutoScaling 결과를 수신받을 수 있습니다.

3) 트리거 생성 1) ‘ucloud server > ucloud autoscaling > 오토스케일 그룹’으로 이동합니다.

2) ‘트리거 생성’ 버튼을 클릭합니다.

3) ‘1. 트리거 메트릭 선택’ 에서는 가장 위의 ‘CPUUtilization’을 선택합니다.

4) ‘2. 트리거 상세 설정’ 에서는 아래와 같이 입력 합니다.

•오토스케일 그룹명 : ‘autoscalingAGForDemo’

•VM 증감 정책 : ‘autoscalingAGForDemo-scaleout’

•알람명 : ‘autoscalingAGForDemoAlarmScaleOut’

•알람발생조건 : ‘CPUUtilization의 평균이 80 Percent 보다 크다’

•’15’분 이내에 ‘2’회 연속 발생시

5) ‘3. 요약’ 에서는 입력한 설정이 맞는지 확인한 후 ‘확인’ 버튼을 클릭하여 알람 설정을 생성합니다.

6) 트리거 생성이 완료된 이후 같은 방법으로 ‘트리거 생성’ 버튼을 클릭하여 알람을 추가 생성 합니다.

7) ‘2. 트리거 상세 설정’ 에서는 아래와 같이 입력합니다.

•오토스케일 그룹명 : ‘autoscalingAGForDemo’

•VM 증감 정책 : ‘autoscalingAGForDemo-scalein’

•알람명 : ‘autoscalingAGForDemoAlarmScaleIn’

•알람발생조건 : ‘CPUUtilization의 평균이 80 Percent 보다 크다’

•’15’분 이내에 ‘2’회 연속 발생시

8) 생성된 트리거 설정은 AutoScalingGroup의 상세 탭에서 아래와 같이 확인 가능합니다.

/ 9 13

Page 10: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

6. AutoScaling 서비스 실행

1) 수동 실행 (1) Scale Out

•‘오토스케일 그룹 > ‘autoscalingAGForDemo’ 선택 > Action’ 를 선택 합니다.

•폼에 아래와 같이 입력 합니다.

•목표 VM 수 : ‘2’

•이외의 값은 변경하지 않습니다.

•아래와 같이 AutoScalingGroup의 상태 값이 ‘Scale Up’으로 바뀐것을 확인할 수 있습니다.

•상태값이 ‘Ready’로 변경된 이후에는 서비스 정상 구동 여부를 확인하기 위해 아래와 같이 수행합니

다.

•LB를 통한 웹서비스 접속 확인

•웹 브라우저를 통해 http://LBIP/autoscaling_test.html 접속 후 정상적으로 접속이 되는것을

확인합니다.

•브라우저를 ‘새로고침’ 할 경우, ‘My hostname is ==> ’이후의 VM 이름이 변경되어 보이는 것

을 알 수 있습니다. 이것은 LoadBalancer 설정이 RoundRobin 설정으로 되어있어, 두대의

Web 서버를 번갈아서 호출하기 때문입니다.

/ 10 13

Page 11: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

(2) Scale In

•위와 동일한 방법으로 진행하되, 폼에 입력 값을 아래와 같이 변경 합니다.

•목표 VM 수 : ‘0’

•아래와 같이 AutoScalingGroup 상태 값이 ‘Scale Down’으로 바뀐것을 확인할 수 있습니다.

/ 11 13

Page 12: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

2) ucloud Watch 를 통한 실행 - ucloud watch를 통하여 AutoScaling 정책을 실행시킬 수 있습니다. - 일반적으로는 서버에 부하가 주어질 경우 ucloud watch의 알람이 발생되고, 이로 인해 AutoScaling이 수행되지만, 편의를 위해 수동으로 알람 상태를 조정하여 AutoScaling을 수행 하도록 합니다.

(1) Scale Out

A. ‘클라우드 콘솔 > 모니터링 서비스 > ucloud watch’를 클릭합니다.

B. ‘autoscalingAGForDemoAlarmScaleOut’를 선택한 후 ‘상세정보 > 현재상태 > 상태변경’을 선

택합니다.

C. ‘현재 상태’를 ‘알람 발생’ 으로 변경한 후, ‘확인 버튼을 누릅니다’

D. AutoScalingGroup의 상태가 ‘Scale Up’인 것을 확인할 수가 있습니다.

(2) Scale In

A. 위와 같이 ’autoscalingAGForDemoAlarmScaleOut’ 알람에 대하여 ‘알람 발생’으로 상태를 변

경합니다.

B. AutoScalingGroup의 상태가 ‘Scale In’인 것을 확인할 수가 있습니다.

/ 12 13

Page 13: autoscaling step by step guide Basic · •user data 입력 : 아래의 내용을 입력한다. (7)‘5. 요약’ 화면에서 입력한 내용을 확인한 후, ‘확인’ 버튼을

7. AutoScaling 결과 확인 - AutoScaling이 실행되고 난 후의 결과는 크게 두가지 방법으로 확인 가능합니다. - 첫번째는 AutoScalingGroup 별로 조회 가능한 ‘히스토리’ 탭을 통해서 - 두번째는 위의 알람 설정에서 입력한 e-mail 을 통해 수신된 데이터를 통해서 확인 가능 합니다.

1) 히스토리 조회를 통한 확인

•아래와 같이 AutoScaling이 트리거 될때마다, 그에 대한 상세 히스토리를 확인 가능합니다.

2) 알람 메시지를 통한 확인

• 또한, AutoScaling이 트리거 될때마다, 위에서 등록해놓은 이메일/SMS 을 통하여 AutoScaling 결과가

수신됩니다.

/ 13 13