Résoudre des problèmes de déploiement dans l'environnement flexible App Engine

Ce document présente des techniques de dépannage relatives aux déploiements de Cloud Endpoints dans l'environnement flexible App Engine. Si vous recevez un message d'erreur en réponse à une requête adressée à votre API, reportez-vous à la section Dépanner des erreurs de réponse pour obtenir plus d'informations sur la résolution de l'erreur.

Erreurs de déploiement

Cette section explique comment résoudre les erreurs de gcloud app deploy.

Message d'erreur Dépannage
Votre déploiement n'a pas pu être opérationnel dans le temps imparti et a donc été annulé. Si vous pensez qu'il s'agit d'une erreur, essayez de régler le paramètre app_start_timeout_sec dans la section readiness_check.

Vérifiez que votre fichier app.yaml dispose d'une section readiness_check avec une valeur pour app_start_timeout_sec. Si ce n'est pas le cas, ajoutez la section et définissez la valeur de app_start_timeout_sec sur une valeur supérieure à la valeur par défaut de 300 secondes. Pour plus d'informations, consultez la page Vérifications de préparation.

Assurez-vous que tous les services Google Cloud requis par Endpoints et ESP sont activés pour le projet. Pour plus d'informations, consultez la page Vérifier les services requis.

Messages d'erreur concernant rollout_strategy

Lorsque vous configurez app.yaml avant le déploiement, vous devez ajouter la section endpoints_api_service. Le proxy Extensible Service Proxy (ESP) a besoin des paramètres que vous avez spécifiés dans cette section pour obtenir la configuration définie pour votre service. Vous devez spécifier un ID de configuration dans le champ config_id ou inclure l'option rollout_strategy: managed, mais pas les deux. Cette option permet de configurer ESP pour qu'il utilise la dernière configuration de service déployée. Si cette option est spécifiée, jusqu'à 5 minutes après le déploiement d'une nouvelle configuration de service, ESP détecte la modification et commence à l'utiliser automatiquement. Nous vous recommandons de spécifier cette option plutôt qu'un ID de configuration spécifique à utiliser par ESP. Exemple :

endpoints_api_service:
  name: example-project-12345.appspot.com
  rollout_strategy: managed

Si la section endpoints_api_service n'inclut pas les informations dont ESP a besoin pour obtenir une configuration de service, l'un des messages suivants s'affiche :

Message d'erreur Dépannage
config_id est interdit lorsque rollout_strategy est défini sur "managed" Vous ne pouvez pas à la fois spécifier un ID de configuration et inclure l'option rollout_strategy: managed. À moins que vous n'ayez une raison particulière d'utiliser un ID de configuration spécifique, nous vous recommandons de supprimer la ligne config_id: [YOUR_CONFIG_ID] du fichier app.yaml et d'exécuter à nouveau gcloud app deploy.
config_id doit être spécifié lorsque rollout_strategy n'est pas spécifié ou est défini sur "fixed" Ce message d'erreur s'affiche lorsque app.yaml ne comporte pas l'option rollout_strategy: managed ou que rollout_strategy est défini sur fixed et que vous n'avez pas indiqué d'ID de configuration. À moins que vous n'ayez une raison particulière d'utiliser un ID de configuration spécifique, nous vous recommandons d'ajouter la ligne rollout_strategy: managed à la section endpoints_api_service du fichier app.yaml, puis d'exécuter à nouveau gcloud app deploy.

Afficher les journaux sur une instance

Les plantages et les journaux système d'App Engine fournissent des informations sur les raisons pour lesquelles l'application n'a pas pu être lancée ou n'a pas fonctionné correctement. Vous pouvez trouver d'autres informations de débogage dans le journal de Endpoints.

  1. Dans la console Google Cloud, connectez-vous en SSH à votre machine virtuelle. Pour plus d'informations, consultez la section Se connecter à une instance.

  2. Utilisez une visionneuse de texte telle que tail :

     tail -f /var/log/nginx/error.log
    

Étapes suivantes