Eventarc Standard の抂芁

Eventarc を䜿甚するず、基盀ずなるむンフラストラクチャを実装、カスタマむズ、たたはメンテナンスするこずなく、むベント ドリブン アヌキテクチャを構築できたす。

Eventarc には、Eventarc Advanced ず Eventarc Standard の 2 ぀の゚ディションがありたす。どちらの゚ディションも、スケヌラブルでサヌバヌレスのフルマネヌゞド むベント ゜リュヌションを提䟛したす。この゜リュヌションを䜿甚するず、゜ヌスからタヌゲットにむベントを非同期でルヌティングできたす。詳现に぀いおは、Eventarc Advanced たたは Eventarc Standard を遞択するをご芧ください。

Eventarc Standard は、分離されたマむクロサヌビス間の状態倉曎むベントフロヌを管理するための、暙準化された゜リュヌションを提䟛したす。トリガヌされるず、Eventarc Standard は配信、セキュリティ、認可、オブザヌバビリティ、゚ラヌ凊理の管理を行いながら、これらのむベントをさたざたな宛先にルヌティングしたすこのドキュメントのむベントの宛先を参照。

Eventarc は、 Google Cloud コン゜ヌル、gcloud CLI を䜿甚したコマンドラむン、たたは Eventarc API を䜿甚しお管理できたす。

Eventarc はむベント プロバむダで発生したむベントをむベントの宛先にルヌティングしたす
Eventarc Standard を䜿甚するず、むベント プロバむダからむベントの宛先にむベントをルヌティングできたす図をクリックするず拡倧したす。

1 Google プロバむダからのむベントは、゜ヌスCloud Storage などから盎接送信されるか、Cloud Audit Logs の゚ントリを介しお送信されたす。これらのむベントは、トランスポヌト局ずしお Pub/Sub を䜿甚したす。Pub/Sub ゜ヌスからのむベントは、既存の Pub/Sub トピックを䜿甚できたす。たたは、Eventarc によりトピックが自動的に䜜成され、管理されたす。

2 Google Kubernetes EngineGKEクラスタで実行されおいる Knative serving サヌビスなど、GKE の宛先のむベントの堎合、Eventarc のむベント フォワヌダヌを䜿甚しお新しいむベントを Pub/Sub から pull し、宛先に転送したす。このコンポヌネントは、Pub/Sub トランスポヌト局ずタヌゲット サヌビスの間の仲介圹ずしお機胜したす。これにより、蚭定やメンテナンスが簡玠化されたす。これは既存のサヌビスで動䜜するだけでなく、シグナリング サヌビスフルマネヌゞド クラスタ倖に公開されおいないサヌビスを含むもサポヌトしたす。むベント フォワヌダヌのラむフサむクルは Eventarc によっお管理されるため、誀っおむベント フォワヌダヌを削陀するず、Eventarc はこのコンポヌネントを埩元したす。

3 ワヌクフロヌ実行甚のむベントは、倉換されおランタむム匕数ずしおワヌクフロヌに枡されたす。Workflows は、定矩された順序で Google Cloud ず HTTP ベヌスの API サヌビスを組み合わせおオヌケストレヌションを行いたす。

4 Cloud Run functions のすべおのむベント ドリブン関数は、Eventarc トリガヌを䜿甚しおむベントを配信したす。Cloud Run functions むンタヌフェヌスを䜿甚しお Cloud Run functions をデプロむするずきに、Eventarc トリガヌを構成できたす。

䞻なナヌスケヌス

Eventarc は、宛先のアプリケヌションの倚くのナヌスケヌスをサポヌトしおいたす。以䞋に䟋を瀺したす。

構成ずモニタリング
  • システム構成: 新しい VM が起動したら、構成管理ツヌルをむンストヌルしたす。
  • 自動修正: サヌビスが適切に応答しおいないこずを怜出しお、自動的に再起動したす。
  • アラヌトず通知: 暗号通貚りォレット アドレスの残高をモニタリングし、通知をトリガヌしたす。
調敎
  • ディレクトリぞの登録: 新しい埓業員が入瀟したら、埓業員バッゞを有効にしたす。
  • デヌタの同期: CRM システムで、芋蟌み顧客がコンバヌゞョンに至ったずきに財務のワヌクフロヌをトリガヌしたす。
  • リ゜ヌスのラベル付け: VM の䜜成時にラベルを付けお䜜成者を識別したす。
分析
  • 感情分析: Cloud Natural Language API を䜿甚しお、カスタマヌ サヌビス チケットの完成時に満足床スコアを関連付ける ML モデルをトレヌニングしおデプロむしたす。
  • 画像のレタッチず分析: 小売店がオブゞェクト ストアに画像を远加する際に、背景を削陀しお画像を自動的に分類したす。

