0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloud Run Functions 第一世代から第二世代へバージョンアップ時の変更点

Posted at

はじめに

Cloud Run Functions(旧称 Cloud Functions)は第一世代と第二世代が存在し、2025/10/14 現在では第二世代のみ作成が可能です。

現在私は Cloud Storage トリガーを使った第一世代の関数を運用しています。
この記事では第二世代へバージョンアップした際に注意した変更点をまとめます。

バージョンアップした関数について

  • ランタイム
    • 第一世代:Java 17
    • 第二世代:Java 21
  • Cloud Storage トリガー利用

注意した変更点

イベントデータの変更

ネットワーク周りの設定の追加

第一世代で Cloud Storage トリガーを使う場合、関数へアクセスする URL は生成されませんでした。
第二世代では(または Cloud Run Functions になったからか)Cloud Storage トリガーでも関数へアクセスする URL がデフォルトで生成されるようになりました。
また、その URL のデフォルト設定がインターネット公開のため、気にせず関数を作成すると知らぬ間にインターネットアクセス可能な状態になってしまします。

これを回避するために、

  • 「Ingress」を「内部」に変更する
  • 「デフォルトの HTTPS エンドポイント URL」は有効のまま
    • 公式ドキュメントより、Eventarc トリガーを使うためにデフォルトの run.app URLが必要です

の設定が必要でした。

Ingress.png

環境変数の設定箇所の変更

第一世代では「変数」タブがあり、そのタブ内でランタイム環境変数やビルド環境変数を設定・変更できました。

第二世代からは「コンテナ」カテゴリに移動しました。
関数新規作成時は、「コンテナ、ボリューム、ネットワーキング、セキュリティ」→「コンテナ」→「変数とシークレット」から設定できます。

container_new.png

関数作成後に設定・変更する場合は、「新しいリビジョンの編集とデプロイ」から設定・変更できます。

サービスアカウントの設定箇所の追加

第一世代ではサービスアカウントを一つ設定する必要がありましたが、
Cloud Run Functions ではコンテナ用と Eventarc トリガー用の二つ設定が必要になりました。(同一アカウントを指定してOK)
より細かいアクセス制御が可能になっていますが、最初は気づいておらず権限不足によるエラーが発生しました。

コンテナ用サービスアカウント

container_sa.png

Eventarc トリガー用サービスアカウント

trigger_sa.png

以上です。
第二世代への変更点というよりも Cloud Run Functions への変更点が多かったと思います。
誰かの参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?