Terraform で Eventarc トリガーを作成
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




