トラブルシューティングの概要

このページでは一般的なトラブルシューティングについて説明します。また、詳細情報へのリンクも記載しています。

Cloud Endpoints 構成をデプロイする際のエラー

gcloud endpoints services deploy コマンドからエラー メッセージが表示された場合は、エラーのトラブルシューティングについて、Endpoints 構成のデプロイのトラブルシューティングをご覧ください。

API バックエンドをデプロイする際のエラー

API と Extensible Service Proxy(ESP)の Google Cloud バックエンドへのデプロイは、プラットフォームによって異なります。詳細については、以下のトラブルシューティング ガイドをご覧ください。

レスポンス エラー

API にリクエストを送信してエラー レスポンスを受け取った場合は、レスポンス エラーのトラブルシューティングでエラーのトラブルシューティング方法を確認してください。

必要なサービスを確認する

必要なサービスの確認

Endpoints と ESP を使用するには、少なくとも次の Google サービスの有効化が必要です。
名前 タイトル
servicemanagement.googleapis.com Service Management API
servicecontrol.googleapis.com Service Control API
endpoints.googleapis.com Google Cloud Endpoints

ほとんどの場合、gcloud endpoints services deploy コマンドによってこれらの必須サービスが有効化されます。ただし、以下の状況では、gcloud コマンドは正常に完了しますが、必須サービスが有効になりません。

  • Terraform などのサードパーティのアプリケーションを使用していて、上記のサービスを含めていない場合。

  • 上記のサービスが明示的に無効にされている既存の Google Cloud プロジェクトに Endpoints 構成をデプロイした場合。

必要なサービスが有効になっていることを確認するには、次のコマンドを実行します。

gcloud services list

必要なサービスが表示されない場合は、次のコマンドを使用してサービスを有効にします。

gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
gcloud services enable endpoints.googleapis.com

Endpoints サービスも有効にします。

gcloud services enable ENDPOINTS_SERVICE_NAME

ENDPOINTS_SERVICE_NAME を確認するには、次のいずれかを行います。

  • Endpoints 構成をデプロイ後、Cloud Console の [Endpoints] ページに移動します。[サービス名] 列に、考えられる ENDPOINTS_SERVICE_NAME のリストが表示されます。

  • OpenAPI の場合、ENDPOINTS_SERVICE_NAME は OpenAPI 仕様の host フィールドで指定したものです。gRPC の場合、ENDPOINTS_SERVICE_NAME は gRPC Endpoints 構成の name フィールドで指定したものです。

gcloud コマンドの詳細については、gcloud サービスをご覧ください。

必要な権限を確認する

Extensible Service Proxy を実行するインスタンスには、Service ManagementServiceControlを呼び出す権限が必要です。

デバッグ情報の確認

詳細レベルをデバッグに指定して gcloud コマンドライン ツールを実行すると、デバッグに役立ちます。

gcloud --verbosity=debug COMMAND

このコマンドにより、gcloud コマンドライン ツールはエラーの詳細なログを出力します。実行するコマンドによっては、サーバーからのリクエストとレスポンス情報が出力に含まれる場合があります。

サービスを有効にする

gcloud を使用してサービスの状態を確認します。

gcloud services list

特定のサービスの構成を表示するには、次のコマンドを使用します。

gcloud endpoints services describe SERVICE_NAME

プロキシ OAuth に失敗してもリクエストが通過する

OpenAPI ドキュメントに、OAuth 定義が設定されている security セクションがあるかどうか確認してください。サンプルの仕様ファイルは、GitHub のスタートガイドのサンプルで入手できます。

次のステップ