Google Cloud SDK
Cloud SDK 설치 및 설정
- Google Cloud SDK 설치
1 2
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe") & $env:Temp\GoogleCloudSDKInstaller.exe
- gsutil 컴포넌트 설치
1
gcloud components install gsutil
- gcloud CLI 초기화
1
gcloud init
- Google 사용자 계정을 사용하여 GCP 로그인 하는 옵션 수락 (Y)
1
To continue, you must log in. Would you like to log in (Y/n)? Y
- 브라우저 창이 열리면 Google 계정에 로그인 후 허용 버튼 클릭
- GCP 리소스 액세스 권한 부여 과정
- prompt 창에 표시된 사용 가능한 GCP 프로젝트 선택
1 2 3 4 5
Pick cloud project to use: [1] [my-project-1] [2] [my-project-2] ... Please enter your numeric choice: 2
- 기본 Compute Engine 영역 선택
1 2 3 4 5 6
Which compute zone would you like to use as project default? [1] [asia-east1-a] [2] [asia-east1-b] ... [14] Do not use default zone Please enter your numeric choice:
SDK 설치 시 설치되는 구성요소
gcloud
- 기본 gcloud CLI 명령어
- Google Cloud와 상호작용하기 위한 도구
bq
- BigQuery 명령줄 도구
- Google BigQuery의 데이터 처리하기 위한 도구
gsutil
- Cloud Storage 명령줄 도구
- Google Cloud Storage와 관련된 작업 수행하기 위한 도구
core
- Cloud SDK 핵심 라이브러리
- SDK 도구 내부적으로 사용하는 라이브러리
명령어
gcloud
- 기본 설정
1 2 3
gcloud projects create [PROJECT_ID] # GCP 프로젝트 생성 gcloud config set project [PROJECT_ID] # 프로젝트 재설정 gcloud config set compute/zone [COMPUTE-ZONE] # Region 설정
- 권한 설정
1
gcloud auth activate-service-account [SERVICE ACCOUNT] --key-file=[KEY_FILE] # 서비스 키로 권한 설정
- 정보 확인
1 2 3 4 5 6 7 8 9
gcloud auth list # 사용자 인증 정보 확인 gcloud config list # 활성 SDK 구성 속성 나열 gcloud info # gloud SDK 설치 및 활성 SDK 구성 정보 확인 gcloud help # gcloud 명령어 및 기타 주제 정보 확인 gcloud components list # 현재 설치된 사용 가능한 구성요소 목록 확인 명령어 gcloud components install [components-id] # Cloud SDK 설치 버전에서 구성 요소 설치하는 명령어 gcloud components update # 설치된 모든 구성요소를 최신 Cloud SDK 버전으로 업데이트 gcloud components update --version [VERSION] # 지정된 버전으로 버전 gcloud components remove [COMPONENT-ID] # 구성 요소 삭제
- Cloud Task Que
1 2
gcloud tasks queues create [queue_id] # Que 만들기 gcloud tasks queues describe [queue_id] # 대기열 생성 확인
- Pub/Sub
1
gcloud pubsub topics create [TOPIC-ID] # 주제 생성
- Cloud SQL
1 2
gcloud sql databases create [DATABASE_NAME] --instance=[INSTANCE_NAME] # Cloud SQL 인스턴스에서 데이터베이스 생성 gcloud sql instances describe [DATABASE_NAME] | findstr "connectionName" # 연결 이름 확인
- Cloud Function
1 2
gcloud functions deploy [FUNCTION_NAME] --runtime python37 --trigger-http --allow-unauthenticated --region [REGION] --timeout 540 --project=[PROJECT-ID] # HTTP 함수 배포 gcloud functions deploy [FUNCTION_NAME] --runtime [runtime] --trigger-resource [TRIGGER_BUCKET_NAME] --trigger-event google.storage.object.finalize --region [REGION] --timeout 540 --project=[PROJECT-ID] # 이벤트 기반 함수 배포
deploy
- 배포 중에 실행할 소스 코드의 함수 이름 지정
--runtime
- 함수의 runtime
--trigger-http
- 함수의 트리거 유형(HTTP 요청)
-trigger-resource
- 함수의 트리거 리소스
- 트리거 이벤트가 관찰되는 리소스 지정
- 함수를 트리거하는 Cloud Storage 버킷 이름 지정
-trigger-event
- 함수의 트리거 이벤트
- 함수를 트리거할 작업 지정
-allow-unauthenticated
- 함수 호출에 인증이 필요한지 지정
gsutil
- 정보 확인
1 2 3 4 5
gsutil version -l # gsutil 버전 확인 gsutil list # 나의 버킷 리스트 보기 gsutil ls -r gs://[BUKET_NAME] # 버킷 내 객체 확인 gsutil du -s gs://[BUKET_NAME] # 버킷 용량 확인 gsutil ls -l gs://[FILE_PATH] # 객체 세부 정보 보기
- 버킷 및 객체 관리
1 2 3 4 5 6 7 8 9
gsutil mb gs://[BUKET_NAME] # 버킷 생성 gsutil rb gs://[BUKET_NAME] # 버킷 삭제 gsutil cp [LOCAL_FILE_PATH] gs://[BUKET_NAME] # 로컬 파일 → 버킷 복사 (업로드) gsutil cp gs://[BUKET_NAME] [LOCAL_FILE_PATH] # 버킷 객체 → 로컬 복사 (다운로드) gsutil cp -r gs://[BUKET_NAME] gs://[BUKET_NAME] # 버킷 → 버킷 복사 gsutil mv [LOCAL_FILE_PATH] gs://[BUKET_NAME] # 로컬 → 버킷 이동 gsutil mv gs://[BUKET_NAME] [LOCAL_FILE_PATH] # 버킷 → 로컬 이동 gsutil rm gs://[FILE_PATH] # 객체 삭제 gsutil rm -r gs://[BUKET_NAME] # 버킷과 객체 삭제
- 권한 설정
1 2 3 4
gsutil iam ch allUsers:objectViewer gs://[BUKET_NAME] # 모든 사용자가 버킷 객체 읽을 수 있는 권한 부여 gsutil iam ch -d allUsers:objectViewer gs://[BUKET_NAME] # 권한 삭제 gsutil iam ch user:[USER_ACCOUNT]:objectCreator,objectViewer gs://[BUKET_NAME] # 특정 사용자에게 버킷 액세스 권한 부여 gsutil iam ch -d user:[USER_ACCOUNT]:objectCreator,objectViewer gs://[BUKET_NAME] # 권한 삭제
- 옵션
1 2 3 4 5 6 7
gsutil -m acl ch # Access Control List 변경 gsutil -m acl set private gs://[BUKET_NAME] # 버킷 및 객체 Access Control List 설정 gsutil -m cp -r # 복사 gsutil -m mv -r # 이동 gsutil -m rm -r # 삭제 gsutil -m rsync -r [LOCAL_FILE_PATH] gs://[BUKET_NAME] # 원본과 버킷 사이에 동기화 gsutil -m setmeta # meta data 설정
-m
- 멀티프로세싱 작업 가능
-r
- 아래 모든 객체 포함해 작업
- 아래 모든 객체 포함해 작업