5

자동 크기 조절을 사용하면 부하를 기반으로 계산 엔진을 자동으로 추가하거나 제거 할 수 있습니다. GCP에서 자동 확장의 전제 조건은 인스턴스 템플릿과 관리 인스턴스 그룹입니다.Google Cloud Platform에서 관리 인스턴스 그룹 및 자동 크기 조절을 구성하는 방법

이 질문은 자동 확장 및 부하 분산 백엔드 빌드에 관한 question's answer의 일부입니다.

GCP에서 자동 크기 조정을 설정하는 단계가 포함 된 아래 답변을 작성했습니다.

+4

이 질문에 대한 메타를 읽는 것만으로. 나는 귀하의 접근 방식에 동의합니다. - 별도의 질문을 작성하고, 특정 문제에 대해 다른 사용자로부터의 잠재적 인 고품질 응답을 초청합니다. 그러나 어쩌면 당신은이 질문들을 더 비슷한 질문으로 표현할 수 있습니까? 예 : "Google Cloud 플랫폼에서 관리 인스턴스 그룹 및 자동 확장을 구성하려면 어떻게해야합니까?" 원래 질문의 내용을 약간 포함시킬 수도 있습니다. 이것은 질문을 더 검색 가능하게 만들고, 사람들이 원래의 맥락을 알지 않고도 대답 할 수있게 해줍니다. –

+0

@graham 귀하의 제안에 따라 질문을 변경했습니다. 질문에서 "이 질문은 다른 질문의 대답의 일부입니다"라는 참조를 삭제하길 원하십니까? –

답변

13

자동 확장 기능은 GCP에서 관리 대상 인스턴스 그룹의 기능입니다. 이렇게하면 인스턴스를 확장하여 매우 높은 트래픽을 처리하는 동시에 트래픽이 없을 때 인스턴스를 축소하므로 많은 비용을 절약 할 수 있습니다.

  • 인스턴스 템플릿
  • 관리 인스턴스 그룹
  • 자동 확장 정책
  • 건강

인스턴스 템플릿는 체크인 :

오토 스케일링을 설정하려면, 우리는 다음과 같은 필요 기계 유형, 이미지, 호의 디스크를 정의하는 청사진 자동 확장되고 관리되는 인스턴스 그룹에서 실행될 mogeneous 인스턴스. 인스턴스 템플릿 here을 설정하는 단계를 작성했습니다.

관리 인스턴스 그룹은 단일 인스턴스 템플릿을 기반으로하는 동종 인스턴스 그룹을 유지하는 데 도움이됩니다. 인스턴스 템플릿을 샘플 템플릿으로 가정합니다. 이것은 gcloud 다음 명령을 실행하여 설정 될 수

gcloud compute instance-groups managed \ 
create autoscale-managed-instance-group \ 
--base-instance-name autoscaled-instance \ 
--size 3 \ 
--template sample-template \ 
--region asia-northeast1 

위의 명령은 샘플 템플릿 기반 아시아 northeast1 영역에 세 개의 서로 다른 영역에있는 세 컴퓨팅 엔진을 포함하는 관리 인스턴스 그룹을 생성한다.

  • 기본 인스턴스 이름 모든 자동으로 생성 된 인스턴스의 기본 이름이됩니다. 기본 이름 외에 모든 인스턴스 이름은 고유하게 생성 된 임의의 문자열로 추가됩니다.
  • 크기은 그룹에서 원하는 인스턴스 수를 나타냅니다. 현재 애플리케이션에 의해 생성 된 트래픽 양에 관계없이 3 개의 인스턴스가 항상 실행됩니다. 나중에이 그룹에 정책을 적용하여 자동 확장 할 수 있습니다.
  • 영역 (다중 영역) 또는 단일 영역 : 관리되는 인스턴스 그룹은 영역 (다중 영역)에서 설정되거나 균등 한 인스턴스가 주어진 영역의 모든 영역에 고르게 분산되거나 인스턴스는 region 내의 동일한 존에 전개 될 수 있습니다. 또한 현재 알파 상태 인 교차 영역 1로 배포 할 수도 있습니다.

자동 조절 정책은 자동 확대/축소 동작을 결정합니다.자동 크기 조절기는 인스턴스의 데이터를 집계하여 정책에 지정된대로 원하는 용량과 비교하고 수행 할 작업을 결정합니다. 같은 많은 자동 스케일링 정책이 있습니다

  • 평균 CPU 사용률

  • HTTP로드 균형 조정 역할을 용량 (요청/초)

  • 스택 드라이버 표준 및 사용자 정의 측정

  • many more

이것에 자동 확장을 소개하기 515,

gcloud의 다음 명령을 실행하여 인스턴스 그룹 관리 :

gcloud compute instance-groups managed \ 
set-autoscaling \ 
autoscale-managed-instance-group \ 
--max-num-replicas 6 \ 
--min-num-replicas 2 \ 
--target-cpu-utilization 0.60 \ 
--cool-down-period 120 \ 
--region asia-northeast1 

상기 명령 2에서 (경우에 이르는 CPU 사용률에 기초 autoscaler가 있습니다 .BREAK를 설정 트래픽 없음)에서 (교통량이 많은 경우).

  • 냉각 기간은 플래그는 관련 autoscaler가 있습니다 .BREAK이 정보를 수집하기 시작하기 전에 인스턴스가 시작 된 후 대기하는 시간 (초)을 지정합니다.
  • 자동 측정기를 최대 개의 서로 다른 정책에 연결할 수 있습니다. 둘 이상의 정책이있는 경우 자동 스 캐너는 최대 인스턴스 수를 유지하는 정책을 권장합니다.
  • 재미있는 사실 : 인스턴스가 자동 크기 조절기에 의해 회전 될 때 트래픽과 관계없이 적어도 10 분 동안 인스턴스가 실행되는지 확인합니다. 이는 GCP가 계산 엔진에 대해 최소 10 분의 실행 시간을 청구하기 때문에 수행됩니다. 또한 인스턴스의 불규칙한 회전 및 종료를 방지합니다.

모범 사례 : 내 관점에서, 시작 스크립트를 사용하는 것보다 설치된 모든 소프트웨어와 사용자 정의 이미지를 생성하는 것이 좋습니다. 자동 확장 그룹에서 새 인스턴스를 시작하는 데 걸리는 시간은 가능한 한 최소화해야합니다. 이렇게하면 웹 앱을 확장하는 속도가 빨라집니다.

자동 확장되고 부하가 분산 된 백엔드를 구축하는 것에 대한 내용은 부분 2 입니다.

+1

"흥미로운 사실"및 "모범 사례"에 대한 감사합니다 –

+0

인스턴스 그룹에서 CPU 사용률을 설정하는 것과 백 엔드 또는 백엔드 서비스를 추가하는 명령에서 설정하는 것의 차이점은 무엇입니까? 그들은 둘 다 옵션을 지원하는데, 이는 중복되고 혼란스럽게 보입니다. – odigity

관련 문제