GOAL
- 클라우드 컴퓨팅 기본 개념 이해
- Google Cloud의 리소스 구성과 관리 방법 학습
- 리소스 할당 및 해제를 위한 도구 사용 방법 학습
📑 DB의 경우, Compute Engine이나 GKE에 자체 데이터베이스 서버를 운영하거나 Bigtable/Cloud Storage/Cloud SQL/Cloud Spanner/DataStore 같은 스토리지를 사용할 수 있다.
📑 이외에도 Google Cloud는 Vision API 같은 다양한 ML API를 제공
1 ) Which of these Google Cloud compute services provides environments for execution of code, in which users don't have to worry about infrastructure management? Choose all that are correct (2 correct answers).
📑 인프라 고려 없이 코드만 실행할 수 있도록 환경을 제공하는 Google Cloud 서비스는?
정답 : App Engine, Cloud Functions
2 ) Which statements are true about cloud computing? Mark all that are true (2 correct answers).
📑 클라우드 컴퓨팅 설명 맞는 것 두 가지
정답 :
오답 :
하드웨어 같은 물리적 리소스와 가상 머신, 컨테이너 같은 가상 리소스는 Google의 글로벌 데이터 센터에서 관리
- Multi-region, Region, Zone에서 리소스 제공
Multi-region
Region
Zone
📑 GCP는 Low-level의 보안, 네트워크 보안 등의 하위 계층의 보안을 관리해줌
1. Within which of these Google Cloud geographic scopes are network latencies generally less than 1 millisecond? Choose all that are correct (2 correct answers).
📑 1ms보다 작은 latency를 가지는 지리적 영역 두 가지
정답 : Zone, Region
2. What type of resource is a Compute Engine virtual machine?
정답 : Zonal
3. What is the base-level organizing entity for creating and using Google Cloud resources and services?
📑 Gogle Cloud 리소스와 서비스를 사용하고 만드는 기본 관리 단위
정답 : Project
💰 한계점 설정을 할 수 있어 일정량에 도달하면 서비스 중지 등의 설정이 가능
- 리소스를 사용한 만큼 비용 지불
1 ) Which type of quota resets at regular intervals?
정답 : Rate quotas
2) At what level in the Google Cloud resource hierarchy is billing set up?
정답 : Project
1.
Which of these ways to interact with give you access to the gcloud and kubectl commands? Choose all that are correct (2 correct answers).
📑 glcoud와 kubectl 명령에 접근할 수 있는 상호작용 방법 2가지
정답 : Cloud Shell, Cloud SDK
GOAL
- GCP 콘솔 사용법 배우기
- Cloud Shell 코드 편집기 등 기능 알아보기
- GCP 콘솔과 Cloud Shell로 버킷, VM, 서비스 계정 생성 실습
📑 IAM 서비스 계정은 애플리케이션이나 가상 머신에 속하는 특별한 유형의 Google 계정
📑 KEY는 나중에 VM에 업로드하여 사용될 예정
📑 Cloud Shell은 브라우저에서 cloud resources에 직접적인 접근을 할 수 있는 comand-line을 제공
- gcloud 같은 Cloud SDK command-line tools를 항상 최신, 최고 권한으로 사용 가능
Cloud Shell에서 가능한 일들
- 임시 Compute Engine VM
- Browser에서 Command-line으로 instance에 접근
- 영구 디스크 저장소 5GB ($HOME dir)
- 설치되어 있는 Cloud SDK와 다른 도구들
gcloud
: Cloud Engine, GKE 그리고 많은 Google Cloud services 작업용gsutil
: Cloud Storage 작업용kubectl
: GKE와 Kubernetes 작업용bq
: BigQuery 작업용- 다양한 프로그래밍 언어 지원
- 웹 미리보기 기능
- 리소스와 인스턴스에 대한 액세스 권한 내장
📑 1시간 동안 활동이 없으면 Cloud Shell Instance가 재활용됨 (/home directory만 영구)
📑 버킷 생성/관리를 위한 환경변수 설정
✨ Cloud Shell을 사용할 때는 환경변수를 사용하여 오류 발생 확률을 줄이자
MY_BUCKET_NAME_1=[BUCKET_NAME]
MY_BUCKET_NAME_2=[BUCKET_NAME_2]
MY_REGION=us-central1
📑 IAM service account 생성 시 다운로드 받은 KEY를
credentials.json
으로 rename하여 VM에 업로드
📑 gsutil로 버킷 만들어서 확인하기
gsutil mb gs://$MY_BUCKET_NAME_2
📑 두 번째 VM 생성하기
Region에 할당된 모든 Zone list 확인
gcloud compute zones list | grep $MY_REGION
Zone 설정
MY_ZONE=[ZONE]
gcloud config set compute/zone $MY_ZONE
VM 이름 설정 및 생성
gcloud compute instances create $MY_VMNAME \
--machine-type "e2-standard-2" \
--image-project "debian-cloud" \
--image-family "debian-11" \
--subnet "default"
Instance 확인
service account 생성
gcloud iam service-accounts create test-service-account2 --display-name "test-service-account2"
두 번째 service account에 권한 부여
gcloud projects add-iam-policy-binding $GOOGLE_CLOUD_PROJECT --member serviceAccount:test-service-account2@${GOOGLE_CLOUD_PROJECT}.iam.gserviceaccount.com --role roles/viewer
📑 Cloud Shell에서 Cloud Storage 사용하기
이미지 다운로드
gsutil cp gs://cloud-training/ak8s/cat.jpg cat.jpg
버킷으로 복사
gsutil cp cat.jpg gs://$MY_BUCKET_NAME_1
첫 번째에서 두 번째 버킷으로 복사
gsutil cp gs://$MY_BUCKET_NAME_1/cat.jpg gs://$MY_BUCKET_NAME_2/cat.jpg
object 접근 권한 확인
gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl.txt
cat acl.txt
접근 권한을 private으로 변경하기
gsutil acl set private gs://$MY_BUCKET_NAME_1/cat.jpg
변경된 권환 확인
gsutil acl get gs://$MY_BUCKET_NAME_1/cat.jpg > acl-2.txt
cat acl-2.txt
gcloud config list
gcloud auth activate-service-account --key-file credentials.json
gcloud config list
📑 first-vm에 nginx 설정해서 메인 페이지에 cat.jpg 보여주기
index.html에 넣을 cat.jpg 이미지 경로 참고
- 첫 번째 버킷의 이미지 경로 복사하기
실습 정리 진행중