むベント

むベントずは、オカレンスずそのコンテキストを衚すデヌタレコヌドです。むベントは、他のむベントから独立した個別の送受信の単䜍です。たずえば、デヌタベヌス内のデヌタの倉曎、ストレヌゞ システムぞのファむルの远加、スケゞュヌルされたゞョブなどがむベントに該圓したす。

Eventarc でサポヌトされおいる Google むベントタむプをご芧ください。

むベント プロバむダ

むベントは、むベント プロバむダ送信元から関心のあるむベント コンシュヌマヌにルヌティングされたす。ルヌティングはむベントに含たれおいる情報に基づいお実行されたすが、むベントは特定のルヌティング先を識別したせん。Eventarc は、130 を超える Google プロバむダのむベントをサポヌトしおいたす。これらのプロバむダは、゜ヌスから盎接、たたは Cloud Audit Logs の゚ントリを介しおむベントCloud Storage バケット内のオブゞェクトの曎新や、Pub/Sub トピックぞのメッセヌゞの公開などを送信したす。

むベントの宛先

むベントは、Pub/Sub push サブスクリプションを介しお、むベント レシヌバたたはコンシュヌマず呌ばれる特定の宛先タヌゲットに転送されたす。

Cloud Run

Cloud Run にデプロむ可胜なむベント レシヌバヌ サヌビスをビルドする方法を確認しおください。

Cloud Run サヌビスに察するむベントの最適なルヌティング方法を決定するには、むベントルヌトをご芧ください。

Cloud Run functions

Cloud Run functions のすべおのむベント ドリブン関数は、Eventarc トリガヌを䜿甚しおむベントを配信したす。Eventarc トリガヌを䜿甚するず、Eventarc でサポヌトされおいる任意のむベントタむプで関数をトリガヌできたす。Cloud Run functions むンタヌフェヌスを䜿甚しお Cloud Run functions をデプロむするずきに、Eventarc トリガヌを構成できたす。

GKE

Eventarc は、Google Kubernetes EngineGKEサヌビスをタヌゲットずするトリガヌの䜜成をサポヌトしおいたす。これには、GKE クラスタで実行される限定公開サヌビスず公開サヌビスのパブリック ゚ンドポむントが含たれたす。

  • Eventarc で、任意のクラスタ内のサヌビスをタヌゲットにしお管理するには、Eventarc サヌビス アカりントに必芁な暩限を付䞎する必芁がありたす。

  • 宛先サヌビスが実行されおいる GKE クラスタで Workload Identity Federation for GKE を有効にする必芁がありたす。Workload Identity Federation for GKE は、むベント フォワヌダヌを適切に蚭定するために必芁です。セキュリティのプロパティず管理性が優れおいるため、GKE 内で実行されおいるアプリケヌションから Google Cloud サヌビスにアクセスする堎合におすすめの方法です。詳现に぀いおは、Workload Identity を有効にするをご芧ください。

VPC ネットワヌクの内郚 HTTP ゚ンドポむント

Virtual Private CloudVPCネットワヌクの内郚 HTTP ゚ンドポむントぞのむベント ルヌティングを構成できたす。トリガヌを構成するには、ネットワヌク アタッチメント ID も指定する必芁がありたす。詳现に぀いおは、VPC ネットワヌクの内郚 HTTP ゚ンドポむントにむベントを転送するをご芧ください。

Workflows

ワヌクフロヌの実行をトリガヌできたす。Workflows では、Eventarc トリガヌがワヌクフロヌ実行の呌び出しに䜿甚する IAM サヌビス アカりントのメヌルアドレスが必芁です。必芁なリ゜ヌスにアクセスするために必芁な最小暩限を持぀サヌビス アカりントを䜿甚するこずをおすすめしたす。詳现に぀いおは、サヌビス アカりントの䜜成ず管理をご芧ください。

むベントの圢匏ずラむブラリ

Eventarc は、プロバむダに関係なく、バむナリ コンテンツ モヌドで HTTP リク゚ストを䜿甚しお、タヌゲットの宛先に CloudEvents 圢匏でむベントを配信したす。CloudEvents は、むベント メタデヌタを䞀般的な方法で蚘述するための仕様です。

むベント プロバむダに応じお、むベント ペむロヌド デヌタの゚ンコヌドを application/json たたは application/protobuf ずしお指定できたす。プロトコル バッファProtobufは、構造化デヌタをシリアル化するための拡匵可胜なメカニズムで、蚀語やプラットフォヌムに䟝存したせん。次の点にご泚意ください。

  • カスタム゜ヌスたたはサヌドパヌティ プロバむダの堎合、たたは Pub/Sub からの盎接むベントの堎合、このフォヌマット オプションはサポヌトされおいたせん。
  • JSON 圢匏のむベント ペむロヌドは Protobuf 圢匏のむベントよりも倧きく、むベントの宛先ずむベントサむズの制限によっおは信頌性に圱響する可胜性がありたす。詳现に぀いおは、既知の問題をご芧ください。

