このページでは、Eventarc の使用時に発生する可能性のある問題を解決する方法について説明します。
発生の可能性がある宛先固有の問題については、以下のトラブルシューティングをご覧ください。
Eventarc プロバイダ
このセクションでは、イベントの発生元(プロバイダ)で発生している問題のトラブルシューティングのヒントを紹介します。
プロバイダが存在しない
プロバイダが存在することと、トリガー フィルタが適切に指定されていることを確認します。
イベントはプロバイダから生成されているが、ターゲットで受信されていない
ターゲットの宛先でサポートされているリージョンのプロバイダからのイベントがフィルタされているかどうか確認してください。詳細については、Eventarc でサポートされているロケーションと Eventarc のロケーションについてをご覧ください。
トリガーがイベントを配信していない
- プロバイダがイベントを生成していることを確認します。Cloud Audit Logs で、モニタリング対象サービスがログを作成していることを確認します。ログが記録されていてもイベントが配信されない場合は、サポートにお問い合わせください。 
- 同じトリガー名の Pub/Sub トピックが存在することを確認します。 - すべてのロケーションのトリガーを一覧取得するには、次のコマンドを実行します。 - gcloud eventarc triggers list --location=-
- Pub/Sub トピックを一覧取得するには、次のコマンドを実行します。 - gcloud pubsub topics list- Pub/Sub トピック名に、作成されたトリガーの名前が含まれていることを確認します。Pub/Sub トピックがない場合は、トリガーの作成時にトピックを作成します。 
- トリガーの説明を取得して、トリガーの条件に関する問題を検出するには、次のコマンドを実行します。 - gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION- 次のように置き換えます。 - TRIGGER_ID: トリガーの ID または完全修飾識別子。
- LOCATION: Eventarc トリガーのロケーション。
 
- 前のコマンドは、トリガーの条件を返します。Pub/Sub トピックに問題がある場合は、次のいずれかの条件が返されます。 - conditions: transport.pubsub.topic: code: NOT_FOUND message: Pub/Sub topic not found. Try recreating the trigger. - または - conditions: transport.pubsub.topic: code: UNKNOWN message: Pub/Sub topic status is unknown. Try requesting the trigger description again. - 該当する場合は、以下の操作を行います。 
 
- Pub/Sub トピックの正常性を確認します。 - Pub/Sub トピックの構成を確認します。[トピック] ページに移動します。 
- 指標 - topic/send_message_operation_countを含むトピックにメッセージが公開されているかどうかをモニタリングします。トピックにメッセージが公開されていない場合は、Cloud Audit Logs で、モニタリング対象サービスがログを出力していることを確認します。ログが記録されていてもイベントが配信されない場合は、サポートにお問い合わせください。
- response_codeで、指標- subscription/push_request_countを含むメッセージが正常に push されているかどうかをモニタリングします。push エラーが報告された場合は、サービスログを確認します。受信エンドポイントが OK 以外のステータス コードを返した場合、Cloud Run コードが期待どおりに機能していません。この場合、サポートにお問い合わせいただく必要があります。
 
Eventarc トリガー
このセクションでは、トリガーで発生した問題のトラブルシューティングのヒントを紹介します。
権限拒否エラー
- Failed to load service details: permission deniedエラーが発生した場合は、トリガーの権限が正しく構成され、Pub/Sub サービス アカウントに- iam.serviceAccountTokenCreatorロールが付与されていることを確認してください。詳しくは、IAM によるアクセス制御をご覧ください。
- トリガーの作成中に次のエラーが発生した場合は、数分(最大 7 分)待ってからトリガーを再度作成してください。 - Permission denied while using the Eventarc Service Agent. If you recently started to use Eventarc, it may take a few minutes before all necessary permissions are propagated to the Service Agent. Otherwise, verify that it has Eventarc Service Agent role. - サービス エージェントは、特定のプロジェクトの特定の Google Cloud サービスの ID として機能します。詳細については、サービス エージェントで、Eventarc サービス エージェントのロール( - roles/eventarc.serviceAgent)の Identity and Access Management(IAM)権限をご覧ください。- リソースの作成を再度試行しても、前のエラーが引き続き発生する場合は、次の手順で、Eventarc サービス エージェントが Google Cloud プロジェクトに存在し、必要なロールが付与されていることを確認します。 
- プロジェクト間のサービス アカウントを使用しようとしたときに - iam.serviceAccounts.getAccessTokenまたは- iam.serviceAccounts.actAsの権限拒否エラーが発生する場合、または- ...cross-project service accounts are disabledまたは- Failed to impersonate...に似たエラー メッセージが表示される場合は権限が正しく構成されていることを確認してください。詳細については、プロジェクト間のサービス アカウントを使用するをご覧ください。
Pub/Sub トピックに CMEK 鍵が表示されない
顧客管理の暗号鍵(CMEK)で Eventarc チャネルを有効にすると、Eventarc Standard でトランスポート レイヤとして使用される Pub/Sub トピックが保護されます。ただし、CMEK 鍵はGoogle Cloud コンソールには表示されません。Google Cloud CLI を使用して、Pub/Sub トピックで CMEK 鍵が有効になっていることを確認できます。
- Eventarc トリガーの説明を取得します。 - gcloud eventarc triggers describe TRIGGER_ID \ --location=LOCATION- 次のように置き換えます。 - TRIGGER_ID: Eventarc トリガーの ID
- LOCATION: トリガーのロケーション- Pub/Sub トピック ID が返されます。次に例を示します。 - topic: projects/PROJECT_ID/topics/TOPIC_ID
 
- Pub/Sub トピックの説明を取得します。 - gcloud pubsub topics describe TOPIC_ID- TOPIC_IDは、前の手順で取得した Pub/Sub トピック ID に置き換えます。- CMEK 鍵の名前が返されます。次に例を示します。 - kmsKeyName: projects/PROJECT_ID/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME/grants/GRANT_ID
Eventarc の使用時に予期しない請求が発生する
トリガーを作成するときは、構成したフィルタがトリガーを無期限に設定できない可能性があるかどうかを確認します。想定外の請求を回避するには、 Google Cloudの課金コンソールを使用して予算とアラートを設定します。詳細については、予算の作成をご覧ください。
関連情報
- Eventarc の詳細については、概要をご覧ください。
- Eventarc のトラブルシューティングのチュートリアルについては、Eventarc を使用した Cloud Run サービスのデバッグをご覧ください。
- イベント公開に関する問題については、イベント公開のトラブルシューティングをご覧ください。
- その他のサポートを確認については、サポートをご覧ください。