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.
Uso de cambio de tráfico lineal
El cambio lineal del tráfico le permite transferir gradualmente el tráfico de su flota anterior (flota azul) a su nueva flota (flota verde). Con el cambio de tráfico lineal, puede desplazar el tráfico en varios pasos, lo que minimiza la posibilidad de que se produzca una interrupción en su punto de conexión. Esta opción de implementación azul/verde le brinda el control más detallado sobre los cambios de tráfico.
Puede elegir el número de instancias o el porcentaje de la capacidad de la flota verde que se activará en cada paso. Cada paso lineal solo debe representar entre el 10 y el 50 % de la capacidad de la flota verde. Para cada paso, hay un período de cocción durante el cual las CloudWatch alarmas de Amazon preespecificadas monitorean las métricas de la flota ecológica. Cuando finalice el período de cocción y no se active ninguna alarma, la parte activa de su flota verde seguirá recibiendo tráfico y comenzará un nuevo paso. Si las alarmas se activan durante alguno de los períodos de cocción, el 100 % del tráfico de los puntos de conexión se transfiere a la flota azul.
El siguiente diagrama muestra cómo el tráfico lineal desvía el tráfico hacia las flotas azul y verde.

Una vez que la SageMaker IA aprovisiona la nueva flota, la primera parte de la flota ecológica se enciende y recibe el tráfico. SageMaker La IA desactiva una parte del mismo tamaño de la flota azul y comienza el período de inactividad. Si se activa alguna alarma, todo el tráfico de los puntos de conexión se transfiere a la flota azul. Al finalizar el período de cocción, comienza el siguiente paso. Otra parte de la flota verde se activa y recibe tráfico, otra parte de la flota azul se desactiva y comienza otro período de cocción. El mismo proceso se repite hasta que la flota azul esté completamente desactivada y la flota verde esté completamente activa y reciba todo el tráfico. Si suena una alarma en cualquier momento, la SageMaker IA finaliza el proceso de cambio y el 100% del tráfico vuelve a la flota azul.
Requisitos previos
Antes de configurar una implementación con un cambio lineal del tráfico, debe crear CloudWatch alarmas para monitorear las métricas desde su terminal. Las alarmas están activas durante el período de cocción y, si alguna alarma se activa, todo el tráfico de los puntos de conexión se transfiere a la flota azul. Para obtener información sobre cómo configurar CloudWatch las alarmas en un terminal, 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 el cambio de tráfico lineal
Cuando esté listo para la implementación y haya configurado CloudWatch las alarmas para su punto final, puede usar la UpdateEndpointAPI Amazon SageMaker AI o el comando update-endpoint AWS CLI para iniciar la implementación.
Temas
Cómo actualizar un punto de conexión (API)
El siguiente ejemplo de la UpdateEndpointAPI muestra cómo se puede actualizar un punto final con un cambio lineal del tráfico.
import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="
<your-endpoint-name>
", EndpointConfigName="<your-config-name>
", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "LINEAR", "LinearStepSize": { "Type": "CAPACITY_PERCENT", "Value": 20 }, "WaitIntervalInSeconds": 300 }, "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>
" } ] } } )
Para configurar la opción de cambio de tráfico lineal, 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
yBlueGreenUpdatePolicy
, enTrafficRoutingConfiguration
, establezca el parámetroType
enLINEAR
. Esto especifica que la implementación utiliza el desplazamiento lineal del tráfico.En el campo
LinearStepSize
, puede cambiar el tamaño de los pasos modificando los parámetrosType
yValue
. EnType
, utiliceCAPACITY_PERCENT
, es decir, el porcentaje de su flota verde que quiera utilizar como tamaño de paso y, a continuación, establezcaValue
en20
. En este ejemplo, se activa el 20 % de la capacidad de la flota verde para cada paso de cambio de tráfico. Tenga en cuenta que, al personalizar el tamaño de su paso lineal, solo debe usar pasos que ocupen entre el 10 y el 50 % de la capacidad de la flota verde.En
WaitIntervalInSeconds
, utilice300
. El parámetro indica a la SageMaker IA que espere el tiempo especificado (en segundos) entre cada cambio de tráfico. Este intervalo es la duración del período de cocción entre cada paso lineal. En el ejemplo anterior, la SageMaker IA espera 5 minutos entre cada cambio de tráfico.En
TerminationWaitInSeconds
, utilice300
. Este parámetro indica a la SageMaker IA que espere 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, la SageMaker IA espera 5 minutos después del último período de inactividad antes de dar por finalizada la flota azul.En
MaximumExecutionTimeoutInSeconds
, utilice3600
. 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 1 hora para finalizar.En
AutoRollbackConfiguration
, dentro delAlarms
campo, puedes añadir tus CloudWatch alarmas por nombre. Cree una entradaAlarmName:
para cada alarma que quiera utilizar.<your-cw-alarm>
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 utiliza la AWS CLI, en el siguiente ejemplo se muestra cómo iniciar una implementación lineal azul/verde mediante el comando update-endpoint.
update-endpoint --endpoint-name
<your-endpoint-name>
--endpoint-config-name<your-config-name>
--deployment-config '{"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "LINEAR", "LinearStepSize": {"Type": "CAPACITY_PERCENT", "Value": 20}, "WaitIntervalInSeconds": 300}, "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600}, "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>
"}]}'
Para configurar la opción de cambio de tráfico lineal, haga lo siguiente:
En
endpoint-name
, utilice 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 ello
deployment-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.