Cloud RunからVercel移行時のサービスアカウント管理
Vercel
Terraform
Cloud Run
Google Cloud Storage
知識
運用
Cloud Run環境では自動的にサービスアカウントがコンテナにアタッチされるが、Vercelでは明示的に認証情報を設定する必要がある。
Cloud Run環境の仕組み
- サービスアカウントがコンテナに自動アタッチ
new Storage()で自動的にそのサービスアカウントを使用- 認証情報の設定不要
Vercel環境への移行
- GCS専用のサービスアカウントをTerraformで作成
- 必要な権限(
roles/storage.objectAdmin)を付与 - JSONキーを生成してBase64エンコード
- Vercel環境変数に設定
Terraformでのサービスアカウント管理例
hcl
resource "google_service_account" "gcs_uploader" {
account_id = "${local.prefix}-gcs-uploader"
display_name = "GCS Uploader for Vercel"
project = var.project_id
}この方法により、インフラをコードで管理しながらVercel環境でもGCSを利用できる。