コンテンツに移動
デベロッパー

Eventarc の新しい Cloud Storage トリガーの概要

2021年10月1日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 9 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。

Eventarc ではこのたび、Cloud Storage バケットからイベントを受信するための新しい Cloud Storage トリガーがサポートされるようになりました。

これを聞いて、「Eventarc は Cloud Storage イベントの受信をすでにサポートしていたはず」と疑問に思われるかも知れません。確かに Eventarc は、Cloud Audit Logs トリガーを経由した Cloud Storage イベントの受信を長きにわたってサポートしてきました。しかし、新しい Cloud Storage トリガーはいくつもの利点を備えており、Cloud Storage イベントの受信に最適なものとなっているのです。詳細を見てみましょう。

ご存じのとおり、Eventarc には 3 つのタイプのトリガーがあります。

  1. Pub/Sub トリガー: 新しいまたは既存の Pub/Sub トピックからメッセージを受信します。

  2. Cloud Audit Logs トリガー: 100 以上のイベントソースから監査ログを受信します。

  3. Cloud Storage トリガー(新): Cloud Storage バケットからイベントを受信します。

これまでは、監査ログトリガーが Cloud Storage イベントを受信できる唯一の方法でした。

監査ログトリガーによる Cloud Storage イベントの受信

監査ログトリガーを使用した以前の方法の例を見てみましょう。これは監査ログトリガーで、europe-west1 リージョンで作成されます。新しいオブジェクトが europe-west1 の Cloud Storage バケットで作成されるとトリガーし、イベントが us-central1 の Cloud Run サービスにルーティングされます。

読み込んでいます...

これで機能しますが、次のような問題があります。

  1. 監査ログの有効化: 監査ログトリガーが機能するには、Cloud Storage に対して監査ログを有効化する必要があります。多くのユーザーがこれを忘れがちです。

  2. レイテンシ: ファイルの保存時、監査ログイベント生成時、Cloud Run サービスのイベント受信時の間には遅延があります。

  3. 監査ログのバケットによるフィルタなし: 代わりに、コード内でバケットでフィルタする必要があります。

  4. デュアルリージョンまたはマルチリージョンのサポートなし: Eventarc のロケーションは、1 つのリージョンのみ、またはすべてのリージョンに対する特別なグローバル リージョンのみサポート可能となっています。一方 Cloud Storage は、シングル、デュアル、マルチのいずれのリージョンでも、バケットのロケーションをサポートします。EU のマルチリージョン バケットからイベントを受信する場合は、Eventarc のロケーションをグローバルに設定する必要があります(シングル リージョンではないため)。この場合、イベントをすべてのリージョンから受信することになるため、コード内でリージョン別にフィルタする必要があります。

Cloud Storage トリガーによる Cloud Storage イベントの受信

これは、新しい Cloud Storage トリガーを使用して europe-west1 の Cloud Storage バケットからオブジェクト作成イベントを受信する方法です。

読み込んでいます...

この方法は監査ログトリガーよりシンプルなだけでなく、次の点でも優れています。

  1. 監査ログがないということは、つまり監査ログを有効化する必要がないことを意味するため、監査ログによるレイテンシが発生しません。バケットでファイルを作成する場合、Cloud Run サービスでそのイベントがほぼ即時に表示されます。

  2. バケットによるフィルタがサポートされています。コード内でバケットによってフィルタする必要がありません。Eventarc は、Eventarc トリガーのロケーションに対するバケットのロケーションについて、サニティ チェックを実施できます。

  3. デュアルリージョンとマルチリージョンがサポートされます。複数のリージョンで作業する場合に  グローバル ロケーションを指定する必要がなくなり、コード内でフィルタする必要もなくなりました。


ちょうどこの新しい Cloud Storage トリガーのような機能を探していたという場合や、今後このトリガーが必要になりそうだと思われる場合には、次のリソースをご覧ください。トリガーを試す手順をご確認いただけます。

ご不明な点やフィードバックがございましたら、@meteatamel までご連絡ください。

-          デベロッパー アドボケイト Mete Atamel

投稿先