Google Cloud의 기본 명령줄 도구인 Google Cloud CLI에서 자주 사용하는 명령어 목록입니다.
(소개 도움말, 명령어 이해, 인쇄용 PDF도 포함됩니다.)
요약본
시작하기
gcloud CLI를 사용하여 시작합니다.
gcloud init
: gcloud CLI를 초기화, 승인, 구성합니다.gcloud version
: 버전과 설치된 구성요소를 표시합니다.gcloud components install
: 특정 구성요소를 설치합니다.gcloud components update
: gcloud CLI를 최신 버전으로 업데이트합니다.gcloud config set project
: 작업할 기본 Google Cloud 프로젝트를 설정합니다.gcloud info
: 현재 gcloud CLI 환경 세부정보를 표시합니다.
도움말
gcloud CLI가 최선을 다해 도와드리겠습니다.
gcloud help
: gcloud CLI 참조 문서에서 특정 용어를 검색합니다.gcloud feedback
: gcloud CLI팀에 의견을 보냅니다.gcloud topic
: 접근성, 필터링, 형식 지정과 같은 비명령어 주제에 대한 보충 도움말 자료입니다.
맞춤설정
gcloud CLI를 직접 만들고 속성을 통하여 구성을 맞춤설정합니다.
gcloud config set
: 현재 구성의 속성(예: 컴퓨팅/영역)을 정의합니다.gcloud config get
: gcloud CLI 속성의 값을 가져옵니다.gcloud config list
: 현재 구성의 모든 속성을 표시합니다.gcloud config configurations create
: 이름이 지정된 새 구성을 만듭니다.gcloud config configurations list
: 사용 가능한 모든 구성 목록을 표시합니다.gcloud config configurations activate
: 기존의 이름이 지정된 구성으로 전환합니다.
승인 및 사용자 인증 정보
gcloud CLI에 대한 권한을 부여 및 취소하고 사용자 인증 정보를 관리합니다.
gcloud auth login
: Google Cloud 사용자 인증 정보로 gcloud CLI에 대한 Google Cloud 액세스를 승인하고 현재 계정을 활성으로 설정합니다.gcloud auth activate-service-account
: 서비스 계정 사용자 인증 정보를 사용하여gcloud auth login
과 유사한 Google Cloud 액세스를 승인합니다.gcloud auth application-default
: Cloud 클라이언트 라이브러리의 애플리케이션 기본 사용자 인증 정보(ADC)를 관리합니다.gcloud auth list
: 모든 사용자 인증 정보 계정을 나열합니다.gcloud auth print-access-token
: 현재 계정의 액세스 토큰을 표시합니다.gcloud auth revoke
: 계정의 액세스 사용자 인증 정보를 삭제합니다.
프로젝트
프로젝트 액세스 정책을 관리합니다.
gcloud projects describe
: 프로젝트의 메타데이터(ID 포함)를 표시합니다.gcloud projects add-iam-policy-binding
: 지정된 프로젝트에 IAM 정책 binding을 추가합니다.
IAM
Identity and Access Management(IAM) 환경설정 및 서비스 계정을 구성합니다.
gcloud iam list-grantable-roles
: 리소스에 대해 IAM 역할 부여 가능한 역할을 나열합니다.gcloud iam roles create
: 프로젝트 또는 조직의 커스텀 역할을 만듭니다.gcloud iam service-accounts create
: 프로젝트의 서비스 계정을 만듭니다.gcloud iam service-accounts add-iam-policy-binding
: 서비스 계정에 IAM 정책 binding을 추가합니다.gcloud iam service-accounts set-iam-policy-binding
: 기존 IAM 정책 binding을 바꿉니다.gcloud iam service-accounts keys list
: 서비스 계정의 키를 나열합니다.
Docker 및 Google Kubernetes Engine(GKE)
Kubernetes에서 컨테이너화된 애플리케이션을 관리합니다.
gcloud auth configure-docker
: gcloud CLI를 Docker 사용자 인증 정보 도우미로 등록합니다.gcloud container clusters create
: GKE 컨테이너를 실행할 클러스터를 만듭니다.gcloud container clusters list
: GKE 컨테이너를 실행하기 위한 클러스터를 나열합니다.gcloud container clusters get-credentials
:kubectl
을 가져와서 GKE 클러스터를 사용하기 위해kubeconfig
를 업데이트합니다.gcloud container images list-tags
: 컨테이너 이미지의 태그 및 다이제스트 메타데이터를 나열합니다.
가상 머신 및 Compute Engine
Google Cloud 인프라에서 VM을 생성, 실행, 관리합니다.
gcloud compute zones list
: Compute Engine 영역을 나열합니다.gcloud compute instances create
: VM 인스턴스를 만듭니다.gcloud compute instances describe
: VM 인스턴스의 세부정보를 표시합니다.gcloud compute instances list
: 프로젝트의 모든 VM 인스턴스를 나열합니다.gcloud compute disks snapshot
: 영구 디스크의 스냅샷을 만듭니다.gcloud compute snapshots describe
: 스냅샷의 세부정보를 표시합니다.gcloud compute snapshots delete
: 스냅샷을 삭제합니다.gcloud compute ssh
: SSH를 사용하여 VM 인스턴스에 연결합니다.
서버리스 및 App Engine
완전 관리형 서버리스 플랫폼에서 확장성이 우수한 애플리케이션 빌드하기
gcloud app deploy
: App Engine 서버에 앱의 코드와 구성을 배포합니다.gcloud app versions list
: App Engine 서버에 배포된 모든 서비스의 모든 버전을 나열합니다.gcloud app browse
: 웹브라우저에서 현재 앱을 엽니다.gcloud app create
: 현재 프로젝트 내에서 App Engine 앱을 만듭니다.gcloud app logs read
: 최신 App Engine 앱 로그를 표시합니다.
기타
유용하게 사용되는 명령어
gcloud kms decrypt
: Cloud Key Management Service 키를 사용하여 암호문을 일반 텍스트 파일로 복호화합니다.gcloud logging logs list
: 프로젝트 로그를 나열합니다.gcloud sql backups describe
: Cloud SQL 인스턴스 백업에 대한 정보를 표시합니다.gcloud sql export sql
: Cloud SQL 인스턴스에서 SQL 파일로 데이터를 내보냅니다.
소개 입문서
gcloud CLI를 시작하는 방법에 대한 간단한 입문서 입니다.
Google Cloud CLI 설치
이 설치 안내에 따라 Google Cloud CLI를 설치합니다.
플래그, 인수 및 기타 놀라운 추가
인수는 위치 인수 또는 플래그일 수 있습니다.
- 위치 인수: 명령어 이름 뒤에 설정하며 위치 인수의 순서를 준수해야 합니다.
플래그: 위치 인수 뒤에 설정되며 플래그 순서는 중요하지 않습니다.
플래그는 다음 중 하나일 수 있습니다.
- 이름-값 쌍(
--foo=bar
) - 불리언(
--force/no-force
)
또한 플래그는 다음 중 하나일 수 있습니다.
- 필수
- 선택사항: 선택적 플래그가 정의되어 있지 않으면 기본값이 사용됩니다.
- 이름-값 쌍(
전역 플래그
다음과 같은 일부 플래그는 gcloud CLI 환경 전체에서 사용할 수 있습니다.
--help
: 잘 모르는 경우 명령어에 대한 자세한 도움말을 표시합니다.--project
: 현재 프로젝트가 아닌 다른 프로젝트를 사용하는 경우 사용합니다.--quiet
: 대화형 메시지 표시를 사용 중지하고 입력에 기본값을 적용합니다.--verbosity
:debug
,info
,warning
,error
,critical
,none
의 세부정보 수준을 설정합니다.--version
:gcloud
버전 정보를 표시합니다.--format
:config
,csv
,default
,diff
,disable
,flattened
,get
,json
,list
,multi
,none
,object
,table
,text
,value
,yaml
로 출력 형식을 설정합니다.
결과 정리
필터, 형식, 제한, 정렬 기준 플래그를 통해 출력에서 최대한 활용할 수 있습니다.
f1-micro
머신 유형이 아니고 프리픽스가 us
인 Compute Engine 인스턴스의 경우 다음 명령어를 사용합니다.
gcloud compute instances list --filter="zone ~ ^us AND -machineType:f1-micro"
2018년 1월 15일 이후에 생성된 프로젝트 목록이 가장 오래된 것부터 최신순으로 정렬되고 프로젝트 번호, 프로젝트 ID, 로컬 시간대의 날짜 및 시간으로 이루어진 생성 시간 열이 있는 테이블로 표시되는 경우 다음 명령어를 사용합니다.
gcloud projects list --format="table(projectNumber,projectId,createTime.date(tz=LOCAL))"
--filter="createTime>=2018-01-15T12:00:00" --sort-by=createTime
my-label
(모든 값) 라벨이 지정된 Compute Engine 인스턴스 10개 목록의 경우 다음 명령어를 사용합니다.
gcloud compute instances list --filter="labels.my-label:*" --limit=10
명령어 이해
명령어를 자체적으로 검색할 수 있도록 하는 gcloud CLI 명령어의 기본 패턴입니다.
gcloud CLI 명령어 찾기
gcloud CLI는 트리입니다. 리프가 아닌 노드는 명령어 그룹이고 리프 노드는 명령어입니다. 명령어 및 리소스에서도 명령줄 자동 완성 기능을 사용할 수 있습니다.
대부분의 gcloud
명령어는 다음 형식을 따릅니다.
gcloud + release level (optional) + component + entity + operation + positional args + flags
예를 들면 다음과 같습니다.
gcloud + compute + instances + create + example-instance-1 + --zone=us-central1-a
출시 레벨
출시 레벨은 명령어의 릴리스 상태를 나타냅니다.
예시: 알파 명령어의 경우 alpha
, 베타 명령어의 경우 beta
, GA 명령어의 경우 출시 레벨이 필요하지 않습니다.
구성요소
구성요소는 다양한 Google Cloud 서비스를 나타냅니다.
예시: Compute Engine의 경우 compute
, App Engine의 경우 app
등입니다.
항목
항목은 구성요소 아래에 있는 요소 또는 요소 모음의 복수 형태를 나타냅니다.
예시: compute의 경우 disks
, firewalls
, images
, instances
, regions
, zones
이 있습니다.
작업
작업은 항목에서 수행할 작업의 명령형 동사 형태를 나타냅니다.
예시: 일반적인 작업은 describe
, list
, create/update
,
delete/clear
, import
, export
, copy
, remove
, add
, reset
, restart
,
restore
, run
, deploy
입니다.
위치 인수
위치 인수는 명령어를 실행하는 데 필요한 필수 순서별 인수를 나타냅니다.
예시: <INSTANCE_NAMES>
은 gcloud compute instances create
의 필수 위치 인수입니다.
플래그
플래그는 위치 인수 뒤에 명령어로 전달되는 추가 인수 --flag-name(=value)
를 나타냅니다.
예시: --machine-type=<MACHINE_TYPE>
및 --preemptible
는 gcloud compute instances create
에 대한 선택적 플래그입니다.