Problèmes connus dans l'environnement flexible App Engine

ID de la région

Le REGION_ID est un code abrégé que Google attribue en fonction de la région que vous sélectionnez lors de la création de votre application. Le code ne correspond pas à un pays ou une province, même si certains ID de région peuvent ressembler aux codes de pays et de province couramment utilisés. Pour les applications créées après février 2020, REGION_ID.r est inclus dans les URL App Engine. Pour les applications existantes créées avant cette date, l'ID de région est facultatif dans l'URL.

En savoir plus sur les ID de région

Pour obtenir la liste complète des problèmes connus ou pour signaler un nouveau problème, consultez l'outil de suivi des problèmes.

  • Après avoir déployé votre application avec gcloud app deploy, vous devrez peut-être attendre 1 à 2 minutes avant que votre application ne commence à diffuser vers https://PROJECT_ID.REGION_ID.r.appspot.com. Jusque-là, vous verrez peut-être s'afficher des erreurs HTTP 503.

  • Si votre projet comporte une règle d'administration limitant l'accès aux adresses IP externes, vous ne pourrez pas déployer d'application d'environnement flexible App Engine avec des adresses IP externes. Par exemple, la règle d'administration peut se présenter comme suit :

    • La règle en vigueur pour constraints/compute.vmExternalIpAccess est définie sur DENY_ALL.
    • La règle en vigueur pour constraints/compute.vmExternalIpAccess est définie pour n'autoriser que des instances de VM spécifiques.

    Ces contraintes ne sont pas automatiquement détectées et les déploiements peuvent expirer et échouer. Vous pouvez vérifier la règle d'administration de votre projet en exécutant la commande gcloud beta resource-manager org-policies describe compute.vmExternalIpAccess --project=my-project --effective. Vous pouvez également remplacer la règle d'administration pour un projet spécifique.

    Cependant, même avec ces règles d'administration définies, vous pouvez déployer une application d'environnement flexible App Engine privée qui n'utilise que son adresse IP interne.

  • Après avoir déployé une nouvelle version d'un service existant dans l'environnement flexible App Engine avec gcloud app deploy, la métrique "Nombre/s" affichée dans le graphique "Résumé" du tableau de bord App Engine peut diminuer considérablement. La métrique revient progressivement au nombre de requêtes attendu dans les 5 à 10 minutes qui suivent.

    Cela ne signifie pas que votre application traite moins de requêtes. Lorsque vous déployez une nouvelle version de votre application, il existe un délai entre le moment où la nouvelle version est prête à diffuser les requêtes et le moment où les métriques des nouvelles instances sont disponibles.

    Pour vous assurer que cette métrique n'est pas affectée par un déploiement d'une nouvelle version, procédez comme suit :

    1. Déployez votre nouvelle version avec gcloud app deploy --no-promote.
    2. Attendez 15 minutes après la fin du déploiement.
    3. Migrez le trafic vers la nouvelle version.

    Si vous effectuez un déploiement à l'aide de --no-promote, mais que vous allouez la quantité de trafic à la nouvelle version avant la fin du délai de 15 minutes suivant le déploiement, cette métrique peut être affectée.

  • Il n'est pas possible dans l'environnement flexible App Engine de configurer app.yaml pour que votre application redirige automatiquement les requêtes pour utiliser systématiquement HTTPS. Cela diffère de l'environnement standard App Engine, dans lequel vous pouvez utiliser le paramètre secure.

    Vous pouvez également gérer la redirection dans le code de votre application en analysant la valeur de l'en-tête X-Forwarded-Proto. Vous pouvez également encourager les clients à utiliser l'en-tête Strict-Transport-Security.

  • Si vous attribuez un compte de service géré par l'utilisateur à une version de l'environnement flexible App Engine, votre projet peut être facturé pour les métriques précédées de agent.googleapis.com. Normalement, ces métriques d'agent ne sont pas facturées sur votre projet. Nous vous recommandons de continuer à utiliser le compte de service App Engine par défaut jusqu'à ce que ce problème soit résolu.

  • Vous ne pouvez pas établir de connexion SSH avec une instance de VM à l'aide d'IAP.

Réduction inattendue du nombre d'instances

  • Dans de rares cas, votre application peut constater une réduction inattendue du nombre d'instances en raison de défaillances d'une zone, ou si un groupe entier d'instances cesse de répondre. Pour éviter cela, Google recommande de surprovisionner votre application afin d'éviter que votre système passe en dessous du nombre minimal d'instances. Vous pouvez définir la taille min_num_instances de votre application d'environnement flexible App Engine lors de son déploiement. Voici quelques-uns des événements pouvant affecter le nombre minimal d'instances de l'environnement flexible App Engine :

    1. Déployer des mises à jour sur des instances de l'environnement flexible
    2. Défaillance zonale (problèmes de rupture de stock, par exemple lorsque votre région est saturée pour le processeur sélectionné, etc.)

    L'environnement flexible App Engine utilise trois zones pour distribuer les instances. Dans une telle configuration, nous vous recommandons de provisionner 50 % d'instances en plus que nécessaire.