Cloud Run Job による DB マイグレーション
API のデプロイと切り離して、終了すればよい DB マイグレーションを Cloud Run Job として実行する章。専用の認証情報と実行順序を扱う。
TL;DR
- Cloud Run Job は終了するバッチ向けで、成功・失敗を実行単位で追跡できる。
- migration 専用のサービス アカウントと DB ユーザーにすれば、API の権限を広げない。
- スキーマ変更を先に完了させてから API を更新すると、互換性を確認しやすい。
01実行用イメージを分ける
db-migrator のコンテナを Artifact Registry へ配布し、Job が参照する。

Cloud Run Job は終了するバッチ向けで、成功・失敗を実行単位で追跡できる。
02DB 権限を絞る
migration 用サービス アカウント、DB ユーザー、Secret を API 用と分離する。

migration 専用のサービス アカウントと DB ユーザーにすれば、API の権限を広げない。
03順序を持って実行する
Job の完了を確認してからアプリを新しいスキーマへ進める。

スキーマ変更を先に完了させてから API を更新すると、互換性を確認しやすい。
結論
- Cloud Run Job は終了するバッチ向けで、成功・失敗を実行単位で追跡できる。
- migration 専用のサービス アカウントと DB ユーザーにすれば、API の権限を広げない。
- スキーマ変更を先に完了させてから API を更新すると、互換性を確認しやすい。