🎢

Preview:Eventarcがサポートするイベントプロバイダ(イベントの送信者)が新たに追加されました。

2023/08/22に公開

はじめに

こんにちは、クラウドエース データ/MLディビジョン所属の金です。
データ/MLディビジョンでは Google Cloud の新規リリース内容を調査・発表し、データ領域のプロダクトのキャッチアップをしています。その中で重要と考えるリリースを記事として公開しています。
クラウドエース株式会社 公式技術ブログをフォローすると新しいリリース内容をもっと早めにチェックできるので気になる方はフォローもお願いします。
https://zenn.dev/cloud_ace

今回のリリースは?

PreView:Google Cloud Eventarc がサポートするイベントプロバイダが追加されたようなので追加されたイベントプロバイダを確認してみます。

1

Evantracとは?

Google Cloud Eventarc は、クラウドイベントを使用してイベント駆動型のアプリケーションを構築するためのサービスです。イベント駆動型アプリケーションは、異なるサービスやコンポーネント間でイベントが発生することで反応し、動作します。Eventarc は、Google Cloud 内および外部のサービスとの間でのイベントの受け渡しを可能にするプラットフォームです。

具体的には、Eventarc は以下のような機能を提供します

  1. イベントプロバイダ
    イベントは、イベントプロバイダからあるイベントコンシューマーに転送されます。
    ルーティングは、イベントに含まれている情報に基づいて実行されますが、イベントは特定の転送先を識別しません。
    現在、Eventarc では次のプロバイダのイベントがサポートされています。

    • 130 を超える Google Cloud プロバイダこれらのプロバイダは、ソースから直接、または Cloud Audit Logs のエントリを介してイベントを送信します(イベントは、Cloud Storage バケット内のオブジェクトの更新や、Pub/Sub トピックに公開されたメッセージなどです)一覧を参考にしてください。
    • サードパーティプロバイダ、これらのプロバイダは、ソースから直接イベントを送信します(Datadog や Check Point CloudGuard プラットフォームなどのサードパーティの SaaS プロバイダなど)
  2. イベントの宛先
    イベントは、Pub/Sub push サブスクリプションを介して、イベント レシーバ(またはコンシューマ)と呼ばれる特定の宛先(ターゲット)に転送されます。
    Cloud Functions、Cloud Run、Cloud Pub/Sub などのサービスを使用して、イベントに応じて特定のアクションを実行することができます。

    • 種類としては、Cloud Run、GKE、Workflows があります。
  3. イベントタイプ
    Eventarc トリガーのフィルタを構成することで、イベントを転送できます。トリガーの構成は、サポートされているイベントタイプによって異なります。

    • Cloud Audit Logs イベント - Cloud Audit Logs によってログが生成されるとトリガーされます。
    • 直接イベント - Cloud Storage バケット内のオブジェクトの更新や、Pub/Sub トピックへのメッセージの公開など、中間イベントによってトリガーされます。
    • サードパーティ イベント - Eventarc ソースを提供する Google 以外のプロバイダのイベントによってトリガーされます。

Google Cloud Eventarc は、イベント駆動型アーキテクチャを採用することで、アプリケーションの柔軟性や拡張性を向上させることができる便利なツールです。詳細な情報や具体的な使用例(トレーニングとチュートリアル)については、公式の Google Cloud Eventarc ドキュメントを参照してください。
https://cloud.google.com/eventarc/docs?hl=ja#docs

Eventarc vs Pub/Sub

Google Cloud にはイベントトリガーとして 代表的に Eventarc と Pub/Sub があります。
どっちを選ぶのが良いかわからなかった時があったのでchatGPTくんに聞いてみました。

Google Cloud Eventarc

  • 特徴: Eventarc は、クラウドイベントと呼ばれる標準フォーマットを使用して、異なるサービスやリソース間でイベントを受け渡すためのサービスです。クラウドイベントは、イベントのメタデータとペイロード(データ本体)を持ち、異なるクラウドプロバイダー間でも相互運用性が高いです。
  • 用途: Eventarc は、Google Cloud 内外のイベントを受け取り、特定のイベントに対してトリガーを設定してアクションを実行するために使用されます。イベントの発行者と購読者を直接接続せずに、中間のトリガーサービスとして機能します。

Google Cloud Pub/Sub

  • 特徴: Cloud Pub/Sub は、パブリッシュ(イベントの送信)とサブスクライブ(イベントの受信)をサポートするメッセージングサービスです。Pub/Sub は、高可用性とスケーラビリティに優れており、遅延なしで大量のメッセージを処理できる特長があります。
  • 用途: Pub/Sub は、イベントの非同期処理やデータのストリーミング、分散システム間の通信など、メッセージングのニーズに使用されます。特に、データの処理やアプリケーション間の通信を分離して拡張する際に便利です。

