Resolução de problemas de implementação flexível do App Engine

Este documento apresenta técnicas de resolução de problemas para implementações do Cloud Endpoints em ambientes flexíveis do App Engine. Se receber um erro de volta de um pedido à sua API, consulte o artigo Resolução de problemas de erros de resposta para obter informações sobre a resolução de problemas do erro.

Erros de implementação

Esta secção descreve como resolver problemas de erros de gcloud app deploy.

Mensagem de erro Resolução de problemas
A sua implementação não ficou em bom estado no tempo permitido e, por isso, foi revertida. Se considerar que se trata de um erro, experimente ajustar a definição na secção readiness_check.app_start_timeout_sec

Verifique se o ficheiro app.yaml tem uma secção readiness_check com um valor para app_start_timeout_sec. Se não existir, adicione a secção e defina o valor de app_start_timeout_sec para um valor superior ao predefinido de 300 segundos. Para mais informações, consulte os testes de prontidão.

Certifique-se de que ativa todos os Google Cloud serviços que os Endpoints e o ESP requerem. Consulte a secção Verificar os serviços necessários para ver detalhes.

Certifique-se de que a VPC associada à sua app flexível do App Engine tem uma rota estática local com o destino 0.0.0.0/0e o próximo salto do gateway de Internet predefinido. Se usar serviços privados apenas internos, certifique-se de que a PGA está ativada na sub-rede selecionada.

Mensagens de erro sobre rollout_strategy

Quando configura o app.yaml antes da implementação, tem de adicionar a secção endpoints_api_service. O proxy de serviço extensível (ESP) precisa das definições que especificar nesta secção para obter a configuração do seu serviço. Tem de especificar um ID de configuração no campo config_id ou incluir a opção rollout_strategy: managed, mas não ambos. Esta opção configura o ESP para usar a configuração do serviço implementada mais recente. Quando especifica esta opção, até 5 minutos após implementar uma nova configuração de serviço, o ESP deteta a alteração e começa a usá-la automaticamente. Recomendamos que especifique esta opção em vez de um ID de configuração específico para o ESP usar. Por exemplo:

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

Se a secção endpoints_api_service não incluir as informações de que o ESP precisa para obter uma configuração de serviço, é apresentada uma das seguintes mensagens:

Mensagem de erro Resolução de problemas
config_id é proibido quando rollout_strategy está definido como "managed" Não é possível especificar um ID de configuração e rollout_strategy: managed. A menos que tenha um motivo para usar um ID de configuração específico, recomendamos que remova o elemento config_id: [YOUR_CONFIG_ID] de app.yaml e volte a executar gcloud app deploy.
Tem de especificar config_id quando rollout_strategy não estiver especificado ou estiver definido como "fixed" Esta mensagem de erro é apresentada quando app.yaml não inclui rollout_strategy: managed ou rollout_strategy está definido como fixed e não especificou um ID de configuração. A menos que tenha um motivo para usar um ID de configuração específico, recomendamos que adicione rollout_strategy: managed à secção endpoints_api_service de app.yaml e volte a executar gcloud app deploy.

Ver registos numa instância

Os registos de falhas e do sistema do App Engine fornecem informações sobre o motivo pelo qual a aplicação não foi iniciada ou não teve o desempenho esperado. Pode encontrar mais informações de depuração no registo de pontos finais.

  1. Na Google Cloud consola, faça uma ligação SSH à sua máquina virtual. Consulte o artigo sobre como estabelecer ligação a uma instância para mais informações.

  2. Use um visualizador de texto, como o tail:

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

O que se segue?