GCP

Google Cloud Platform for AWS Professionals Labs

김모우 2021. 4. 15. 17:23
728x90
반응형

사전 준비

: 아래 사이트 접속

- URL: googlecloud.qwiklabs.com/

- 회사에서 진행한 교육으로 회사 계정으로 실습용 계정 생성 // www.coursera.org/learn/gcp-fundamentals-aws

- 위의 URL에서 동일한 교육이 무료로 가능한 걸로 보입니다.

 

 

AWS 전문가를 위한 Google Cloud Platform 기초

Google 클라우드에서 제공합니다. This accelerated 6-hour course with labs introduces AWS professionals to the core capabilities of Google Cloud Platform ... 무료로 등록하십시오.

www.coursera.org

1. Google Cloud Fundamentals: Getting Started with Cloud Marketplace

 

설명에 따라 실습을 시작 버튼을 눌러줍니다.

Google Console을 열고 왼쪽의 Nav Tab에서 Marketplace를 클릭해줍니다.

LAMP를 검색한 후 LAMP Certified by Bitnami를 클릭해줍니다.

Launch 버튼을 클릭해 시작해줍니다.

Zone은 Quicklabs에서 제공되는 Zone으로 설정해줍니다.

Deploy 버튼을 눌러 배포해줍니다.

 

배포완료 후 오른쪽 페이지에 URL을 통해 정상적으로 Index 페이지가 나오는지 확인합니다.

페이지 정상 출력 확인 후 종류 후 SSH 접속 후 아래와 같이 명령어를 실행합니다.

# cd /opt/bitnami
# sudo sh -c 'echo "<?php phpinfo(); ?>" > apache2/htdocs/phpinfo.php'
# exit

 

이전에 접속한 페이지에 php 주소를 추가해준 후 아래와 같이 php 페이지가 정상적으로 출력되는지 확인합니다.

 

첫번째 Lab은 진행하면서 화면 캡쳐를 제대로 못했네요... 어리버리하고 있다가 허헣

 

2. Google Cloud Fundamentals: Getting Started with Compute Engine

 

Compute Engine->VM Instances 선택

 

Create Instance 선택

quicklabs에서 확인되는 Region, Zone을 입력

나머지 기본 값 사용, Firewall에서 http 트래픽 허용 체크

 

 

Cloud shell을 열고 zone list 확인

# gcloud compute zones list | grep us-central1

us-central1-a zone에 현재 vm이 있다면 다른 zone 선택

# gcloud config set compute/zone us-central1-b

# gcloud compute instances create "my-vm-2" \ --machine-type "n1-standard-1" \ --image-project "debian-cloud" \ --image-family "debian-10" \ --subnet "default"

# exit

 

VM 생성 확인

 

my-vm-1 ssh 클릭 후 접속

# apt-get install nginx-light -y

# sudo nano /var/www/html/index.nginx-debian.html

.

.

.

<h1>Hi from [이름]<h1>

.

.

Ctrl + O

Enter

Ctrl + X

# cat /var/ww/html/index.nginx-debian.html

: 변경 사항 확인

# curl http://localhost

 

external IP 접속 후 웹 페에지 정상 출력 확인

 

3. Google Cloud Fundamentals: Getting Started with Cloud Storage and Cloud SQL

 

WEB 서버를 실행할 instance 생성

시작 스크립트를 활용하여 apache, php, php-mysql 자동 설치

 

 

LOCATION 설정

 

CLOUD Storage에 이미지 파일 저장

 

MYSQL 인스턴스 생성

 

DB User 및 암호 설정

 

Networking -> Public IP 선택

New Network -> VM External IP 추가

 

위에서 설정 한 DB 설정 index.php에 추가

: DB 서버 주소, 계정, 암호

 

 

DB 정상 접속 확인

 

Cloud stroage URL 확인 및 복사

index.php에 이미지를 불러오는 코드 추가

<img src='[복사한 URL]'>

 

 

정상 출력 확인

 

4. Google Cloud Fundamentals: Getting Started with GKE

 

Nav bar->APIs & Services 클릭

Kubernetes Engine API, Google Container Registry API Enable 상태 확인

 

 

Cloud Shell 열기