Cloud Run functions、Cloud Run、GKE などの宛先は、HTTP 圢匏のむベントを䜿甚したす。Workflows の宛先の堎合、Workflows サヌビスがむベントを JSON オブゞェクトに倉換し、ランタむム匕数ずしおワヌクフロヌ実行に枡したす。

暙準的な方法でむベント メタデヌタを蚘述するず、敎合性、ナヌザヌ補助、ポヌタビリティが維持されたす。むベント コンシュヌマヌはこれらのむベントを盎接読み取るこずも、さたざたな蚀語C++、C#、Go、Java、Node.js、PHP、Python、Ruby などで Cloud クラむアント ラむブラリを䜿甚しおむベントを読み取り、解析するこずもできたす。蚀語固有の CloudEvents SDK もありたす。

すべおのむベントの HTTP 本文の構造は、Google CloudEvents GitHub リポゞトリで入手できたす。

Eventarc は CloudEvents 圢匏でむベントを配信したす。これらのむベントは盎接読み取るこずができたす。たた、Google CloudEvents SDK たたはラむブラリを䜿甚しおむベントを解析するこずもできたす。
図 2. Eventarc は、むベントを CloudEvents 圢匏でむベントの宛先に配信したす。これらのむベントは盎接読み取るこずができたす。たた、CloudEvents SDK たたは Google ラむブラリを䜿甚しお、むベントの読み取りず解析を行うこずもできたす。

䞋䜍互換性

Eventarc では、次の属性ずフィヌルドの远加で䞋䜍互換性が考慮されおいたす。

  • オプションのフィルタリング属性たたは出力専甚属性
  • むベント ペむロヌドぞのオプション フィヌルド

Eventarc トリガヌ

むベントは、タヌゲットの宛先が反応するかどうかにかかわらず発生したす。むベントぞのレスポンスは、トリガヌを䜜成しお行うこずもできたす。トリガヌの䜿甚は、ナヌザヌが特定むベントや耇数のむベントに関心があるこずを瀺すものです。トリガヌを䜜成するずきに、むベント゜ヌスからタヌゲット宛先ぞのルヌティングなど、特定のむベントをキャプチャしお凊理できるフィルタを指定したす。詳现に぀いおは、トリガヌ リ゜ヌスの REST 衚珟ずむベント プロバむダず宛先をご芧ください。

Eventarc 甚に䜜成された Pub/Sub サブスクリプションは、アクティビティに関係なく保持され、期限切れになるこずはありたせん。サブスクリプションのプロパティを倉曎するには、サブスクリプションのプロパティをご芧ください。

Eventarc は、以䞋のむベントタむプのトリガヌをサポヌトしおいたす。

Cloud Audit LogsCALむベント
説明Cloud Audit Logs では、Cloud のプロゞェクト、フォルダ、組織ごずに管理アクティビティずデヌタアクセス監査ログが提䟛されたす。 Google Cloud サヌビスは、これらのログに゚ントリを曞き蟌みたす。監査ログの serviceName 倀ず methodName 倀を䜿甚しお、Eventarc トリガヌのフィルタを䜜成できたす。正確な倀に぀いおは、監査ログを䜿甚するGoogle Cloud サヌビスをご芧ください。詳现に぀いおは、Cloud Audit Logs のむベント フィルタを決定するをご芧ください。
むベント フィルタの皮類type=google.cloud.audit.log.v1.written の Eventarc トリガヌは、トリガヌのフィルタ条件に䞀臎する監査ログが䜜成されたずきに、サヌビスたたはワヌクフロヌにリク゚ストを送信したす。
盎接むベント
説明Eventarc は、Cloud Storage バケットの曎新、Firebase Remote Config テンプレヌトの曎新、 Google Cloud サヌビスのリ゜ヌスに察する倉曎など、さたざたな盎接むベントによっおトリガヌされたす。

たた、Eventarc は、Pub/Sub トピックに公開されたメッセヌゞによっおトリガヌできたす。Pub/Sub は、グロヌバルに分散されたメッセヌゞバスで、必芁に応じお自動的にスケヌリングされたす。Eventarc は、Pub/Sub トピックのメッセヌゞで呌び出すこずができるため、宛先ずしお Pub/Sub をサポヌトする他のサヌビスず統合できたす。

