본문 바로가기

Tech. Insight/AI · Data Science

[구글 클라우드 플랫폼] Cloud Shell 및 gcloud 시작하기

반응형

펌 - 출처 : GCP qwiklabs

 

Cloud Shell 시작

GCP Console의 오른쪽 상단에 있는 아이콘을 클릭하여 Cloud Shell 세션 오픈

Cloud Shell을 시작

- Cloud Shell이 활성화되면 명령줄을 사용하여 Cloud SDK gcloud 명령어나 가상 머신 인스턴스에서 사용할 수 있는 다른 도구 호출 가능

- $HOME 디렉터리는 본인에게만 공개되며 다른 사용자는 액세스할 수 없음

 

리전 및 영역의 이해

- 리전(resion): 리소스를 실행할 수 있는 특정 지리적 위치

- 각 리전에는 하나 이상의 영역(zone) 有

- 예: us-central1 리전은 us-central1-a, us-central1-b, us-central1-c 및 us-central1-f 영역이 있는 미국 중부의 리전

- 영역별 리소스 : 영역 내에 상주하는 리소스

- 영구 디스크를 가상 머신 인스턴스에 연결하려면 두 리소스가 모두 같은 영역에 있어야 하며, 인스턴스에 정적 IP 주소를 할당하려는 경우 인스턴스가 정적 IP와 같은 리전에 있어야 함

- 참고 : 리전 및 영역 문서

- 기본 리전 & 영역 설정

google-compute-default-zone google-compute-default-region

기본 리전 및 영역 설정을 확인하려면  gcloud 명령어 실행

※ <your_project_id>부분에 본인의 프로젝트 ID 입력

gcloud compute project-info describe --project <your_project_ID>

 

응답에서 google-compute-default-region 및 google-compute-default-zone 키와 값이 누락되면 기본 영역이나 리전이 설정되지 않은 것

 

Cloud SDK 초기화

- gcloud CLI는 Google Cloud SDK에 포함

-시스템에 SDK를 다운로드하고 설치한 후 gcloud init을 실행하여 SDK를 초기화하면 gcloud 명령줄 도구 사용 가능

- gcloud CLI는 Cloud Shell에서 자동 제공

 

환경 변수 설정

프로젝트 ID 환경 변수 설정

export PROJECT_ID=<your_project_ID>

 

ZONE 환경 변수 설정

export ZONE=<your_zone>

 

변수 설정 확인

echo $PROJECT_ID
echo $ZONE

 

 

gcloud를 사용하여 가상 머신 만들기

- gcloud를 사용하여 새로운 가상 머신 인스턴스 생성

  • gcloud compute : Compute Engine API를 사용할 때보다 익숙한 형식으로 Google Compute Engine 리소스 관리 가능
  • instances create : 새 인스턴스 생성

가상머신 생성

  • 가상 머신의 이름 : 'gcelab2'
  • 머신 유형 : 'n1-standard-2' / --machine-type 플래그 사용
  • 영역 설정 : --zone 플래그 사용
gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone $ZONE

 

(결과)

※ --zone 플래그 생략시, gcloud가 기본 속성 기준으로 원하는 영역 설정. 머신 유형 및 이미지와 같은 기타 필수 인스턴스 설정은 create 명령어에 지정되지 않은 경우 기본값으로 설정됨.

 

create 명령어 : 도움말 표시

gcloud compute instances create --help

 

 

gcloud 명령어 사용

- gcloud 사용 시 gcloud 호출 명령어의 끝에 -h 플래그를 추가하면 사용 안내가 표기됨.

gcloud -h

 

더 상세한 도움말을 확인하려면 --help 플래그를 추가하거나 gcloud help 명령어를 실행

gcloud config --help

 

도움말 콘텐츠를 스크롤하려면 Enter 키나 스페이스바, 표시된 콘텐츠에서 나가려면 q 입력

gcloud help config

 

- 상세 도움말 표시 : gcloud config --help 또는 gcloud help config

- gcloud 전역 플래그는 호출 레벨에 따른 명령어 동작 제어. 플래그는 SDK 속성에서 설정된 모든 값을 재정의

 

환경에서 구성 목록 확인

gcloud config list

 

다른 설정 속성 확인

gcloud config list --all

 

컴포넌트 리스트 확인

gcloud components list

 

 

 

자동 완성

- gcloud interactive는 명령어 및 플래그를 자동으로 추천, 명령어 입력 시 하단에 인라인 도움말 스니펫을 표시

- 드롭다운 메뉴 : 명령어/하위 명령어 이름과 같은 정적 정보와 플래그 이름 및 열거형 플래그 값을 자동 완성 가능

 

베타 구성요소 설치

gcloud components install beta

 

gcloud interactive 모드로 전환

gcloud beta interactive

 

- 대화형 모드를 사용하는 경우 Tab 키를 클릭하여 파일 경로 및 리소스 인수 입력

- 드롭다운 메뉴가 나타나면 Tab 키를 사용하여 목록을 이동하고 스페이스바를 사용하여 원하는 항목을 선택

gcloud compute instances describe <your_vm>

 

- Cloud Shell 하단에 이 기능을 설정하는 단축키가 표시됨. 여기에서 F2 토글 가능.

- F2:help:STATE를 통해 활성 도움말 섹션(ON: 사용, OFF: 사용 중지)을 전환

 

VM 인스턴스에 SSH 사용

- gcloud compute : 인스턴스에 연결

- gcloud compute ssh : SSH에 래퍼 기능을 제공하여 인증 및 인스턴스 이름과 IP 주소의 매핑을 처리

 

gcloud compute ssh를 사용하여 가상 머신에 SSH를 사용

gcloud compute ssh gcelab2 --zone $ZONE

 

(결과)

WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys.

 

'Y' 입력

Do you want to continue? (Y/n)

암호 섹션에서는 암호 입력 후 Enter 키를 눌러 암호 설정 (그냥 Enter를 누르면 암호가 공백으로 설정됨)

Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)

'exit'를 입력하면 원격 셸이 종료되어 SSH 연결 종료

exit

 

 

 

홈 디렉터리 사용

- Cloud Shell 홈 디렉터리의 콘텐츠는 가상 머신을 종료했다가 다시 시작해도 모든 Cloud Shell 세션의 프로젝트에서 유지됨

현재 작업 디렉터리 변경

cd $HOME

 

vi 텍스트 편집기를 사용하여 .bashrc 구성 파일 오픈

vi ./.bashrc

 

편집기가 열리면서 파일 콘텐츠가 표시됨. ESC 키를 누른 후 :wq를 입력하여 편집기를 종료.

반응형