QuickLabs에 주어진 존 입력

Kubernetes 클러스터 시작 

Kubernetes Engine이 가상 머신을 프로비저닝하므로 클러스터 생성 시 시간이 조금 소요됩니다.

 

완료되며 아래와 같이 표시되며, kubectl version 명령어를 통해 정상적으로 Kubernets가 설치되었는지 확인

 

Compute Engine을 확인해보면 아래와 같이 2개의 노드가 생성되었습니다.

 

Nginx 컨테이너의 단일 인스턴스를 시작합니다.

만약 실행되는 노드에서 장애가 발생할 경우 주어진 수의 pod를 계속 실행합니다. 여기서는 Default인 pod 1개로 시작되었습니다.

kubectl get pods를 통해 실행중인 pod 확인

해당 컨테이너를 로드밸런서 타입으로 80번 포트로 외부 오픈합니다.

 

kubectl get service 명령어를 통해 정상적으로 External-IP가 들어오는지 확인합니다.

IP가 확인되었으면 웹 서버를 직접 접속해봅니다.

 

 

정상 접속 확인

 

kubectl scale deployment nginx --replicas 3 명령어를 통해 포트를 3개로 확장해봅니다.

kubectl get pods 명령어로 확인 시 기존 Pod 1개에서 3개로 확장된 걸 확인이 가능합니다.

웹 서버 접속 시 IP 변경없이 정상적으로 접근이 가능한 걸 확인할 수 있습니다.

 

 

5. Google Cloud Fundamentals: Getting Started with Deployment Manager and Cloud Monitoring

 

API Enabled 체크

Cloud Deployment Manager v2 API
Cloud Runtime Configuration API
Cloud Monitoring API

 

 

Zone 설정 및 서버 Deployment 파일 다운로드

 

초기 파일 구조

 

아래 명령어를 통해 PROJECT_ID, ZONE을 자신의 것으로 바꿔줍니다.

 

sed -i -e "s/PROJECT_ID/$DEVSHELL_PROJECT_ID/" mydeploy.yaml

sed -i -e "s/ZONE/$MY_ZONE/" mydeploy.yaml

 

 

아래 명령어를 통해 설정한 템플릿을 배포 합니다.

gcloud deployment-manager deployments create my-first-depl --config mydeploy.yaml

my-vm이란 이름을 가진 vm이 생성되며 metadata에 지정한 item이 생성이 됩니다.

 

 

 

VM을 아래와 같이 설정 후 Stop 시킵니다.

Service account -> Compute Engine default service account

Access scopes -> Allow full access to all Cloud APIs

Cloud Monitoring 기능을 이용하기 위한 기반 마련

 

 

저장 후 인스턴스 재 시작

SSH 접속

CPU가 연속적인 임의 데이터 스트림을 압축하게끔 작업을 돌림 - 워크로드 증가

: & 백그라운드로 작업 실행

 

 

Nav Bar->Monitoring 선택

Workspace 생성에 시간이 조금 소요됩니다.

VM SSH로 다시 돌아와 Monitoring, Logging Agent를 설치해줍니다.

# 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

 

 

Monitoring Tab 

Metric Exploler

Resouce Type: VM Instance, Metric: CPU usage 선택

 

 

# kill %1

: 워크로드 생성기 종료

: 첫번째로 실행중인 작업 종료 // jobs 명령어의 맨 위의 작업

 

 

6. Google Cloud Fundamentals: Getting Started with BigQuery

 

Nav Bar->Big Query 클릭

오른쪽의 프로젝트 명 클릭 후 Create DATASET 클릭

 

Select file from GCS bucket에 아래 경로 입력, File format csv로 자동 설정Dataset name 입력, Table type Native table 사용Schema -> Shcema and input parameters 옵션 선택

 

Table 생성 확인

 

Editor에서 쿼리문 실행

데이터 확인

 

 

 

Cloud Shell 실행 후 쿼리문 실행

데이터 확인

 

728x90
반응형

'GCP' 카테고리의 다른 글

Terraform Variables  (0) 2023.03.14
Terraform 시작하기  (0) 2023.02.12
GCP Cloud Run  (0) 2023.02.06