Firebase Functions v2 がデプロイできない?よくある原因と完全解決ガイド

Firebase Functions v2 がデプロイできない?よくある原因と完全解決ガイド

Firebase で Cloud Functions v2 を使ってデプロイしようとしたところ、次々とエラーが出て詰まりました。この記事では、私が実際にぶつかったすべてのエラーと、その対処法をステップごとに紹介します。



🌩 発生したエラー一覧と概要

1. Build failed with status: FAILURE

  • 原因:Cloud Build 用サービスアカウントに権限が不足。
  • 解決法:IAM でサービスアカウントにロールを追加。

2. Access to bucket … denied

  • 原因:関数ソースを格納している GCS バケットにアクセスできない。
  • 解決法:Storage Object Viewer 権限を Compute Engine のサービスアカウントに付与。

3. Permission “artifactregistry.repositories.downloadArtifacts" denied

  • 原因:Artifact Registry の読み取り権限が不足。
  • 解決法:Artifact Registry 読み取り権限を付与。

4. Permission “artifactregistry.repositories.uploadArtifacts" denied

  • 原因:キャッシュなどの書き込みができない。
  • 解決法:Artifact Registry 書き込み権限を付与。

5. Unable to set the invoker for the IAM policy

  • 原因:関数を公開(全員に実行許可)する際の IAM 権限不足。
  • 解決法:firebase.json に invoker: “public" を明示。

🧱 IAM 権限で必要な設定

対象:

  • PROJECT_NUMBER@cloudbuild.gserviceaccount.com
  • PROJECT_NUMBER-compute@developer.gserviceaccount.com
  • ※ PROJECT_NUMBER は例として 6780... のような数値です。

付与したロール:

  • Cloud Functions 開発者(roles/cloudfunctions.developer)
  • Cloud Run 管理者(roles/run.admin)
  • サービス アカウント ユーザー(roles/iam.serviceAccountUser)
  • Artifact Registry 読み取り(roles/artifactregistry.reader)
  • Artifact Registry 書き込み(roles/artifactregistry.writer)
  • ストレージ オブジェクト閲覧者(roles/storage.objectViewer)

🛠 firebase.json に追加した設定

関数を明示的にパブリックにするには、次のように invoker を指定するのがベスト:

✅ まとめ:Cloud Functions v2 デプロイ時のポイント

チェック項目 解説
ビルド失敗 Cloud Build / GCS / Artifact Registry の IAM をまず疑う
バケットアクセス拒否 Storage Object Viewer を Compute Engine SA に付ける
Artifact Registry で失敗 reader と writer の両方必要
関数が公開できない invoker: “public" を firebase.json に明示
ロールが足りない functions.admin と iam.serviceAccountUser が大体必要

🗒 最後に

Cloud Functions v2 は高機能ですが、v1と違って Cloud Run + Artifact Registry + Cloud Build といった複数サービスが絡むため、IAM 権限がとても重要です。

「なんでこんなことで止まるの?」というポイントで引っかかっている方の参考になれば幸いです。

最後までお読みいただきありがとうございます。
よろしければブログやTwitterでのシェアをお願いしております。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。

ITパスポート、基本情報技術者、応用情報技術者などIPAが提供する国家資格の過去問を学べるモバイルアプリをリリースしました。
詳しくは下記のプレスリリースをご覧ください。
https://prtimes.jp/main/html/rd/p/000000008.000073303.html

Youtubeチャンネル開設いたしました。
チャンネル登録者10,000人を目指しているので、良いと思った方はチャンネル登録をお願いしたいです。
https://www.youtube.com/channel/UC219XhmSRxmXltTy6COxSMw






Firebase

Posted by ちこ