Utilice todos los cambios de tráfico de una 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.

Utilice todos los cambios de tráfico de una 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.

Si utilizas todos los cambios de tráfico a la vez, SageMaker redirige 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 el comando update-endpoint SageMaker UpdateEndpointAPIo el comando update-endpoint del dispositivo AWS Command Line Interface para iniciar la implementación.

Cómo actualizar un punto final () 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 utilizando UpdateEndpointAmazon SageMaker API.

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 espere 10 minutos después del último período de cocción antes de cerrar 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 final con una política de actualización azul/verde existente () API

Cuando se utiliza CreateEndpointAPIpara crear un punto final, si lo desea, puede especificar una configuración de despliegue para volver a utilizarla en futuras actualizaciones del punto final. Puede utilizar las mismas DeploymentConfig opciones que en el UpdateEndpoint API ejemplo anterior. No hay cambios en el CreateEndpoint API comportamiento. 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 UpdateEndpointAPIpara 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 al UpdateEndpointAPI, RetainDeploymentConfig True configúrelo en para mantener las DeploymentConfig opciones de su configuración de punto final original.

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

Cómo actualizar un punto final (CLI)

Si utiliza el AWS CLI, el siguiente ejemplo 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.

  • Paradeployment-config, utilice un objeto. BlueGreenUpdatePolicyJSON

nota

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