본문 바로가기

컴퓨터/클라우드

[GCP Associate Cloud Engineer] Gcloud

GCloud CLI

Google Cloud 리소스와 상호 작용하는 명령줄 인터페이스로 Google Cloud SDK의 일부이며, VM 생성, 데이터베이스 관리, 리소스 업데이트 및 배포 등 대부분의 GCP 작업을 CLI에서 수행 가능하다.

 

GCloud 외 GCP 서비스별 CLI 도구

gsutil: Cloud Storage 관리

bq: BigQuery 관리

cbd: Bigtable 관리

kubectl: Kubernetes 클러스터 내 포드와 배포 관리

 

GCloud 설치 및 접근

 

Google Cloud SDK를 설치하면 GCloud CLI가 포함되어 있다.

SDK 설치 시 Python 필요한데 설치 지침은 아래 Google Cloud 공식 문서에서 확인 가능하다.

https://cloud.google.com/sdk/docs/install?hl=ko

 

gcloud CLI 설치  |  Google Cloud CLI Documentation

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 gcloud CLI 설치 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 페이지에는 Google Cloud CLI

cloud.google.com

 

클라우드 셸을 사용하여 로컬 설치 없이 Google Cloud 콘솔 내 기능으로 GCloud CLI를 사용할 수 있다.

Cloud Shell은 미리 설정된 GCloud CLI와 몇 가지 유틸리티가 포함된 환경을 제공한다.

클라우스 셸을 통해 설치는 아래와 같은 방법으로 진행하면 된다.

VM인스턴스에서 Cloud Shell활성화
gcloud init실행
구글 계정과 gcloud를 만들 프로젝트 선택

 

리전의 위치를 선택

 

gcloud 설치 완료

GCloud 구성 명령어와 활용

아래와 같은 명령어를 통해서 gcloud의 현재 구성을 확인해 볼 수 있다.

gcloud config list

 

 

생성된 gcloud 확인

 

만약 전체 구성이 아닌 특정 구성을 확인해보고 싶으면 아래와 같이 입력하면 된다.

 

# 계정 확인
gcloud config list core/account

# 지역 확인
gcloud config list compute/region

# 구역 확인
gcloud config list compute/zone

# 도움말 확인
gcloud config list --help

 

 

구성 설정

기본 구역을 바꾸거나 기본 계정을 바꾸는 것과 같이 구성을 변경하기 위해선 아래와 같이 진행하면 된다.

gcloud config set SECTION/PROPERTY VALUE

이와 같은 유형으로 구문을 작성하면 되는데 여기서 SECTION은 설정하려는 섹션으로 core, compute와 같은 것들이 해당하고, PROPERTY는 속성으로 project, region, zone등을 뜻한다. 마지막으로 VALUE는 설정 값을 의미한다.

 

예시

# 프로젝트 설정
gcloud config set project my-project-id

# 지역 설정
gcloud config set compute/region us-east1

# 구역 설정
gcloud config set compute/zone us-east1-b

# 프로젝트 변경
gcloud config set project new-project-id

# 활성 프로젝트 설정
gcloud config set core/project my-project-id

 

 

그리고 구성을 제거하기 위해서는 아래와 같은 양식으로 작성을 하면 된다.

gcloud config unset SECTION/PROPERTY

 

예시

# 프로젝트 제거
gcloud config unset project

# 지역 제거
gcloud config unset compute/region

 

GCloud 다중 구성 관리

여러 프로젝트나 환경을 관리할 때 구성 간 전환으로 계정, 프로젝트, 지역, 구역 등을 손쉽게 변경하기 위해 다중 구성이 필요한 경우가 있다.

 

구성 목록 확인

gcloud config configurations list

 

 

구성 목록 확인

구성 생성

gcloud config configurations create CONFIG_NAME

 

 

구성 생성

새로 생성된 구성은 자동으로 활성화 되는 것을 볼 수 있다.

생성된 구성이 실행

 

추가 예시

# 다른 구성으로 전환
gcloud config configurations activate CONFIG_NAME

# 구성 설명
gcloud config configurations describe CONFIG_NAME

# 구성 삭제
gcloud config configurations delete CONFIG_NAME

GCloud 명령 구조 및 컴퓨트 서비스 활용

GCloud 명령어는 그룹, 하위 집단, 액션 구조로 구성된다. 여기서 그룹은 서비스의 주요 범주로 compute, storage, functions 등이 해당되고, 하위 집단은 그룹 내의 세부 요소로 instances, regions, zones 등이 포함된다. 그리고 액션은 수행할 작업으로 list, create, delete 등을 뜻한다.

 

 

# 새 인스턴스 생성
gcloud compute instances create INSTANCE_NAME

# 구역과 유형을 명시적으로 설정
gcloud compute instances create INSTANCE_NAME \
  --zone=us-east1-b \
  --machine-type=n1-standard-2

# 지역 목록 확인
gcloud compute regions list

# 구역 목록 확인
gcloud compute zones list

# 기계 목록 확인
gcloud compute machine-types list

# 필터링
gcloud compute machine-types list --filter="zone:asia-southeast2-b"

# 다중구역 필터링
gcloud compute machine-types list --filter="zone=(asia-southeast2-b asia-southeast2-c)"
  
# 정렬
gcloud compute machine-types list --sort-by=zone

# 정렬 역방향
gcloud compute machine-types list --sort-by=~zone

 

추가적인 내용은 아래 문서를 참고하면 된다.

https://cloud.google.com/sdk/gcloud/reference/compute/instances

 

gcloud compute instances  |  Google Cloud CLI Documentation

 

cloud.google.com

 

GCloud 인스턴스 우선 순위

Google Cloud에서는 컴퓨트 인스턴스와 관련된 작업을 수행할 때 기본 지역과 구역을 설정할 수 있는 세 가지 방법이 있다.

1.명령어에 --zone 또는 --region이 지정되었다면, 해당 값을 사용.

2. 명령어에 값이 지정되지 않았다면, 로컬 GCloud CLI 구성 값(gcloud config)을 사용.

3. 명령어와 로컬 GCloud CLI 구성에서 값이 지정되지 않았다면, 프로젝트 메타데이터 값을 사용.