펌 - 출처 : 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를 입력하여 편집기를 종료.

+ Recent posts