このページでは、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 \ --location=LOCATION
次のように置き換えます。
TRIGGER
: トリガーの 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
ロールが付与されていることを確認してください。詳細については、アクセス制御をご覧ください。トリガーの作成中に次のエラーが発生した場合は、数分(最大 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
)の権限をご覧ください。Eventarc サービス エージェントが Google Cloud プロジェクトに存在し、必要なロールが付与されていることを確認するには、次の操作を行います。
プロジェクト間のサービス アカウントを使用しようとしたときに
iam.serviceAccounts.getAccessToken
またはiam.serviceAccounts.actAs
の権限拒否エラーが発生する場合、または...cross-project service accounts are disabled
またはFailed to impersonate...
に似たエラー メッセージが表示される場合は権限が正しく構成されていることを確認してください。詳細については、プロジェクト間のサービス アカウントを使用するをご覧ください。
Eventarc の使用時に予期しない請求が発生する
トリガーを作成するときは、構成したフィルタがトリガーを無期限に設定できない可能性があるかどうかを確認します。想定外の請求を回避するには、Google Cloud の課金コンソールを使用して予算とアラートを設定します。詳細については、予算の作成をご覧ください。
関連情報
- Eventarc の詳細については、概要をご覧ください。
- Eventarc のトラブルシューティングのチュートリアルについては、Eventarc を使用した Cloud Run サービスのデバッグをご覧ください。
- イベント公開に関する問題については、イベント公開のトラブルシューティングをご覧ください。
- その他のサポートを確認については、サポートをご覧ください。