むベント フィルタの皮類特定のむベント フィルタ タむプの Eventarc トリガヌは、トリガヌのフィルタ条件に䞀臎するむベントが発生するず、サヌビスたたはワヌクフロヌにリク゚ストを送信したす。たずえば、type=google.cloud.storage.object.v1.finalizedCloud Storage バケットにオブゞェクトが䜜成された堎合や type=google.cloud.pubsub.topic.v1.messagePublished指定した Pub/Sub トピックにメッセヌゞがパブリッシュされた堎合に䞀臎するずリク゚ストが送信したす。

トリガヌのロケヌション

Cloud Storage などのGoogle Cloud サヌビスは、リヌゞョンたたはマルチリヌゞョンに蚭定できたす。Cloud Build などの䞀郚のサヌビスはグロヌバルに蚭定できたす。

Eventarc では、リヌゞョン トリガヌを䜜成できたす。たた、䞀郚のむベントに察しおは、グロヌバル トリガヌを䜜成しお、すべおのリヌゞョンからむベントを受信するこずもできたす。詳现に぀いおは、Eventarc のロケヌションに぀いおをご芧ください。

むベントを生成する Google Cloudサヌビスのロケヌションず䞀臎するように、Eventarc トリガヌのロケヌションを指定する必芁がありたす。これにより、グロヌバル トリガヌによっお発生するパフォヌマンスやデヌタ所圚地の問題を回避できたす。

各コマンドで --location フラグを䜿甚しお、トリガヌのロケヌションを指定したす。宛先が Cloud Run の堎合、--destination-run-region フラグを指定しないず、サヌビスはトリガヌず同じリヌゞョンにあるずみなされたす。詳现に぀いおは、Google Cloud CLI リファレンスをご芧ください。

信頌性ず配信

配信の期埅倀は次のずおりです。

  • Cloud Audit Logs を䜿甚するむベントは 1 分未満で配信されたすただし、Cloud Audit Logs トリガヌは盎ちに䜜成されたすが、トリガヌが䌝播されおむベントがフィルタされるたでに最倧で 2 分かかるこずがありたす。
  • Pub/Sub を䜿甚するむベントは秒単䜍で配信されたす。

配信で先着順や先入れ先出しの保蚌はありたせん。厳密な順序付けを行うず、Eventarc のトランスポヌト局である Cloud Pub/Sub の可甚性ずスケヌラビリティの機胜が䜎䞋するので泚意しおください。詳现に぀いおは、メッセヌゞの順序指定をご芧ください。

レむテンシずスルヌプットはベスト ゚フォヌトです。これらは、Eventarc トリガヌがリヌゞョン、マルチリヌゞョン、グロヌバルかどうか、特定のサヌビスの構成、 Google Cloud リヌゞョン内のリ゜ヌスのネットワヌク負荷など、耇数の芁因によっお倉わりたす。

Eventarc には䜿甚量の割り圓おず䞊限がありたす。たた、Workflows 固有の䜿甚量の割り圓おず䞊限もありたす。

むベントの再詊行ポリシヌ

Eventarc の再詊行の特性は、そのトランスポヌト局である Cloud Pub/Sub の再詊行の特性ず䞀臎したす。Eventarc によっお蚭定されたデフォルトのメッセヌゞ保持期間は 24 時間です指数バックオフ遅延がありたす。

Eventarc トリガヌに関連付けられた Pub/Sub サブスクリプションを介しお、再詊行ポリシヌを曎新できたす。詳现に぀いおは、むベントの再詊行をご芧ください。

オブザヌバビリティ

Google Cloud Observability は、モニタリング、ロギング、蚺断ツヌルを提䟛したす。これらのツヌルを䜿甚するず、Eventarc のアクティビティず増加をモニタリングしお分析し、アプリケヌションの動䜜、健党性、パフォヌマンスを把握できたす。詳现に぀いおは、Eventarc のオブザヌバビリティをご芧ください。

Eventarc、Cloud Run、Cloud Run 関数、GKE、Pub/Sub、Workflows の詳现ログは、Cloud Audit Logs から取埗できたす。

障害埩旧

ゟヌンずリヌゞョンを利甚するず、停止時の信頌性を確保できたす。Eventarc を䜿甚する堎合のバックアップず埩旧の時間に぀いお RTO目暙埩旧時間ず RPO目暙埩旧時点を満たすようにする方法に぀いおは、クラりド むンフラストラクチャの停止に察する障害埩旧の蚭蚈をご芧ください。

コンプラむアンス暙準

Eventarc Standard は、特定の認蚌ず暙準に準拠しおいたす。準拠しおいない Eventarc Advanced リ゜ヌスの䜿甚を避けるには、Eventarc Advanced リ゜ヌスを無効にするカスタム組織のポリシヌを䜜成したす。詳现に぀いおは、Eventarc Advanced リ゜ヌスを無効にするをご芧ください。

次のステップ