コンテンツにスキップ

Google Cloud CLIの設定

Google Cloud Platform (GCP) のリソースをコマンドラインから管理するための設定手順です。

Terminal window
brew install --cask google-cloud-sdk
Terminal window
gcloud --version
Terminal window
# ブラウザが開いてGoogleアカウントでログイン
gcloud auth login

アプリケーション認証(開発用)

Section titled “アプリケーション認証(開発用)”
Terminal window
# アプリケーションのデフォルト認証情報を設定
gcloud auth application-default login
Terminal window
gcloud projects list
Terminal window
gcloud config list
Terminal window
gcloud config set project PROJECT_ID

例:

Terminal window
gcloud config set project my-awesome-project-123456

複数のプロジェクトを扱う場合、設定プロファイルを使うと便利です:

Terminal window
# 新しい設定プロファイルを作成
gcloud config configurations create dev-profile
# プロファイル一覧
gcloud config configurations list
# プロファイルの切り替え
gcloud config configurations activate dev-profile
# プロファイルにプロジェクトを設定
gcloud config set project dev-project-id
Terminal window
gsutil ls

バケット内のオブジェクト一覧

Section titled “バケット内のオブジェクト一覧”
Terminal window
gsutil ls gs://BUCKET_NAME/
Terminal window
gsutil ls -L gs://BUCKET_NAME/
Terminal window
# 単一ファイル
gsutil cp local-file.txt gs://BUCKET_NAME/
# ディレクトリを再帰的にアップロード
gsutil cp -r local-directory/ gs://BUCKET_NAME/
Terminal window
# 単一ファイル
gsutil cp gs://BUCKET_NAME/file.txt ./
# ディレクトリを再帰的にダウンロード
gsutil cp -r gs://BUCKET_NAME/directory/ ./
Terminal window
# Compute Engineインスタンス一覧
gcloud compute instances list
# App Engineアプリのデプロイ
gcloud app deploy
# Cloud Functionsのデプロイ
gcloud functions deploy FUNCTION_NAME --runtime python39 --trigger-http
Terminal window
# サービスアカウント一覧
gcloud iam service-accounts list
# キーの作成
gcloud iam service-accounts keys create key.json \
--iam-account=SERVICE_ACCOUNT_EMAIL

.zshrcに追加すると便利:

Terminal window
# プロジェクト切り替えのショートカット
alias gcp-dev='gcloud config set project dev-project-id'
alias gcp-prod='gcloud config set project prod-project-id'
# 現在のプロジェクトを表示
alias gcp-current='gcloud config get-value project'
# バケット一覧をプロジェクト付きで表示
alias gs-list='echo "Current project: $(gcloud config get-value project)" && gsutil ls'
Terminal window
# 認証情報をリフレッシュ
gcloud auth login --force
# アプリケーション認証のリセット
gcloud auth application-default revoke
gcloud auth application-default login

APIが有効になっていないエラー

Section titled “APIが有効になっていないエラー”
Terminal window
# 必要なAPIを有効化
gcloud services enable storage-api.googleapis.com
gcloud services enable compute.googleapis.com