最終更新日: 2026-08-27
TOP(About this memo)) > 一覧(Google Cloud) > gcloud サービス別のコマンド例
[PROJECT_ID]のようなプレースホルダーで記載している。gcloud secrets create [SECRET_ID] --replication-policy="automatic" --data-file=[FILE_PATH]
gcloud secrets create [SECRET_ID] --replication-policy="automatic" --data-file=[FILE_PATH]gcloud secrets create [SECRET_ID] --replication-policy="automatic" の後に gcloud secrets versions add [SECRET_ID] --data-file=[FILE_PATH]gcloud --project [PROJECT_ID] artifacts repositories create [REPOSITORY_NAME] \
--repository-format=docker \
--location=us-west2 \
--description="example repository"
gcloud artifacts repositories list
gcloud sql instances create --help を参照。gcloud sql instances create [INSTANCE_NAME] \
--tier=db-f1-micro \
--no-backup \
--database-version=POSTGRES_14 \
--region=[REGION] \
--root-password=[ROOT_PASSWORD]
--root-passwordはpostgresユーザーのパスワードになると思われる(?)。gcloud sql database versions list で確認できる。--tier / --cpu / --memory)の考え方や、バックアップ等の各設定についてはCloud SQLを参照。作成:
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"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member=serviceAccount:[SA_EMAIL] --role=roles/cloudtasks.enqueuer
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member=serviceAccount:[SA_EMAIL] --role=roles/run.invoker
gcloud iam service-accounts add-iam-policy-binding [CLOUD_RUN_SA_EMAIL] \
--member=serviceAccount:[SA_EMAIL] --role=roles/iam.serviceAccountUser
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 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
INSTANCE_CONNECTION_NAMEは gcloud sql instances describe [INSTANCE_NAME] で確認できる。
/cloudsql/INSTANCE_CONNECTION_NAME をUnixソケットのパスとして指定する。--set-cloudsql-instancesで指定したCloud SQLがパブリックIPパスの場合、Cloud Runは2つの方法(Unixソケット経由 / Cloud SQLコネクタを使用)でCloud SQL Auth Proxyを使用して暗号化と接続を行う。
gcloud run services describe [SERVICE] --format export > service.yaml
gcloud run services replace service.yaml