このページでは一般的なトラブルシューティングについて説明します。また、詳細情報へのリンクも記載しています。
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 |
ほとんどの場合、gcloud endpoints services deploy
コマンドによってこれらの必須サービスが有効化されます。ただし、以下の状況では、gcloud
コマンドは正常に完了しますが、必須サービスが有効になりません。
Terraform などのサードパーティのアプリケーションを使用していて、上記のサービスを含めていない場合。
上記のサービスが明示的に無効にされている既存の Google Cloud プロジェクトに Endpoints 構成をデプロイした場合。
必要なサービスが有効になっていることを確認するには、次のコマンドを実行します。
gcloud services list
必要なサービスが表示されない場合は、次のコマンドを使用してサービスを有効にします。
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
Endpoints サービスも有効にします。
gcloud services enable ENDPOINTS_SERVICE_NAME
ENDPOINTS_SERVICE_NAME を確認するには、次のいずれかを行います。
Endpoints 構成をデプロイ後、Cloud コンソールの [Endpoints] ページに移動します。[サービス名] 列に、考えられる ENDPOINTS_SERVICE_NAME のリストが表示されます。
OpenAPI の場合、ENDPOINTS_SERVICE_NAME は OpenAPI 仕様の
host
フィールドで指定したものです。gRPC の場合、ENDPOINTS_SERVICE_NAME は gRPC Endpoints 構成のname
フィールドで指定したものです。
gcloud
コマンドの詳細については、gcloud
サービスをご覧ください。
必要な権限を確認する
Extensible Service Proxy を実行するインスタンスには、Service ManagementとServiceControlを呼び出す権限が必要です。
Cloud Run にデプロイされた ESP の詳細については、Cloud Run チュートリアルで新しい ESPv2 イメージをビルドするをご覧ください。
Compute Engine にデプロイされた ESP の詳細については、Compute Engine チュートリアルで必要な権限を確認するをご覧ください。
GKE にデプロイされた ESP の詳細については、GKE チュートリアルで必要な権限を確認するをご覧ください。
デバッグ情報の確認
詳細レベルをデバッグに指定して Google Cloud CLI を実行すると、デバッグに役立ちます。
gcloud --verbosity=debug COMMAND
このコマンドにより、Google Cloud CLI でエラーの詳細なログが出力されます。実行するコマンドによっては、サーバーからのリクエストとレスポンス情報が出力に含まれる場合があります。
サービスを有効にする
gcloud
を使用してサービスの状態を確認します。
gcloud services list
特定のサービスの構成を表示するには、次のコマンドを使用します。
gcloud endpoints services describe SERVICE_NAME
プロキシ OAuth に失敗してもリクエストが通過する
OpenAPI ドキュメントに、OAuth 定義が設定されている security
セクションがあるかどうか確認してください。サンプルの仕様ファイルは、GitHub のスタートガイドのサンプルで入手できます。