
시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create a Firestore Database
/ 50
Deploy the Autoscaler
/ 50
Cloud Spanner용 자동 확장 처리 도구는 사용률에 따라 하나 이상의 Spanner 인스턴스에서 컴퓨팅 용량을 자동으로 늘리거나 줄일 수 있는 오픈소스 도구입니다.
Cloud Spanner는 무제한 확장, strong consistency, 최대 99.999% 가용성을 지원하는 완전 관리형 관계형 데이터베이스입니다.
Cloud Spanner 인스턴스를 만들 때 인스턴스의 컴퓨팅 리소스를 제공하는 노드 또는 처리 단위 수를 선택합니다. 인스턴스의 워크로드가 변경되어도 Cloud Spanner가 인스턴스의 노드 또는 처리 단위 수를 자동으로 조정하지 않습니다.
자동 확장 처리는 인스턴스를 모니터링하고 인스턴스가 권장되는 최대 CPU 사용률 및 권장되는 노드당 스토리지 한도를 초과하지 않도록 컴퓨팅 용량을 자동으로 추가하거나 삭제합니다.
이 실습에서는 프로젝트별 구성에서 자동 확장 처리를 배포합니다. 이 배포 구성에서 자동 확장 처리는 자동 확장되는 Cloud Spanner 인스턴스와 동일한 프로젝트에 위치합니다.
위 다이어그램은 Cloud Spanner 자동 확장 처리의 구성요소와 상호작용 흐름을 보여줍니다.
Cloud Scheduler, Cloud Pub/Sub, Poller Cloud Run Functions로 구성된 Poller 구성요소는 Cloud Monitoring API를 쿼리하여 각 Spanner 인스턴스의 사용률 측정항목을 가져옵니다. Poller 함수는 인스턴스마다 특정 Spanner 인스턴스의 사용률 측정항목과 해당하는 일부 구성 파라미터가 포함된 메시지 1개를 확장 Pub/Sub 주제로 푸시합니다.
Scaler 구성요소는 Cloud Pub/Sub, Scaler Cloud Run Functions, Cloud Firestore로 구성됩니다. Scaler 함수는 메시지마다 Spanner 인스턴스 측정항목을 권장되는 기준에서 허용되는 마진을 더하거나 뺀 값과 비교합니다. 선택한 확장 방법을 사용하여 인스턴스를 확장해야 하는지 여부와 확장해야 하는 노드 또는 처리 단위 수를 결정합니다.
이 과정이 진행되는 동안 Spanner 자동 확장 처리에서 추적 및 감사를 위해 Cloud Logging에 추천 및 작업의 단계별 요약을 작성합니다.
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.
Google 콘솔 열기를 클릭합니다. 실습에서 리소스가 가동된 후 로그인 페이지가 표시된 다른 탭이 열립니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
필요한 경우 실습 세부정보 패널에서 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다. 다음을 클릭합니다.
실습 세부정보 패널에서 비밀번호를 복사하여 시작 대화상자에 붙여넣습니다. 다음을 클릭합니다.
이후에 표시되는 페이지를 클릭하여 넘깁니다.
잠시 후 Cloud 콘솔이 이 탭에서 열립니다.
Google Cloud Shell은 다양한 개발 도구가 탑재된 가상 머신으로, 5GB의 영구 홈 디렉토리를 제공하며 Google Cloud에서 실행됩니다. Google Cloud Shell을 사용하면 명령줄을 통해 GCP 리소스에 액세스할 수 있습니다.
GCP Console의 오른쪽 상단 툴바에서 Cloud Shell 열기 버튼을 클릭합니다.
( 계속) Continue을 클릭하십시오.
환경을 프로비저닝하고 연결하는 데 약간의 시간이 걸립니다. 연결되면 이미 인증되었으며 프로젝트는 PROJECT_ID 로 설정됩니다. 예를 들면 다음과 같습니다.
gcloud는 Google Cloud Platform의 명령줄 도구입니다. Cloud Shell에 사전 설치되어 있으며 탭 자동 완성을 지원합니다.
다음 명령어로 사용 중인 계정 이름 목록을 표시할 수 있습니다.
gcloud auth list
출력:
Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
출력 예:
Credentialed accounts:
- google1623327_student@qwiklabs.net
다음 명령어로 프로젝트 ID 목록을 표시할 수 있습니다.
gcloud config list project
출력:
[core]
project = <project_ID>
출력 예:
[core]
project = qwiklabs-gcp-44776a13dea667a6
gcloud
를 실행하면 다른 세션에서도 config 설정이 유지됩니다. 하지만 Cloud Shell에서는 세션을 새로 시작하거나 다시 연결할 때마다 새로 설정해야 합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
TF_VAR_spanner_name
을 실습 설정 중에 생성된 Spanner 인스턴스의 이름인 autoscale-test
로 설정합니다.그러면 Terraform이 autoscale-test
라는 이름의 Cloud Spanner용 자동 확장 처리를 구성하고 Cloud Spanner 인스턴스의 IAM을 업데이트합니다. 이 Cloud Spanner 인스턴스는 실습 설정 중에 생성되었습니다.
일반적으로 이미 Cloud Spanner 배포가 있는 프로덕션 배포에서는 기존 인스턴스의 이름을 지정하는 작업이 진행됩니다.
yes
라고 대답합니다.terraform apply -parallelism=2
명령어를 다시 실행합니다.탐색 메뉴 > Firestore로 이동하여 데이터베이스 ID (default)
를 클릭합니다.
이제 기본 모드로 전환 버튼을 클릭한 다음 모드 전환을 클릭합니다.
Collections failed to load
와 같은 오류가 표시되면 몇 분 정도 기다렸다가 페이지를 새로고침하세요.내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
왼쪽 상단에 있는 줄 3개로 된 아이콘을 클릭하여 탐색 메뉴를 연 다음 모든 제품 보기를 클릭하고 데이터베이스를 클릭한 후 마지막으로 Spanner를 클릭합니다. 기본 Spanner 페이지가 로드됩니다.
인스턴스 이름 autoscale-test를 클릭한 다음 왼쪽에 있는 시스템 통계를 클릭하면 다양한 Spanner 측정항목이 표시됩니다.
이 그래프에서 CPU 사용률에 권장되는 기준인 65%를 초과하는 급증을 2개 확인할 수 있습니다.
자동 확장 처리가 Spanner 인스턴스를 모니터링하고 CPU 사용률이 65%를 초과하면 컴퓨팅 용량을 추가합니다. 이 예에서는 급증할 때마다 처리 단위를 더 추가합니다. 자동 확장 처리가 추가하는 처리 단위 또는 노드의 수는 자동 확장 처리가 사용하는 확장 방법에 따라 결정됩니다.
쿼리 결과에서 자동 확장 처리 함수의 모든 메시지를 볼 수 있습니다. Poller는 2분 단위로만 실행되므로 로그 메시지를 수신하려면 쿼리를 다시 실행해야 할 수 있습니다.
쿼리 결과에 Poller 함수의 메시지만 표시됩니다. Poller는 2분 단위로만 실행되므로 로그 메시지를 수신하려면 쿼리를 다시 실행해야 할 수 있습니다.
Poller 함수는 Spanner 인스턴스를 지속적으로 모니터링합니다.
이 예시에서 Poller 함수는 우선순위가 높은 CPU, 24시간 CPU 이동, 스토리지 측정항목을 가져오고 Scaler 함수에 대한 메시지를 게시합니다. 현재 우선순위가 높은 CPU가 78.32%라는 점을 기억하세요.
Scaler 함수에서 해당 메시지를 수신하고 Spanner 인스턴스를 확장해야 하는지 여부를 결정합니다.
이 예시의 선형 확장 방법에서는 우선순위가 높은 CPU 값을 기준으로 처리 단위를 300개에서 400개로 확장할 것을 추천합니다. 마지막 확장 작업을 완료한 지 5분 이상 지났으므로 Scaler가 처리 단위를 400개로 확장하기로 합니다.
워크로드 요구사항에 따라 노드 수를 자동으로 늘리거나 줄일 수 있는 Cloud Spanner용 자동 확장 처리 도구를 구현했습니다. Cloud Run Functions, Cloud Spanner, Cloud Scheduler, Cloud Monitoring을 사용하는 방법을 연습했습니다.
설명서 최종 업데이트: 2024년 11월 19일
실습 최종 테스트: 2024년 11월 19일
Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.