Cambio de tráfico todo a la vez - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cambio de tráfico todo a la vez

Dado que el tráfico cambia todo a la vez, puede implementar rápidamente una actualización de punto de conexión utilizando las barreras de protección de una implementación azul/verde. Puede utilizar esta opción de cambio de tráfico para minimizar la duración de la actualización y, al mismo tiempo, aprovechar las garantías de disponibilidad de las implementaciones azul/verde. La función de período de cocción le ayuda a monitorizar el rendimiento y la funcionalidad de las nuevas instancias antes de cerrar las antiguas, lo que garantiza que su nueva flota esté en pleno funcionamiento.

El siguiente diagrama muestra cómo los cambios de tráfico gestionan simultáneamente las flotas antiguas y nuevas.

Un cambio correcto del 100 % del tráfico de la flota antigua a la nueva.

Cuando se utilizan todos los cambios de tráfico de una vez, se SageMaker dirige el 100% del tráfico a la nueva flota (flota verde). Una vez que la flota verde comienza a recibir tráfico, comienza el período de cocción. El período de cocción es un período de tiempo establecido en el que CloudWatch las alarmas de Amazon preespecificadas controlan el rendimiento de la flota ecológica. Si no se activa ninguna alarma durante el periodo de inactividad, SageMaker se da por finalizada la flota anterior (flota azul). Si alguna alarma se activa durante el período de cocción, se inicia una reversión automática y el 100 % del tráfico vuelve a la flota azul.

Requisitos previos

Antes de configurar una implementación en la que el tráfico se desplace de una sola vez, debes crear CloudWatch alarmas de Amazon para ver las métricas desde tu punto de conexión. Si alguna de las alarmas se activa durante el período de cocción, el tráfico vuelve a su flota azul. Para obtener información sobre cómo configurar CloudWatch las alarmas en un punto final, consulte la página de requisitos previosConfiguración y monitorización de la reversión automática. Para obtener más información sobre CloudWatch las alarmas, consulta Uso de CloudWatch las alarmas de Amazon en la Guía del CloudWatch usuario de Amazon.

Configurar cambio de tráfico todo a la vez

Cuando esté listo para la implementación y haya configurado CloudWatch las alarmas para su terminal, puede utilizar la SageMaker UpdateEndpointAPI o el comando update-endpoint AWS Command Line Interface para iniciar la implementación.

Cómo actualizar un punto de conexión (API)

En el siguiente ejemplo, se muestra cómo puedes actualizar tu punto de conexión para que el tráfico se desplace de una sola vez mediante UpdateEndpointla SageMaker API de Amazon.

import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "ALL_AT_ONCE" }, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>" }, ] } } )

Para configurar la opción de cambio de tráfico todo a la vez, haga lo siguiente:

  • En EndpointName, utilice el nombre del punto de conexión existente que quiera actualizar.

  • En EndpointConfigName, utilice el nombre de la configuración de punto de conexión que quiera utilizar.

  • En DeploymentConfig y BlueGreenUpdatePolicy, in TrafficRoutingConfiguration, establezca el parámetro Type en ALL_AT_ONCE. Esto especifica que la implementación utiliza el modo de cambio de tráfico todo a la vez.

  • En TerminationWaitInSeconds, utilice 600. Este parámetro indica SageMaker que hay que esperar el tiempo especificado (en segundos) hasta que la flota verde esté completamente activa antes de cerrar las instancias de la flota azul. En este ejemplo, SageMaker espera 10 minutos después del último período de cocción antes de dar por finalizada la flota azul.

  • En MaximumExecutionTimeoutInSeconds, utilice 1800. Este parámetro establece el período máximo de tiempo durante el cual puede ejecutarse la implementación antes de que transcurra el tiempo de espera. En el ejemplo anterior, la implementación tiene un límite de 30 minutos para finalizar.

  • EnAutoRollbackConfiguration, dentro del Alarms campo, puede añadir sus CloudWatch alarmas por nombre. Cree una entrada AlarmName: <your-cw-alarm> para cada alarma que quiera utilizar.

Cómo actualizar un punto de conexión con una política de actualización (API) azul/verde existente

Cuando usa la CreateEndpointAPI para crear un punto final, puede especificar opcionalmente una configuración de implementación para reutilizarla en futuras actualizaciones del punto final. Puede usar las mismas DeploymentConfig opciones que en el ejemplo de UpdateEndpoint API anterior. No hay cambios en el comportamiento de la CreateEndpoint API. Al especificar la configuración de implementación, no se realiza automáticamente ninguna actualización azul/verde en el punto de conexión.

La opción de usar una configuración de implementación anterior se produce cuando se usa la UpdateEndpointAPI para actualizar el punto final. Al actualizar el punto de conexión, puede utilizar la opción RetainDeploymentConfig para conservar la configuración de implementación que haya especificado al crear el punto de conexión.

Al llamar a la UpdateEndpointAPI, configúrela en esta opción RetainDeploymentConfig True para mantener las DeploymentConfig opciones de la configuración original de su punto final.

response = client.update_endpoint( EndpointName="<your-endpoint-name>", EndpointConfigName="<your-config-name>", RetainDeploymentConfig=True )

Cómo actualizar un punto de conexión (CLI)

Si está utilizando la AWS CLI, en el siguiente ejemplo se muestra cómo iniciar una implementación azul/verde de una sola vez mediante el comando update-endpoint.

update-endpoint --endpoint-name <your-endpoint-name> --endpoint-config-name <your-config-name> --deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "ALL_AT_ONCE"}, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'

Para configurar la opción de cambio de tráfico todo a la vez, haga lo siguiente:

  • En endpoint-name, use el nombre del punto de conexión que quiera actualizar.

  • En endpoint-config-name, utilice el nombre de la configuración del punto de conexión que quiera utilizar.

  • Para ellodeployment-config, utilice un objeto JSON. BlueGreenUpdatePolicy

nota

Si prefiere guardar el objeto JSON en un archivo, consulte Generación de parámetros AWS CLI básicos y de entrada en la Guía del AWS CLI usuario.