La migración de tráfico cambia la ruta de la solicitud entre las versiones de un servicio para tu aplicación y mueve el tráfico desde una o más versiones a una única versión nueva.
Para obtener más información sobre cómo dividir el tráfico entre dos o más versiones de tu aplicación, consulta División del tráfico.
Antes de comenzar
Antes de configurar el tráfico hacia una versión, asegúrate de que tu cuenta de usuario tenga los privilegios necesarios.
Migrar el tráfico de manera gradual
En el entorno estándar, puedes optar por enrutar solicitudes hacia la versión objetivo, ya sea de manera gradual o inmediata.
De manera predeterminada, las solicitudes de preparación están habilitadas y todo el tráfico se migra de manera gradual hacia una versión.
También puedes habilitar las solicitudes de preparación si quieres que el tráfico migre de manera gradual hacia una versión. Si migras el tráfico de manera inmediata a una versión nueva sin ninguna instancia en ejecución, experimentarás un pico de latencia en las solicitudes de carga. La implementación de una versión nueva con el mismo nombre que una versión existente da como resultado una migración inmediata del tráfico. Todas las instancias de la versión anterior se cierran de inmediato. Habrá un pico de latencia debido a las solicitudes de carga de la versión nueva.
Si las solicitudes de preparación están habilitadas, puedes migrar el tráfico entre versiones que residan en entornos distintos con solo especificar que el tráfico migre instantáneamente.
Agregar solicitudes de preparación a tu aplicación
Cuando las solicitudes de preparación están habilitadas, el tráfico migra de manera gradual enviando primero una solicitud de preparación a las instancias nuevas antes de que estas reciban solicitudes de usuario. Las solicitudes de preparación mejoran el tiempo de respuesta del usuario al permitir que la versión que recibe el tráfico maneje esas solicitudes, pero la migración del tráfico hacia la versión nueva puede demorar un poco mientras se crean las instancias nuevas.
Cuando las solicitudes de preparación no están habilitadas, las solicitudes de usuario se envían a las instancias nuevas antes de que se creen. Debido a la demora que genera la creación de instancias nuevas y la carga del código de la aplicación, esas respuestas del usuario pueden experimentar latencia.
Para evitar la latencia y habilitar las solicitudes de preparación, incluye el elementoinbound_services
en el archivo de configuración antes de implementar tu aplicación en App Engine.
Por ejemplo, incluye lo siguiente en el archivo app.yaml
antes de implementarlo en App Engine:
inbound_services:
- warmup
Si quieres ver más detalles sobre cómo habilitar las solicitudes de preparación, consulta Configura las solicitudes de preparación para mejorar el rendimiento.
Migrar el tráfico a una versión nueva
Console
Para migrar el tráfico en la consola de Google Cloud, ve a la página Versiones:
- Selecciona la versión a la que deseas migrar todo el tráfico.
- Haz clic en Migrar tráfico.
- Opcional: Cuando las solicitudes de preparación están habilitadas, tu tráfico migra de manera gradual. Para migrar el tráfico de manera inmediata, selecciona la opción en la sección Mostrar opciones avanzadas.
gcloud
Después de instalar Google Cloud CLI, ejecuta el comando gcloud
app services set-traffic
para migrar la totalidad del tráfico a una sola versión. Por ejemplo:
-
Para migrar el tráfico de inmediato, ejecuta el siguiente comando:
gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1
-
Para migrar el tráfico de manera gradual, debes incluir la marca opcional
--migrate
:gcloud app services set-traffic [MY_SERVICE] --splits [MY_VERSION]=1 --migrate
API
A fin de migrar el tráfico de manera programática, puedes usar la API de Administrador. Consulta Migra y divide tráfico para obtener más información.