
시작하기 전에
- 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
- 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
- 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.
Create a Deployment Manager deployment
/ 5
Update the Deployment Manager deployment
/ 5
이번 실습에서는 Deployment Manager를 사용하여 배포를 생성하고 배포 상태를 일관성 있게 유지하는 방법을 알아봅니다. 또한 Cloud Monitoring을 사용하여 VM 인스턴스에서 리소스 사용량을 조회해보겠습니다.
이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.
Deployment Manager 배포 생성
Deployment Manager 배포 업데이트
Cloud Monitoring을 사용하여 VM 인스턴스의 로드 확인
각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.
시크릿 창을 사용하여 Qwiklabs에 로그인합니다.
실습 사용 가능 시간(예: 1:15:00
)을 참고하여 해당 시간 내에 완료합니다.
일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.
준비가 되면 실습 시작을 클릭합니다.
실습 사용자 인증 정보(사용자 이름 및 비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.
Google Console 열기를 클릭합니다.
다른 계정 사용을 클릭한 다음, 안내 메시지에 이 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.
약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
GCP 프로젝트의 이름을 적어 놓습니다. 이 값은 Google Cloud Platform Console의 상단 바에 표시되며, qwiklabs-gcp-
에 16진수 숫자가 붙은 형식입니다.
GCP Console에서 탐색 메뉴()의 API 및 서비스를 클릭합니다.
사용 설정된 API 목록을 아래로 스크롤하여 다음 API가 사용 설정되어 있는지 확인합니다.
Cloud Deployment Manager v2 API
Cloud Runtime Configuration API
Cloud Monitoring API
하나 이상의 API가 누락되었다면 상단에 있는 API 및 서비스 사용 설정 버튼을 클릭합니다. 이름으로 위의 API를 검색하고 각각의 API를 현재 프로젝트에 사용 설정합니다. (위에서 적어 놓은 GCP 프로젝트 이름을 참고하세요.)
GCP Console의 우측 상단 툴바에서 'Cloud Shell 열기' 버튼()을 클릭합니다. 계속을 클릭하세요.
편의를 위해 Qwiklabs에서 할당한 영역을 MY_ZONE이라는 환경 변수에 배치합니다. Cloud Shell 프롬프트에 다음 부분 명령어를 입력합니다.
export MY_ZONE=
명령어 뒤에는 Qwiklabs에서 할당한 영역을 입력합니다. 모두 입력하면 전체 명령어는 다음과 같습니다.
export MY_ZONE=us-central1-a
Cloud Shell 프롬프트에서 편집 가능한 Deployment Manager 템플릿을 다운로드합니다.
gsutil cp gs://cloud-training/gcpfcoreinfra/mydeploy.yaml mydeploy.yaml
Cloud Shell에서 다음과 같이 sed 명령어를 사용하여 PROJECT_ID
자리표시자 문자열을 Google Cloud Platform 프로젝트 ID로 교체합니다.
sed -i -e "s/PROJECT_ID/$DEVSHELL_PROJECT_ID/" mydeploy.yaml
Cloud Shell에서 다음과 같이 sed 명령어를 사용하여 ZONE
자리표시자 문자열을 Google Cloud Platform 영역으로 교체합니다.
sed -i -e "s/ZONE/$MY_ZONE/" mydeploy.yaml
다음 명령어를 사용하여 수정 사항이 반영되었는지 mydeploy.yaml
파일을 확인합니다.
cat mydeploy.yaml
파일의 내용은 다음과 같습니다.
resources: - name: my-vm type: compute.v1.instance properties: zone: us-central1-a machineType: zones/us-central1-a/machineTypes/n1-standard-1 metadata: items: - key: startup-script value: "apt-get update" disks: - deviceName: boot type: PERSISTENT boot: true autoDelete: true initializeParams: sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-v20180806 networkInterfaces: - network: https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-dcdf854d278b50cd/global/networks/default accessConfigs: - name: External NAT type: ONE_TO_ONE_NAT
다음 템플릿에서 배포를 빌드합니다.
gcloud deployment-manager deployments create my-first-depl --config mydeploy.yaml
배포 작업이 완료되면 gcloud 명령어가 템플릿에 이름이 지정된 리소스 목록과 리소스의 현재 상태를 표시합니다.
배포에 성공했는지 확인합니다. GCP Console의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
템플릿에서 지정한 것과 같은 my-vm이라는 VM 인스턴스가 생성된 것을 확인할 수 있습니다.
VM 인스턴스의 이름을 클릭하여 VM 인스턴스 세부정보 화면을 엽니다.
커스텀 메타데이터 섹션까지 아래로 스크롤합니다. Deployment Manager 템플릿에 지정된 시작 스크립트가 설치되었는지 확인합니다.
진행 상황 확인을 클릭하여 목표를 확인합니다.
Cloud Shell 프롬프트로 돌아갑니다. nano
텍스트 편집기를 실행하여 다음과 같이 mydeploy.yaml 파일을 편집합니다.
nano mydeploy.yaml
시작 스크립트 값을 설정하는 행(value: "apt-get update"
)을 찾아서 다음과 같이 편집합니다.
value: "apt-get update; apt-get install nginx-light -y"
행 시작에 있는 공백을 지우면 안 됩니다. YAML 템플릿 언어는 들여쓰기한 행을 문법의 일부로 간주합니다. 파일을 편집할 때 새 행의 value
라는 단어 앞 글자 v
는 위 행의 key
라는 단어 앞 글자 k
바로 아래에 있어야 합니다.
Ctrl+O를 누른 다음 Enter를 눌러 수정한 파일을 저장합니다.
Ctrl+X를 눌러 nano 텍스트 편집기를 종료합니다.
Cloud Shell 프롬프트로 돌아갑니다. 다음 명령어를 입력하여 Deployment Manager가 배포를 업데이트하고 새로운 시작 스크립트를 설치하도록 합니다.
gcloud deployment-manager deployments update my-first-depl --config mydeploy.yaml
gcloud 명령어가 업데이트 작업이 성공적으로 완료되었다는 확인 메시지를 표시할 때까지 대기합니다.
GCP Console의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
my-vm VM 인스턴스 이름을 클릭하여 VM 인스턴스 세부정보 창을 엽니다.
커스텀 메타데이터 섹션까지 아래로 스크롤합니다. Deployment Manager 템플릿에 선언한 값이 시작 스크립트에 업데이트되었는지 확인합니다.
진행 상황 확인을 클릭하여 목표를 확인합니다.
GCP Console의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
my-vm의 체크박스를 선택하고 중지를 클릭합니다.
중지를 다시 한번 클릭하여 확인합니다.
VM 인스턴스의 이름을 클릭하여 VM 인스턴스 세부정보 화면을 엽니다.
수정(연필 모양 아이콘)을 클릭합니다.
페이지 하단으로 스크롤하고 서비스 계정 드롭다운에서 Compute Engine 기본 서비스 계정을 선택합니다.
액세스 범위로 모든 Cloud API에 대한 전체 액세스 허용을 선택합니다.
저장을 클릭합니다.
이제 VM 인스턴스 세부정보 화면 페이지의 상단에서 시작을 클릭하여 VM을 다시 시작합니다.
시작을 다시 한번 클릭하여 확인합니다.
GCP Console의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
my-vm 인스턴스에서 명령 프롬프트를 열려면 VM 인스턴스 목록의 행에 있는 SSH를 클릭합니다.
my-vm의 ssh 세션에서 이 명령어를 실행하여 CPU 로드를 생성합니다.
dd if=/dev/urandom | gzip -9 >> /dev/null &
이 Linux 파이프라인은 CPU가 무작위 데이터의 연속 스트림을 압축하도록 합니다.
이제 Qwiklabs GCP 프로젝트와 연결된 모니터링 작업 공간을 설정합니다. 다음 단계는 모니터링 무료 평가판이있는 새 계정을 만듭니다.
Google Cloud Platform 콘솔에서 탐색 메뉴 > 모니터링을 클릭하십시오.
작업 공간이 프로비저닝 될 때까지 기다리십시오.
모니터링 대시 보드가 열리면 작업 공간이 준비된 것입니다.
VM 인스턴스의 SSH 창에서 화면에 표시된 명령어를 실행하여 Monitoring 에이전트와 Logging 에이전트를 모두 설치합니다.
curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
sudo bash install-monitoring-agent.sh
curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
sudo bash install-logging-agent.sh
두 에이전트가 프로젝트의 VM에 모두 설치된 후에는 맨 왼쪽의 기본 Cloud Monitoring 메뉴 아래에 있는 측정항목 탐색기를 클릭합니다.
측정항목 탐색기의 측정항목 창에서 리소스 유형 VM 인스턴스와 측정항목 CPU 사용량을 선택합니다.
결과 그래프에서 CPU 사용량이 몇 분 전에 급격하게 증가했던 것을 주목하세요.
워크로드 생성기를 종료합니다. my-vm의 ssh 세션으로 돌아가서 다음 명령어를 입력합니다.
kill %1
실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.
실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.
별점의 의미는 다음과 같습니다.
의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.
의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.
Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.
현재 이 콘텐츠를 이용할 수 없습니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
감사합니다
이용할 수 있게 되면 이메일로 알려드리겠습니다.
한 번에 실습 1개만 가능
모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.