gcloud サービス別のコマンド例 - Google Cloud

最終更新日: 2026-08-27

TOP(About this memo)) > 一覧(Google Cloud) > gcloud サービス別のコマンド例

Secret Manager: シークレットの作成

gcloud secrets create [SECRET_ID] --replication-policy="automatic" --data-file=[FILE_PATH]

Artifact Registry: リポジトリの作成

gcloud --project [PROJECT_ID] artifacts repositories create [REPOSITORY_NAME] \
  --repository-format=docker \
  --location=us-west2 \
  --description="example repository"

gcloud artifacts repositories list

Cloud SQL: インスタンスの作成

gcloud sql instances create [INSTANCE_NAME] \
    --tier=db-f1-micro \
    --no-backup \
    --database-version=POSTGRES_14 \
    --region=[REGION] \
    --root-password=[ROOT_PASSWORD]

サービスアカウントの作成と権限付与(Cloud Runの例)

作成:

gcloud --project [PROJECT_ID] iam service-accounts create [SA_NAME] \
  --description="[DESCRIPTION]" \
  --display-name="[DISPLAY_NAME]"

シークレットへアクセスできるロールを付与:

gcloud --project [PROJECT_ID] secrets add-iam-policy-binding [SECRET_ID] \
  --member=serviceAccount:[SA_NAME]@[PROJECT_ID].iam.gserviceaccount.com \
  --role=roles/secretmanager.secretAccessor

Cloud SQLに接続できる権限を付与:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member="serviceAccount:[SA_NAME]@[PROJECT_ID].iam.gserviceaccount.com" \
  --role="roles/cloudsql.client"

WIP: Cloud Run内のプログラムからCloud Tasksにタスクを追加したい場合

一時的な権限付与(条件付きロール)の例

gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member='group:[GROUP_ID]' \
  --condition="expression=request.time < timestamp(\"$(date '+%Y-%m-%dT%TZ' -u -d '30 minute')\"),title=tmp_$(date '+%Y-%m-%d-%T')" \
  --role='[ROLE]' \
  --impersonate-service-account=[GRANTER_SA]@[PROJECT_ID].iam.gserviceaccount.com

Cloud Run: デプロイの例

サービスアカウント・シークレット・環境変数・Cloud SQLの接続を指定する例。

gcloud --project [PROJECT_ID] run deploy [SERVICE] \
  --image [IMAGE_URL] \
  --service-account [SERVICE_ACCOUNT] \
  --allow-unauthenticated \
  --set-cloudsql-instances=[PROJECT_ID]:[REGION]:[CLOUD_SQL_INSTANCE_NAME] \
  --set-env-vars=INSTANCE_CONNECTION_NAME=[PROJECT_ID]:[REGION]:[CLOUD_SQL_INSTANCE_NAME] \
  --tag=v${SHORT_SHA} \
  --set-secrets=POSTGRES_PASSWORD=[SECRET_ID]:1

構成のエクスポート・更新

gcloud run services describe [SERVICE] --format export > service.yaml
gcloud run services replace service.yaml