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

Terraform で Eventarc トリガーを作成

2022年3月30日
Google Cloud Japan Team

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

Terraform は、Google Cloud 内で、またクラウド間でインフラストラクチャの構築、変更、バージョニングを行うためのツールとして認知度が高まっています。以前の投稿では、Google Cloud Console を使用して、またはコマンドラインから gcloud を使用して、Eventarc トリガーを作成する方法をご紹介しました。この投稿では、Terraform の google_eventarc_trigger リソースを使用して同じトリガーを作成する方法をご紹介します。

前提条件については、GitHub の eventarc-samples/terraform をご覧ください。また、Terraform の詳細な構成については、main.tf をご覧ください。

Cloud Run サービスをイベントシンクとして定義する

トリガーを作成する前に、Cloud Run サービスをトリガーのイベントシンクとして作成する必要があります。Cloud Run サービスを定義するには、Terraform の google_cloud_run_service リソースを使用できます。

読み込んでいます...

Pub/Sub トリガーを定義する

Pub/Sub トリガーは、Pub/Sub トピックを Cloud Run サービスに接続します。

以前に紹介したように、gcloud を使用して Pub/Sub トリガーを作成する方法は次のとおりです。

読み込んでいます...

Terraform リソースを使用すると、同じ Pub/Sub トリガーが次のようになります。

読み込んでいます...

注: gcloud と Terraform では、イベントのフィルタ方法に若干の違いがあります。gcloud では、イベントをフィルタするために --event-filters フラグを使用しますが、Terraform では matching_criteria を使用します。これは古い仕様が原因であり、将来的には修正されると思われます。

監査ログトリガーを定義する

監査ログトリガーは、Audit Logs を使用するさまざまな Google Cloud サービスを Cloud Run サービスに接続します。Cloud Storage の storage.object.create イベント用の監査ログトリガーは、Terraform では次のようになります。

読み込んでいます...

Terraform を使用してデプロイする

Terraform を使用したリソースのデプロイは、通常は次の 3 ステップで行います。

1. Terraform を初期化します。

terraform init

2. 予定されている変更を確認します。

読み込んでいます...

3. リソースを作成します。

読み込んでいます...

数分後にすべてのリソース(1 つの Cloud Run サービスと 2 つの Eventarc トリガー)が作成されます。トリガーのリストは再度確認できます。

読み込んでいます...


以上、Terraform で Eventarc トリガーを作成する方法の概要でした。ご不明な点やフィードバックがございましたら、Twitter で @meteatamel までお気軽にお問い合わせください。


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