Home Google Cloud SDK 설치 및 gcloud, gsutil 명령어
Post
Cancel

Google Cloud SDK 설치 및 gcloud, gsutil 명령어

Google Cloud SDK


Cloud SDK 설치 및 설정

  1. 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
    
  2. gsutil 컴포넌트 설치
    1
    
     gcloud components install gsutil
    
  3. gcloud CLI 초기화
    1
    
     gcloud init 
    
  4. Google 사용자 계정을 사용하여 GCP 로그인 하는 옵션 수락 (Y)
    1
    
     To continue, you must log in. Would you like to log in (Y/n)? Y
    
  5. 브라우저 창이 열리면 Google 계정에 로그인 후 허용 버튼 클릭
    • GCP 리소스 액세스 권한 부여 과정
  6. 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
    
  7. 기본 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
      • 아래 모든 객체 포함해 작업

Reference