Solucionar problemas de despliegue de App Engine en entornos flexibles

En este documento se presentan técnicas para solucionar problemas de implementaciones de Cloud Endpoints en entornos flexibles de App Engine. Si recibes un error al enviar una solicitud a tu API, consulta la sección Solucionar problemas de errores de respuesta para obtener información sobre cómo solucionar el error.

Errores de implementación

En esta sección se describe cómo solucionar los errores de gcloud app deploy.

Mensaje de error Solución de problemas
Tu implementación no ha podido alcanzar un estado correcto en el tiempo asignado y, por lo tanto, se ha revertido. Si crees que se trata de un error, prueba a ajustar la app_start_timeout_sec en la sección readiness_check.

Comprueba que tu archivo app.yaml tenga una sección readiness_check con un valor para app_start_timeout_sec. Si no existe, añade la sección y asigna a app_start_timeout_sec un valor superior al predeterminado de 300 segundos. Para obtener más información, consulta los requisitos.

Asegúrate de habilitar todos los Google Cloud servicios que requieren Endpoints y ESP. Consulta más información en el artículo Verificar los servicios necesarios.

Asegúrate de que la red VPC asociada a tu aplicación flexible de App Engine tenga una ruta estática local con el destino 0.0.0.0/0 y el salto siguiente de la pasarela de Internet predeterminada. Si usas servicios internos privados, asegúrate de que PGA esté habilitado en la subred seleccionada.

Mensajes de error sobre rollout_strategy

Cuando configures app.yaml antes de la implementación, debes añadir la sección endpoints_api_service. El proxy de servicio extensible (ESP) necesita los ajustes que especifiques en esta sección para obtener la configuración de tu servicio. Debe especificar un ID de configuración en el campo config_id o incluir la opción rollout_strategy: managed, pero no ambas. Esta opción configura ESP para que use la última configuración de servicio implementada. Si especifica esta opción, el ESP detectará el cambio y empezará a usarlo automáticamente en un plazo de 5 minutos después de que implemente una nueva configuración de servicio. Te recomendamos que especifiques esta opción en lugar de un ID de configuración específico para que lo use ESP. Por ejemplo:

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

Si la sección endpoints_api_service no incluye la información que necesita el ESP para obtener una configuración de servicio, se muestra uno de los siguientes mensajes:

Mensaje de error Solución de problemas
config_id no se permite cuando rollout_strategy se define como "managed". No puedes especificar un ID de configuración y rollout_strategy: managed. A menos que tengas un motivo para usar un ID de configuración específico, te recomendamos que elimines config_id: [YOUR_CONFIG_ID] de app.yaml y vuelvas a ejecutar gcloud app deploy.
config_id debe especificarse cuando rollout_strategy no se especifica o se define como "fixed". Este mensaje de error se muestra cuando app.yaml no incluye rollout_strategy: managed o cuando rollout_strategy está definido como fixed y no has especificado un ID de configuración. A menos que tengas un motivo para usar un ID de configuración específico, te recomendamos que añadas rollout_strategy: managed a la sección endpoints_api_service de app.yaml y que vuelvas a ejecutar gcloud app deploy.

Ver registros de una instancia

Los registros de fallos y del sistema de App Engine proporcionan información sobre por qué no se ha podido iniciar la aplicación o no ha funcionado como se esperaba. Puedes encontrar más información de depuración en el registro de Endpoints.

  1. En la Google Cloud consola, conéctate a tu máquina virtual mediante SSH. Consulta más información sobre cómo conectarse a una instancia.

  2. Usa un visor de texto como tail:

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

Siguientes pasos