Problemas conocidos en el entorno flexible de App Engine

ID de región

REGION_ID es un código abreviado que Google asigna en función de la región que eliges cuando creas la app. El código no corresponde a un país ni a una provincia, aunque algunos ID de región puedan parecer similares a los códigos de país y provincia que se suelen usar. En el caso de las apps creadas después de febrero de 2020, REGION_ID.r se incluye en las URL de App Engine. En el caso de las apps existentes creadas antes de esta fecha, el ID de región es opcional en la URL.

Obtén más información acerca de los ID de región.

A fin de ver la lista completa de los problemas conocidos o de informar un problema nuevo, consulta el seguimiento de problemas.

  • Después de implementar tu aplicación con gcloud app deploy, es posible que debas esperar uno o dos minutos antes de que la aplicación comience a entregar contenido en https://PROJECT_ID.REGION_ID.r.appspot.com. Hasta ese momento, es posible que veas errores HTTP 503.

  • Si hay una política de la organización en tu proyecto que restringe el acceso a las IP externas, no podrás implementar una app del entorno flexible de App Engine con direcciones IP externas. Por ejemplo, la política de la organización puede tener el siguiente aspecto:

    • La política vigente para constraints/compute.vmExternalIpAccess se estableció en DENY_ALL.
    • La política vigente para constraints/compute.vmExternalIpAccess se estableció con el fin de permitir solo instancias de VM específicas.

    Estas restricciones no se detectan de forma automática, y las implementaciones podrían agotar el tiempo de espera y fallar. Para verificar la política de la organización del proyecto, ejecuta el comando gcloud beta resource-manager org-policies describe compute.vmExternalIpAccess --project=my-project --effective. También puedes anular la política de la organización para un proyecto específico.

    Sin embargo, incluso con esas políticas de la organización configuradas, puedes implementar una app privada del entorno flexible de App Engine que use solo su dirección IP interna.

  • Después de implementar una versión nueva de un servicio existente en el entorno flexible de App Engine con gcloud app deploy, la métrica “Cantidad/s”, que se muestra en el gráfico “Resumen” del panel de App Engine, puede disminuir de manera significativa. La métrica volverá a la cantidad de solicitudes esperada en los próximos 5 a 10 minutos.

    Esto no significa que la aplicación entrega menos solicitudes. Cuando implementas una versión nueva de la aplicación, se genera un retraso entre el tiempo en el que la versión nueva está lista para entregar solicitudes y el tiempo en el que las métricas de las instancias nuevas están disponibles.

    Para asegurarte de que esta métrica no se vea afectada por una implementación de versión nueva, haz lo siguiente:

    1. Implementa tu versión nueva con gcloud app deploy --no-promote.
    2. Espera 15 minutos después de que se complete la implementación.
    3. Migra el tráfico a la versión nueva.

    Si implementas con --no-promote, pero asignas tráfico a la versión nueva antes de que finalice el período de 15 minutos después de que se complete la implementación, esta métrica puede verse afectada.

  • En el entorno flexible de App Engine, no es posible configurar app.yaml para que tu app redireccione automáticamente las solicitudes a fin de usar siempre HTTPS. Esto difiere del entorno estándar de App Engine, en el que puedes usar la configuración secure.

    Como alternativa, puedes controlar el redireccionamiento dentro del código de tu aplicación si analizas el valor del encabezado X-Forwarded-Proto. También puedes alentar a los clientes a usar el encabezado Strict-Transport-Security.

  • Si asignas una cuenta de servicio administrada por el usuario a una versión del entorno flexible de App Engine, es posible que se facture tu proyecto por las métricas con el prefijo agent.googleapis.com. Por lo general, estas métricas de agente no se cobran en el proyecto. Te recomendamos que continúes usando la cuenta de servicio predeterminada de App Engine hasta que se resuelva este problema.

  • No puedes establecer una conexión SSH a una instancia de VM mediante IAP.

Reducción inesperada de la cantidad de instancias

  • En raras ocasiones, es posible que la cantidad de instancias se reduzcan de forma inesperada debido a fallas en la zona o si un grupo completo de instancias deja de responder. Para evitar que esto suceda, Google recomienda aprovisionar en exceso tu aplicación a fin de evitar que el sistema caiga por debajo de la cantidad mínima de instancias. Puedes configurar el tamaño de min_num_instances de la aplicación del entorno flexible de App Engine cuando lo implementes. Estos son algunos eventos que pueden afectar la cantidad mínima de instancias del entorno flexible de App Engine:

    1. Lanzar actualizaciones en instancias de entorno flexible
    2. Falla zonal (problemas de agotamiento de disponibilidad, como cuando la región está al máximo de capacidad para la CPU seleccionada, etc).

    El entorno flexible de App Engine usa 3 zonas para distribuir tus instancias y, en esta configuración, recomendamos aprovisionar un 50% más de instancias que las necesarias.