なお、公式ドキュメント上で、どの方法を選ぶべきかのおおよその基準があるので、以下に簡単にまとめます公式ドキュメント

  • 直接イベント vs 監査ログ:
    直接イベントがサポートされている場合は、トリガーの応答性とイベント配信のレイテンシの向上、明確なイベント形式、フィルタリングの柔軟さ、追加料金の回避などの利点があります。
    監査ログイベントは、Cloud Audit Logs と連携してセキュリティと監査を重視する際に適しています。

  • サービスのサポート:
    Googleのサービスやアプリケーションが Cloud Audit Logs と Pub/Sub のいずれかまたは両方をサポートしているか確認します。

  • 情報提供の選択:
    Cloud Audit Logs と Pub/Sub の両方が提供される場合、ビルドのステータス通知など特定の要件に基づいてどちらを使用するか検討します。

  • CloudEvents 形式の利用:
    Pub/Sub を使用している場合、Eventarc の共通の CloudEvents 形式を使用することで、複数のイベントソースを一貫して処理するメリットがあります。

これらの要点を考慮して、Eventarc の機能を最適に活用し、イベントの受信と処理を効果的に設計するのができます。

新たに追加されたイベントプロバイダ

今回追加されたイベントプロバイダ11個でイベントの宛先別3個になります。
表が見やすいかと思いますので以下のようにまとめました。

Event provider Event destination Event type Instructions
AlloyDB for PostgreSQL Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route AlloyDB for PostgreSQL events to Cloud Run
AlloyDB for PostgreSQL GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route AlloyDB for PostgreSQL events to GKE
AlloyDB for PostgreSQL GKE ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route AlloyDB for PostgreSQL events to Workflows
Backup for GKE Cloud Run ・Direct events (preview) ・Route Backup for GKE events to Cloud Run
Backup for GKE GKE ・Direct events (preview) ・Route Backup for GKE events to GKE
Backup for GKE Workflows ・Direct events (preview) ・Route Backup for GKE events to Workflows
Cloud Dataplex Cloud Run ・Direct events (preview) ・Route Cloud Dataplex events to Cloud Run
Cloud Dataplex GKE ・Direct events (preview) ・Route Cloud Dataplex events to GKE
Cloud Dataplex Cloud Run ・Direct events (preview) ・Route Cloud Dataplex events to Workflows
Dataproc Metastore Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Dataproc Metastore events to Cloud Run
Dataproc Metastore GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Dataproc Metastore events to GKE
Dataproc Metastore Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Dataproc Metastore events to Workflows
GKE Hub Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route GKE Hub events to Cloud Run
GKE Hub GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route GKE Hub events to GKE
GKE Hub Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route GKE Hub events to Workflows
Google Cloud Memorystore for Redis Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Google Cloud Memorystore for Redis events to Cloud Run
Google Cloud Memorystore for Redis GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Google Cloud Memorystore for Redis events to GKE
Google Cloud Memorystore for Redis Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Google Cloud Memorystore for Redis events to Workflows
Network Connectivity Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Network Connectivity events to Cloud Run
Network Connectivity GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Network Connectivity events to GKE
Network Connectivity Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Network Connectivity events to Workflows
Network Management Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Network Management events to Cloud Run
Network Management GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Network Management events to GKE
Network Management Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Network Management events to Workflows
User-managed notebooks (Notebooks) Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Notebooks events to Cloud Run
User-managed notebooks (Notebooks) GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Notebooks events to Cloud Run
User-managed notebooks (Notebooks) Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Notebooks events to Workflows
Vision AI Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route Vision AI events to Cloud Run
Vision AI GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route Vision AI events to GKE
Vision AI Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route Vision AI events to Workflows
VM Migration Cloud Run ・Audit log events
・Direct events (preview)
・Route audit log events to Cloud Run
・Route VM Migration events to Cloud Run
VM Migration GKE ・Audit log events
・Direct events (preview)
・Route audit log events to GKE
・Route VM Migration events to GKE
VM Migration Workflows ・Audit log events
・Direct events (preview)
・Route audit log events to Workflows
・Route VM Migration events to Workflows

既存のイベントプロバイダ

既存のイベントプロバイダ情報などは量が多いので下記の公式のドキュメントを参照してください。
https://cloud.google.com/eventarc/docs/targets

終わりに

今回は新たに追加されたイベントプロバイダをまとめてみました。
Eventarc を適切な場所に使えると開発コストが削減できるかなと思いました。
最後まで読んでいただきありがとうございました。

Discussion