このドキュメントでは、App Engine フレキシブル環境にデプロイされた Cloud Endpoints のトラブルシューティング方法について説明します。API にリクエストを送信してエラー レスポンスを受け取った場合は、レスポンス エラーのトラブルシューティングでトラブルシューティングの方法を確認してください。
デプロイエラー
このセクションでは、gcloud app deploy
で発生したエラーのトラブルシューティング方法を説明します。
エラー メッセージ | トラブルシューティング |
---|---|
Your deployment has failed to become healthy in the allotted time and therefore was rolled back. If you believe this was an error, try adjusting the app_start_timeout_sec setting in the readiness_check section. |
Endpoints と ESP に必要なすべての Google Cloud サービスがプロジェクトで有効になっていることを確認します。詳しくは、必要なサービスの確認をご覧ください。 |
rollout_strategy
に関するエラー メッセージ
デプロイ前に app.yaml
を構成する場合は、endpoints_api_service
セクションを追加する必要があります。Extensible Service Proxy(ESP)は、このセクションに指定した値を使用して、サービスの構成を取得します。config_id
フィールドに構成 ID を指定するか、rollout_strategy: managed
オプションを追加します。この両方を行うことはできません。このオプションを構成すると、ESP はデプロイされた最新のサービス構成を使用します。このオプションを指定すると、新しいサービス構成をデプロイしてから 5 分以内に ESP が変更を検出し、自動的に使用します。ESP が特定の構成 ID でなく、このオプションを使用するようにしてください。次に例を示します。
endpoints_api_service:
name: example-project-12345.appspot.com
rollout_strategy: managed
endpoints_api_service
セクションに ESP がサービス構成を取得するために必要な情報が含まれていない場合は、次のメッセージのいずれかが表示されます。
エラー メッセージ | トラブルシューティング |
---|---|
config_id is forbidden when rollout_strategy is set
to "managed"
|
構成 ID と rollout_strategy: managed の両方を指定することはできません。特定の構成 ID を使用する理由がない限り、app.yaml から config_id: [YOUR_CONFIG_ID] を削除して、gcloud app deploy を再度実行することをおすすめします。 |
config_id must be specified when rollout_strategy is
unspecified or set to "fixed"
|
このエラー メッセージは、app.yaml に rollout_strategy: managed が含まれていない場合か、rollout_strategy が fixed に設定され、構成 ID を指定していない場合に表示されます。特定の構成 ID を使用する理由がない限り、app.yaml の endpoints_api_service セクションに rollout_strategy: managed を追加して gcloud app deploy を再度実行することをおすすめします。 |
インスタンスのログを確認する
App Engine クラッシュログとシステムログを見ると、アプリケーションの起動失敗や予期しない動作が発生した原因を確認できます。Endpoints ログでは、さらに詳細なデバッグ情報を確認できます。
Google Cloud コンソールで、仮想マシンに SSH で接続します。詳細については、インスタンスへの接続をご覧ください。
tail
などのテキスト ビューアを使用します。tail -f /var/log/nginx/error.log