Eventarc は、基盤となるインフラストラクチャを実装、カスタマイズ、またはメンテナンスすることなく、イベント ドリブン アーキテクチャを構築できる Google Cloud サービスです。
Eventarc トリガーを作成するには、トリガーのフィルタを指定し、イベントソースやターゲット Cloud Run サービスなど、イベントのルーティングを構成します。指定したイベントまたはイベントセットがフィルタと一致すると、イベントに応じて Cloud Run サービスが自動的に呼び出されます。
Cloud Run サービスに送信されたイベントは、HTTP リクエストの形式で受信されます。
サービスに対するリクエストをトリガーするイベントの種類は次のとおりです。
- トリガーのフィルタ条件に一致する監査ログが作成されたとき
- 直接イベント(Cloud Storage バケットの更新など)
- Pub/Sub トピックに公開されたダイレクト メッセージ
このページでは、Cloud Run コンソール ページでサービスのトリガーを作成する方法について説明します。関数のトリガーを作成する方法については、Cloud Run で関数をデプロイするをご覧ください。
Google Cloud CLI または Eventarc コンソール ページで Eventarc トリガーを作成することもできます。特定のプロバイダ、イベントタイプ、宛先のトリガーを作成する手順については、リストをフィルタして、Eventarc のイベント プロバイダと宛先の詳細をご覧ください。
始める前に
Eventarc でトリガーを作成する前に、トリガー ID に必要なロールを理解してください。
Eventarc API を有効にします。
すべての Eventarc トリガーは、トリガーの作成時に Identity and Access Management(IAM)サービス アカウントに関連付けられます。このサービス アカウントはトリガー サービス アカウントと呼ばれ、Eventarc API の呼び出しに使用されます。たとえば、認証を必要とする Cloud Run サービスにイベントを送信するには、トリガー ID に Cloud Run 起動元 IAM(
roles/run.invoker
)ロールが付与されていることを確認します。Cloud Storage からの直接イベントのトリガーを作成する場合は、Cloud Storage サービス アカウントに
pubsub.publisher
ロールを付与します。SERVICE_ACCOUNT="$(gcloud storage service-agent --project=PROJECT_ID)" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role='roles/pubsub.publisher'
PROJECT_ID
は、Google Cloud プロジェクト ID に置き換えます。プロジェクト ID は、Google Cloud コンソールの [ようこそ] ページで確認できます。
トリガーを作成する
サービスをデプロイしたら、Cloud Run コンソール ページを使用して Eventarc トリガーを作成できます。
Google Cloud コンソールで、[Cloud Run] に移動します。
サービスのリストで既存のサービスをクリックするか、新しいサービスを作成します。
サービスの詳細ページで、[トリガー] タブをクリックします。
[
Eventarc トリガーを追加] をクリックします。[Eventarc トリガー] ペインが開きます。イベントの最適なルーティング方法を決定するには、イベント ルーティング オプションをご覧ください。
特定のプロバイダ、イベントタイプ、 の宛先のトリガーを作成するの手順に沿って操作し、「トリガーを作成する」セクションにあるコンソールの手順を参照してください。
Cloud Run サービスを呼び出すサービス アカウントを選択するか、新しいサービス アカウントを作成します。
これにより、トリガーに関連付けられた IAM サービス アカウントのメールアドレスが指定されます。Cloud Run の宛先の場合、サービスを呼び出すときにこのサービス アカウントを使用して ID トークンを生成します。
受信リクエストの送信先であるサービスの URL パスを指定することもできます。
これは、トリガーのイベントが送信される宛先サービスの相対パスです。例:
/
、/route
、route
、route/subroute
トリガーの作成後、[トリガー] タブにチェックマーク check_circle が付いていることを確認します。
次のステップ
- Eventarc の詳細を学習する
- Eventarc の課金対象となるコンポーネントを理解する
- Cloud Run にデプロイされた関数のトリガーを作成する
- Eventarc でイベントの再試行を有効にする