はじめに
この記事は Google Cloud Next 2025 で公開されたセッション「Build event-driven apps with Cloud Run and Eventarc Advanced」についてのセッションメモです。速報の記事になりますので、誤りなどがありましたら随時、修正していく予定です。
本セッションを理解するために必要な知識をおさらい
本セッションでは以下のような用語が登場します。
登場した主要な Google Cloud サービスや関連技術を、簡単な説明とともに紹介します。
具体的には以下のとおりです。
Cloud Functions
イベント駆動でコードスニペットを実行するサーバーレスコンピューティングサービス
第2世代は Cloud Run ベースに統合されました。
Cloud Run
コンテナ化されたアプリケーションを実行するためのフルマネージドなサーバーレスプラットフォーム。
Cloud Functions(第2世代)の実行基盤としても機能します。
Eventarc (Eventarc Event Pipe)
Google Cloud のサービスやカスタムアプリケーションからのイベントを一元的に受信
トリガーとして Cloud Run などにルーティングするイベントバスサービス。
本セッションでは新機能「Event Pipes」の説明がありました。
Cloud Storage
スケーラブルなオブジェクトストレージサービス
Cloud Logging
アプリケーションやサービスのログを収集・保存・分析するサービス
IAM (Identity and Access Management)
Google Cloud リソースへのアクセス権限を管理するサービス
Pub/Sub
スケーラブルな非同期メッセージングサービス
VPC (Virtual Private Cloud)
Google Cloud 内にプライベートネットワーク環境を構築するサービス
Cloud Run Functions から利用できる機能として VPC Egress(内向きの通信制御)が言及されました。
GPU (Graphics Processing Unit)
機械学習などの高負荷計算を高速化するプロセッサ
Cloud Run Functions で利用可能になった(NVIDIA L4がデモでは強調された)
Buildpacks
ソースコードから直接コンテナイメージをビルドするための技術
Cloud Run や Cloud Functions のデプロイプロセスで使用され、ゼロダウンタイムパッチ適用などに貢献します。
セッションの内容を要約するとつまり
Cloud Functions(第2世代)が Cloud Run と統合
「Cloud Run Functions」にリブランド
開発体験が統一され、GPU・サイドカー・大容量インスタンス等の Cloud Run 機能が利用可能になりました。
Buildpacks 活用によりゼロダウンタイムでの自動セキュリティパッチ適用
セキュリティ重視の Minimal Base Image が Cloud Run Functions で提供されます。
イベント駆動アーキテクチャ向けの新機能
「Eventarc Event Pipes」が導入され、イベント処理の柔軟性と管理性が向上しました。
Eventarc Event PipesはMessage Busによるイベント一元化
Transformation によるイベント形式変換、IAM 連携による発行/購読アクセスの一元管理を実現します。
- デモ
-
GPU/サイドカーを活用したML推論
- Eventarc Pipesの変換機能を用いた既存サービス無変更での連携
- IAMポリシーによる厳格なアクセス制御
セッションの内容(本編)
イベント駆動アーキテクチャのアップデートを紹介
Google Cloud は、サーバーレスコンピューティングとイベント駆動アーキテクチャの分野で重要なアップデートを発表しました。
Cloud Functions(第2世代)が Cloud Run プラットフォームへと統合され、より強力で柔軟な開発体験を提供します。
さらに、Eventarc には「Event Pipes」という新機能が導入されてイベント形式の差異吸収や厳格なアクセス制御を可能にします。イベント駆動システムの構築方法に革新をもたらします。
本セッションでは、これらのアップデートの核心と、開発者にもたらされるメリットについて解説します。
Cloud Functions + Cloud Run = Cloud Run Functions: サーバーレスの新たな形
今回のアップデートの大きな柱は Cloud Functions(第2世代)が実質的に Cloud Run の一部として提供されるようになったことです。これは単なる名称変更ではなく、両プラットフォームの強みを融合させる大きな進化です。
主な機能
Cloud RunのパワーをFunctionsへ
これまで Cloud Run のみで利用可能だった機能が、Cloud Functionsの 開発モデルでも利用できるようになります。
GPUサポート
ML 推論などの高負荷タスクをサーバーレス関数で実行可能に(デモではNVIDIA L4 GPUとPyTorchを使用)。
サイドカーパターン
プライマリ関数コンテナと共に、補助的なコンテナ(例:MLモデルサービング、ログ転送)をデプロイ可能に(デモではGemmaモデルをサイドカーでホスト)。
より大きなリソース
CPU やメモリ割り当ての増強。
高度なネットワーク機能
VPC Egress など。
統一された開発体験
Cloud Run コンソールから直接 Functions を作成・管理でき、統合されたソースエディタも利用可能です。
gcloud functions コマンドと gcloud run コマンドのどちらでも、同じ基盤リソースを操作できる双方向性が提供され、既存のワークフローを維持しつつ新機能へ移行できます。
運用面の強化
Buildpacks 技術を活用し、アプリケーションコードと Google 管理のベースイメージを分離。
これにより、ゼロダウンタイムでの自動セキュリティパッチ適用が Cloud Run Functions でも実現します。
また、セキュリティ要件に応じて、パッケージを最小限に抑えたMinimal Base Image (Ubuntu 22.04ベース)も選択可能になりました。
Eventarc Event Pipes: イベント駆動アーキテクチャの課題を解決
従来のイベント駆動アーキテクチャでは、サービス間でイベント形式が異なると連携のための追加処理が必要になったり、アクセス制御ポリシーが分散して管理が煩雑になるという課題がありました。Eventarc Event Pipes は、これらの課題を解決するための新しいソリューションです。
Message Bus
チームやサービス間でイベントを発行・発見するための一元的なハブとして機能します。CloudEvents形式 (Avro, JSON, Protobuf) をサポート。
補足:Message BusはPub/Subモデルで表されます。
Pipeline & Enrollment
Message Bus から特定のイベントを選択的にフィルタリングし、処理パイプラインへと流します。
受信する message type を変更することで不要なメッセージ受信をブロックできます。
Transformation
パイプライン内でイベントのペイロードや属性を変換する強力な機能です。例えば、あるサービスが発行するカスタム形式のイベントを、既存の関数が期待する Cloud Storage イベントのような形式に動的にマッピングできます。
これにより、既存のコンシューマーコードを変更することなく、新しいイベントソースとの連携が可能になります。(デモではCEL式を使用)
Unified Access Policies (統合アクセスポリシー)
IAM と連携し、Message Bus へのイベント発行・購読権限を、発行元のサービスアカウント、イベントタイプ、イベント属性などに基づいてきめ細かく、かつ一元的に制御できます。これにより、イベント駆動システム全体のセキュリティガバナンスが大幅に向上します。
(デモでは特定のサービスアカウントからの発行を拒否するDenyポリシーを適用)
Eventarcの全体像
デモに見る実践的な活用
本セッションでは新機能を活用した具体的なデモが紹介されました。
- デモ1:
- Cloud Run Functions 上で GPU とサイドカー(Gemmaモデル)を利用し
- Cloud Storage へのファイルアップロードをトリガーにドキュメント要約を行う
- デモ2:
- JavaベースのWebサイト(Cloud Runサービス)がカスタム形式のイベントを Message Bus に発行
- 既存の Python 製要約関数(Cloud Storageイベント形式を期待)は変更しない
- Eventarc Event Pipes のTransformation機能を使い、カスタムイベントを要約関数が理解できる形式に変換
- Eventarc Message Bus にIAM Denyポリシーを適用し、Java サービスのサービスアカウントからの不正なイベント発行をブロック
このデモは、Eventarc Event Pipes がいかにしてサービス間のスキーマの違いを吸収し(Transformation)、厳格なアクセス制御(Unified Access Policies)を実現するかを明確に示しました。
まとめ
Cloud Functions と Cloud Run の統合は、サーバーレス開発に GPU やサイドカーといった強力な機能をもたらし、開発体験を統一します。
さらに、Eventarc Event Pipes は、イベント形式の変換や中央集権的なアクセス制御といった高度な機能を提供し、より柔軟で、疎結合で、セキュアなイベント駆動アーキテクチャの構築を可能にします。
これらのアップデートは、Google Cloud におけるサーバーレスとイベント駆動開発の未来を示すものであり、開発者はこれらの新機能を活用することで、より複雑な課題を効率的かつ安全に解決できるようになるでしょう。
Cloud Run Functions の統合機能は一般提供(GA)されており、Eventarc Event Pipes の機能(統合アクセスポリシーなど)も順次利用可能になる予定です。ぜひ、公式ドキュメントやクイックスタートで詳細を確認し、次世代のクラウドネイティブアプリケーション構築にお役立てください。
感想
Google Cloud のイベント駆動アーキテクチャについてあまり理解がなかったため
気づきの多いセッションでした。特に message type を使って検知するイベントを制御したりサービスアカウントをうまく使ってアクセスを弾いたりなど
ベストプラクティスもかねた説明が多いセッションでした。
なお、所属セクションでは Google Apps Script で動作している notify-looker-report というものを運用しているのですが、安定性や再利用性に問題があるので今回の知見を活用して再構築したいと思いました。
ちなみに本セッションの Speaker としてご登壇されていた Sara Ford さんは去年のGoogle I/Oのセッション動画でも Cloud Run を使ったセッションを担当されていたのを覚えていました。※セッション予約時には気づかなかったんですが、実際にオンサイトでお見かけして気づきました。
※以前視聴したことのあるセッションAccelerate building AI applications with Cloud Run
ここも読んでおきたい(関連資料)
- Eventarc の概要 | Google Cloud
- Eventarcの公式ドキュメントです。Eventarcの基本的な使い方や、Event Pipesの詳細について学ぶことができます。
- 本セッションで登場したEventarc Advancedの詳細についても触れられています。
- Eventarc を使用した BigQuery 処理パイプラインを構築する | Google Cloud
- 本セッションで紹介されたEventarcの活用方法を具体的に学ぶことができます。