- 画面からぽちぽち (MySQL, 5.7互換)
- DB, userの作成
- 現状Cloud Runにデプロイできる対象がGCRにあるものだけため
grafana/grafana:6.6.1 を自前のプロジェクトのgcr.ioにアップロード
- marketplace.gcr.io で公開されている grafanaのイメージをつかう
gcloud config set run/region us-central1
export GCP_PROJECT=gcpProjectID # `プロジェクトID`
export CLOUDSQL_DATABASE_NAME=grafana
export CLOUDSQL_DATABASE_USER=root
export CLOUDSQL_DATABASE_PASSWORD=password
export CLOUDSQL_INSTANCE_NAME=$GCP_PROJECT:us-central1:mdb # Cloud SQLの `インスタンス接続名`
export CLOUDSQL_SERVICE_ACCOUNT=sa_name # CloudSQL Client の権限を持った SA
gcloud beta run deploy grafana --image marketplace.gcr.io/google/grafana7 \
--add-cloudsql-instances $CLOUDSQL_INSTANCE_NAME \
--platform managed \
--allow-unauthenticated \
--service-account $CLOUDSQL_SERVICE_ACCOUNT \
--port 3000 \
--set-env-vars "\
INSTANCE-CONNECTION-NAME=$CLOUDSQL_INSTANCE_NAME,\
GF_DATABASE_NAME=$CLOUDSQL_DATABASE_NAME,\
GF_DATABASE_USER=$CLOUDSQL_DATABASE_USER,\
GF_DATABASE_PASSWORD=$CLOUDSQL_DATABASE_PASSWORD,\
GF_DATABASE_TYPE=mysql,\
GF_DATABASE_HOST=/cloudsql/$CLOUDSQL_INSTANCE_NAME,\
GF_DATABASE_MAX_OPEN_CONN=30,\
GF_SESSION_PROVIDER=mysql,\
GF_SESSION_PROVIDER_CONFIG=$CLOUDSQL_DATABASE_NAME:$CLOUDSQL_DATABASE_PASSWORD@tcp($CLOUDSQL_INSTANCE_NAME:3306)/grafana?allowNativePasswords=true,\
GF_LOG_CONSOLE_FORMAT=json"
- 環境変数は Grafanaのdocker-composeあたりを参考にした
- Cloud RunからCloud SQLは unix-socket経由で接続するものらしいのでそこらへんを変えたつもり