

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.

# Barreras de protección de implementación para actualizar modelos en producción
<a name="deployment-guardrails"></a>

Las barreras de protección de implementación son un conjunto de opciones de implementación de modelos en la inferencia de Amazon SageMaker AI para actualizar sus modelos de machine learning en producción. Con las opciones de implementación totalmente gestionadas, puede controlar el cambio del modelo actual en producción a uno nuevo. Los modos de cambio de tráfico en las implementaciones azul/verde, como el valor controlado y el lineal, le permiten controlar de forma pormenorizada el proceso de cambio de tráfico del modelo actual al nuevo durante la actualización. También hay protecciones integradas, como las reversiones automáticas, que le ayudan a detectar los problemas a tiempo y a tomar medidas correctivas automáticamente antes de que afecten significativamente a la producción.

Las barreras de protección de implementación proporcionan las siguientes ventajas:
+ **Seguridad de implementación al actualizar los entornos de producción.** Una actualización regresiva de un entorno de producción puede provocar tiempos de inactividad no planificados y afectar al negocio, como un aumento de la latencia del modelo y altas tasas de error. Las barreras de protección de implementación ayudan a mitigar esos riesgos al proporcionar las mejores prácticas y barreras de protección operativa integradas.
+ **Implementación totalmente gestionada.** SageMaker AI se encarga de configurar y orquestar estas implementaciones y las integra con los mecanismos de actualización de los puntos de conexión. No es necesario crear ni mantener mecanismos de orquestación, monitorización o reversión. Puede utilizar SageMaker AI para configurar y orquestar estas implementaciones y centrarse en aprovechar el machine learning para sus aplicaciones.
+ **Visibilidad.** Puede realizar un seguimiento del progreso de la implementación a través de la API [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) o de eventos de Amazon CloudWatch (para los [puntos de conexión compatibles](deployment-guardrails-exclusions.md)). Para obtener más información sobre los eventos en SageMaker AI, consulte la sección sobre el cambio de estado de implementación de los puntos de conexión en [Eventos que Amazon SageMaker AI envía a Amazon EventBridge](automating-sagemaker-with-eventbridge.md). Tenga en cuenta que si su dispositivo de punto de conexión utiliza alguna de las funciones de la página [Exclusiones](deployment-guardrails-exclusions.md), no podrá utilizar los eventos de CloudWatch.

**nota**  
Las barreras de protección de implementación solo se aplican a los tipos de puntos de conexión [Inferencia asíncrona](async-inference.md) y [Inferencia en tiempo real](realtime-endpoints.md).

## Cómo comenzar
<a name="deployment-guardrails-get-started"></a>

Admitimos dos tipos de implementación para actualizar los modelos en producción: las implementaciones azul/verde y las implementaciones continuas.
+ [Implementaciones azul/verde](deployment-guardrails-blue-green.md): puede cambiar el tráfico de su flota anterior (flota azul) a una flota nueva (flota verde) con las actualizaciones. Las implementaciones azul/verde ofrecen [múltiples modos de cambio de tráfico](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green.html). Un modo de cambio de tráfico es una configuración que especifica cómo SageMaker AI dirige el tráfico de puntos de conexión a una nueva flota que contiene sus actualizaciones. Los siguientes modos de cambio de tráfico le proporcionan diferentes niveles de control sobre el proceso de actualización de los puntos de conexión:
  + [Uso de cambio de tráfico todo a la vez](deployment-guardrails-blue-green-all-at-once.md) pasa todo el tráfico de puntos de conexión de la flota azul a la flota verde. Una vez que el tráfico pasa a la flota verde, las alarmas de Amazon CloudWatch preespecificadas comienzan a monitorizar la flota verde durante un período de tiempo determinado (*período de cocción*). Si no se activa ninguna alarma durante el período de cocción, SageMaker AI cancelará la flota azul.
  + [Uso de cambio de tráfico de canario](deployment-guardrails-blue-green-canary.md) pasa una pequeña parte de su tráfico (un *valor controlado*) a la flota verde y la monitoriza durante un período de cocción. Si el valor controlado tiene éxito en la flota verde, SageMaker AI desplazará el resto del tráfico de la flota azul a la verde antes de dar por finalizada la flota azul.
  + [Uso de cambio de tráfico lineal](deployment-guardrails-blue-green-linear.md) ofrece una personalización aún mayor en cuanto al número de pasos de cambio de tráfico y el porcentaje de tráfico que se debe cambiar en cada paso. Si bien el cambio de sentido vertical le permite desplazar el tráfico en dos pasos, el cambio lineal lo amplía a *n* pasos espaciados linealmente.
+ [Uso de implementaciones continuas](deployment-guardrails-rolling.md): puede actualizar su punto de conexión a medida que SageMaker AI aprovisione la capacidad de forma incremental y desplace el tráfico a una nueva flota en pasos del tamaño de lote que especifique. Las instancias de la nueva flota se actualizan con la nueva configuración de implementación y, si no se activa ninguna alarma de CloudWatch durante el período de cocción, SageMaker AI limpia las instancias de la flota anterior. Esta opción le proporciona un control pormenorizado sobre el número de instancias o el porcentaje de capacidad que se modifica en cada paso.

Puede crear y gestionar su despliegue mediante las API de SageMaker [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) y [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html), así como los comandos AWS Command Line Interface. Consulte las páginas de implementación individuales para obtener más información sobre cómo configurar su implementación. Tenga en cuenta que si su punto de conexión utiliza alguna de las funciones enumeradas en la página [Exclusiones](deployment-guardrails-exclusions.md), no podrá utilizar las barreras de protección de implementación.

Para seguir los ejemplos guiados que muestran cómo utilizar las barreras de protección de implementación, consulte nuestros ejemplos de [cuadernos de Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) para los modos de cambio de tráfico valor controlado y lineal.

# Configuración y monitorización de la reversión automática
<a name="deployment-guardrails-configuration"></a>

 CloudWatch Las alarmas de Amazon son un requisito previo para utilizar los períodos de cocción en las barandillas de despliegue. Solo puede utilizar la función de reversión automática en las barandillas de despliegue si configura CloudWatch alarmas que puedan supervisar un punto final. Si alguna de sus alarmas se activa durante el período de monitoreo especificado, la SageMaker IA inicia una reversión completa al punto final anterior para proteger su aplicación. Si no tiene ninguna CloudWatch alarma configurada para supervisar su punto final, la funcionalidad de reversión automática no funcionará durante la implementación.

Para obtener más información sobre Amazon CloudWatch, consulta [¿Qué es Amazon CloudWatch?](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) en la *Guía del CloudWatch usuario de Amazon*.

**nota**  
Asegúrese de que su rol de ejecución de IAM tenga permiso para realizar la acción `cloudwatch:DescribeAlarms` en las alarmas de reversión automática que especifique.

## Ejemplos de alarmas
<a name="deployment-guardrails-configuration-alarm-examples"></a>

Para ayudarle a empezar, le ofrecemos los siguientes ejemplos para demostrar las capacidades de las CloudWatch alarmas. Además de usar o modificar los siguientes ejemplos, puede crear sus propias alarmas y configurarlas para monitorizar diversas métricas en las flotas especificadas durante un período de tiempo determinado. Para ver más métricas y dimensiones de la SageMaker IA que puede añadir a sus alarmas, consulte[Métricas de Amazon SageMaker AI en Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [Monitorice los errores de invocación tanto en las flotas antiguas como en las nuevas](#deployment-guardrails-configuration-alarm-examples-errors-both)
+ [Monitoriza la latencia del modelo en la nueva flota](#deployment-guardrails-configuration-alarm-examples-latency-new)

### Monitorice los errores de invocación tanto en las flotas antiguas como en las nuevas
<a name="deployment-guardrails-configuration-alarm-examples-errors-both"></a>

La siguiente CloudWatch alarma monitorea la tasa de error promedio de un punto final. Puede utilizar esta alarma con cualquier tipo de barreras de protección de implementación que cambien el tráfico para proporcionar una monitorización general tanto de las flotas antiguas como de las nuevas. Si la alarma se activa, la SageMaker IA inicia una reversión a la flota anterior.

Los errores de invocación procedentes tanto de la flota antigua como de la nueva contribuyen a la tasa de error media. Si la tasa de error media supera el umbral especificado, se activa la alarma. En este ejemplo concreto, se monitorizan los errores 4xx (errores del cliente) tanto en la flota antigua como en la nueva durante la implementación. También puede monitorizar los errores 5xx (errores de servidor) utilizando la métrica `Invocation5XXErrors`.

**nota**  
En el caso de este tipo de alarma, si tu flota antigua activa la alarma durante el despliegue, la SageMaker IA interrumpe el despliegue. Por lo tanto, si su flota de producción actual ya causa errores, considere la posibilidad de utilizar o modificar uno de los siguientes ejemplos, que solo supervisa la nueva flota para detectar errores.

```
#Applied deployment type: all types
{
    "AlarmName": "EndToEndDeploymentHighErrorRateAlarm",
    "AlarmDescription": "Monitors the error rate of 4xx errors",
    "MetricName": "Invocation4XXErrors",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        }
    ],
    "Period": 600,
    "EvaluationPeriods": 2,
    "Threshold": 1,
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

En el ejemplo anterior, anote los valores de los siguientes campos:
+ En `AlarmName` y `AlarmDescription`, introduzca el nombre y la descripción que elija para la alarma.
+ En `MetricName`, utilice el valor `Invocation4XXErrors` para monitorizar errores 4xx en el punto de conexión
+ En `Namespace`, utilice el valor `AWS/SageMaker`. También puede especificar su propia métrica personalizada, si corresponde.
+ En `Statistic`, utilice `Average`. Esto significa que la alarma toma la tasa de error promedio durante los períodos de evaluación al calcular si la tasa de error ha superado el umbral.
+ En la dimensión `EndpointName`, utilice como valor el nombre del punto de conexión que está actualizando.
+ En la dimensión `VariantName`, utilice el valor `AllTraffic` para especificar todo el tráfico de puntos de conexión.
+ En `Period`, utilice `600`. Esto establece los períodos de evaluación de la alarma en 10 minutos.
+ En `EvaluationPeriods`, utilice `2`. Este valor indica a la alarma que tenga en cuenta los dos períodos de evaluación más recientes al determinar el estado de la alarma.

### Monitoriza la latencia del modelo en la nueva flota
<a name="deployment-guardrails-configuration-alarm-examples-latency-new"></a>

El siguiente ejemplo de CloudWatch alarma monitorea la latencia del modelo de la nueva flota durante el despliegue. Puede usar esta alarma para monitorizar solo la flota nueva y excluir la antigua. La alarma dura todo la implementación. Este ejemplo proporciona un end-to-end seguimiento exhaustivo de la nueva flota e inicia una reversión a la flota anterior si la nueva flota tiene algún problema de tiempo de respuesta.

CloudWatch publica las métricas con la dimensión una `EndpointConfigName:{New-Ep-Config}` vez que la nueva flota comience a recibir tráfico, y estas métricas se mantienen incluso después de que se complete el despliegue.

Puede utilizar el siguiente ejemplo de alarma con cualquier tipo de implementación.

```
#Applied deployment type: all types
{
    "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm",
    "AlarmDescription": "Monitors the model latency on new fleet",
    "MetricName": "ModelLatency",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        },
        {
            "Name": "EndpointConfigName",
            "Value": <your-config-name>
    ],
    "Period": 300,
    "EvaluationPeriods": 2,
    "Threshold": 100000, # 100ms
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

En el ejemplo anterior, anote los valores de los siguientes campos:
+ En `MetricName`, utilice el valor `ModelLatency` para monitorizar el tiempo de respuesta del modelo.
+ En `Namespace`, utilice el valor `AWS/SageMaker`. También puede especificar su propia métrica personalizada, si corresponde.
+ En la dimensión `EndpointName`, utilice como valor el nombre del punto de conexión que está actualizando.
+ En la dimensión `VariantName`, utilice el valor `AllTraffic` para especificar todo el tráfico de puntos de conexión.
+ En la dimensión `EndpointConfigName`, el valor debe hacer referencia al nombre de configuración del punto de conexión para su punto de conexión nuevo o actualizado.

**nota**  
Si desea monitorizar su flota anterior en lugar de la nueva, puede cambiar la dimensión `EndpointConfigName` para especificar el nombre de la configuración de la flota anterior.

# Implementaciones azul/verde
<a name="deployment-guardrails-blue-green"></a>

Al actualizar su punto de conexión, Amazon SageMaker AI utiliza automáticamente una implementación azul/verde para maximizar la disponibilidad de sus puntos de conexión. En una implementación azul/verde, SageMaker AI aprovisiona una nueva flota con las actualizaciones (flota verde). A continuación, SageMaker AI desplaza el tráfico de la flota antigua (flota azul) a la flota verde. Una vez que la flota verde empiece a funcionar sin problemas durante un período de evaluación establecido (denominado período de cocción), SageMaker AI pondrá fin a la flota azul. Con las capacidades adicionales de las implementaciones azul/verde, puede utilizar los modos de cambio de tráfico y la monitorización de la reversión automática para proteger su punto de conexión de un impacto significativo en la producción.

La siguiente lista describe las características clave de las implementaciones azul/verde en SageMaker AI:
+ **Modos de cambio de tráfico.** Los modos de cambio de tráfico para las barreras de protección de implementación le permiten controlar el volumen de tráfico y el número de pasos que se desplazan entre la flota azul y la flota verde. Esta capacidad le permite evaluar progresivamente el rendimiento de la flota verde sin tener que comprometerse totalmente con un cambio de tráfico al 100 %.
+ **Período de cocción.** El período de cocción es un período de tiempo establecido para monitorizar la flota verde antes de pasar a la siguiente fase de implementación. Si alguna de las alarmas preespecificadas se activa durante un período de cocción, todo el tráfico de los puntos de conexión se transfiere a la flota azul. El período de cocción le ayuda a aumentar la confianza en su actualización antes de hacer que el cambio de tráfico sea permanente.
+ **Reversiones automáticas.** Puede especificar las alarmas de Amazon CloudWatch que SageMaker AI utiliza para monitorizar la flota verde. Si un problema con el código actualizado activa alguna de las alarmas, SageMaker AI inicia una reversión automática a la flota azul para mantener la disponibilidad y minimizar así el riesgo.

## Modos de cambio de tráfico
<a name="deployment-guardrails-blue-green-traffic-modes"></a>

Los distintos modos de cambio de tráfico de las implementaciones azul/verde le ofrecen un control más detallado de los cambios de tráfico entre la flota azul y la flota verde. Los modos de cambio de tráfico disponibles para las implementaciones azul/verde son simultáneas, valor controlado y lineales. La siguiente tabla muestra una comparación entre las diferentes opciones.

**importante**  
En el caso de las implementaciones azul/verde que impliquen cambios de tráfico o períodos de interrupción en varias etapas, se le facturará por ambas flotas durante la actualización, independientemente del tráfico que llegue a la flota. Esto contrasta con las implementaciones azul/verde en las que el tráfico cambia al mismo tiempo y no hay períodos de espera, donde solo se le factura una flota durante el proceso de actualización.


| Nombre | ¿Qué es? | Ventajas | Desventajas | Recomendación | 
| --- | --- | --- | --- | --- | 
| Todo a la vez | Cambia todo el tráfico a la nueva flota en un solo paso. | Minimiza la duración total de la actualización. | Las actualizaciones regresivas afectan al 100 % del tráfico. | Utilice esta opción para minimizar el tiempo y el costo de las actualizaciones. | 
| Valor controlado | El tráfico cambia en dos pasos. El primer paso (valor controlado) desplaza una pequeña parte del tráfico, seguido del segundo paso, que desplaza el resto del tráfico. | Limita el radio de expansión de las actualizaciones regresivas únicamente a la flota de valor controlado. | Ambas flotas funcionan en paralelo durante todo la implementación. | Utilice esta opción para lograr un equilibrio entre minimizar el radio de expansión de las actualizaciones regresivas y minimizar el tiempo de funcionamiento de dos flotas. | 
| Lineal | Una parte fija del tráfico se desplaza en un número predeterminado de pasos equidistantes. | Minimiza el riesgo de actualizaciones regresivas al desplazar el tráfico en varios pasos. | La duración y el costo de la actualización son proporcionales al número de pasos. | Utilice esta opción para minimizar el riesgo distribuyendo la implementación en varios pasos. | 

## Introducción
<a name="deployment-guardrails-blue-green-get-started"></a>

Una vez que especifique la configuración de implementación deseada, SageMaker AI se encargará de aprovisionar nuevas instancias, terminar las antiguas y cambiar el tráfico por usted. Puede crear y gestionar su implementación mediante las API de SageMaker existentes [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) y [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html), así como los comandos AWS Command Line Interface. Tenga en cuenta que si su punto de conexión utiliza alguna de las funciones enumeradas en la página [Exclusiones](deployment-guardrails-exclusions.md), no podrá utilizar las barreras de protección de implementación. Consulte las páginas de implementación individuales para obtener más información sobre cómo configurar su implementación:
+ [Actualización azul/verde con cambios de tráfico de una sola vez](deployment-guardrails-blue-green-all-at-once.md)
+ [Actualización azul/verde con cambios de tráfico de valor controlado](deployment-guardrails-blue-green-canary.md)
+ [Actualización azul/verde con cambio lineal de tráfico](deployment-guardrails-blue-green-linear.md)

Para seguir los ejemplos guiados que muestran cómo utilizar las barreras de protección de implementación, consulte nuestros ejemplos de [cuadernos de Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) para los modos de cambio de tráfico lineal y de valor controlado.

# Uso de cambio de tráfico todo a la vez
<a name="deployment-guardrails-blue-green-all-at-once"></a>

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.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/deployment-guardrails-blue-green-all-at-once.png)


Cuando utiliza el cambio de tráfico todo a la vez, SageMaker AI enruta 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 las alarmas preespecificadas de Amazon CloudWatch supervisan el rendimiento de la flota verde. Si no se activa ninguna alarma durante el período de cocción, SageMaker AI cancela 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
<a name="deployment-guardrails-blue-green-all-at-once-prereqs"></a>

Antes de configurar una implementación con un cambio de tráfico todo a la vez, debe crear alarmas de Amazon CloudWatch para observar las métricas desde su 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 acerca de cómo configurar las alarmas de CloudWatch en un punto de conexión, consulte la página de requisitos previos [Configuración y monitorización de la reversión automática](deployment-guardrails-configuration.md). Para obtener más información acerca de la creación de alarmas de CloudWatch, consulte [Uso de las alarmas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) en la *Guía del usuario de Amazon CloudWatch*.

## Configurar cambio de tráfico todo a la vez
<a name="deployment-guardrails-blue-green-all-at-once-configure"></a>

Cuando esté preparado para la implementación y haya configurado las alarmas de CloudWatch para su punto de conexión, puede utilizar la API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) de SageMaker AI o el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) en AWS Command Line Interface para iniciar la implementación.

**Topics**
+ [Cómo actualizar un punto de conexión (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-update)
+ [Cómo actualizar un punto de conexión con una política de actualización (API) azul/verde existente](#deployment-guardrails-blue-green-all-at-once-configure-api-existing)
+ [Cómo actualizar un punto de conexión (CLI)](#deployment-guardrails-blue-green-all-at-once-configure-cli-update)

### Cómo actualizar un punto de conexión (API)
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-update"></a>

El siguiente ejemplo muestra cómo actualizar su punto de conexión con un cambio de tráfico todo a la vez mediante [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) en la API de Amazon SageMaker.

```
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 a SageMaker AI que espere el tiempo especificado (en segundos) después de que la flota verde esté completamente activa antes de finalizar las instancias de la flota azul. En este ejemplo, SageMaker AI espera 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.
+ En `AutoRollbackConfiguration`, dentro del campo `Alarms`, puede añadir sus alarmas de CloudWatch 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
<a name="deployment-guardrails-blue-green-all-at-once-configure-api-existing"></a>

Cuando utilice la API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para crear un punto de conexión, puede especificar, si lo desea, una configuración de implementación para reutilizarla en futuras actualizaciones del punto de conexión. Puede usar las mismas opciones de `DeploymentConfig` que en el ejemplo anterior de la API UpdateEndpoint. No hay cambios en el comportamiento de la API CreateEndpoint. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para actualizar el punto de conexión. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), establezca `RetainDeploymentConfig` en `True` para mantener las opciones `DeploymentConfig` de la configuración de su punto de conexión original.

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

### Cómo actualizar un punto de conexión (CLI)
<a name="deployment-guardrails-blue-green-all-at-once-configure-cli-update"></a>

Si utiliza el AWS CLI, en el siguiente ejemplo se muestra cómo iniciar una implementación azul/verde todo a la vez mediante el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
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.
+ En `deployment-config`, utilice un objeto JSON [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Si prefiere guardar el objeto JSON en un archivo, consulte [Generación de parámetros esquemáticos AWS CLI y de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) en la Guía del usuario de AWS CLI.

# Uso de cambio de tráfico de canario
<a name="deployment-guardrails-blue-green-canary"></a>

Con el cambio de tráfico de valor controlado, puede probar una parte del tráfico de puntos de conexión en la nueva flota, mientras que la antigua flota presta servicio al resto del tráfico. Este paso de prueba es una barrera de seguridad que valida la funcionalidad de la nueva flota antes de transferir todo el tráfico a la nueva flota. Aún tienes las ventajas de una implementación azul/verde, y la función de canalización añadida le permite asegurarse de que su nueva flota (verde) puede hacer inferencias antes de dejar que gestione el 100 % del tráfico.

La parte de su flota verde que se activa para recibir tráfico se denomina valor controlado y puede elegir el tamaño de dicho valor controlado. Tenga en cuenta que el tamaño del valor controlado debe ser inferior o igual al 50 % de la capacidad de la flota nueva. Cuando finaliza el período de cocción y no se activa ninguna alarma de Amazon CloudWatch previamente especificada, el resto del tráfico pasa de la flota antigua (azul) a la flota verde. El cambio de tráfico en el valor controlado le proporciona más seguridad durante la implementación, ya que cualquier problema con el modelo actualizado solo afecta al valor controlado.

El siguiente diagrama muestra cómo el cambio de tráfico de valor controlado gestiona la distribución del tráfico entre las flotas azul y verde.

![\[Un exitoso cambio de tráfico de valor controlado de dos pasos de la flota antigua a la flota nueva.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/deployment-guardrails-blue-green-canary.png)


Una vez que SageMaker AI aprovisiona la flota verde, dirige una parte del tráfico entrante (por ejemplo, el 25 %) al canario. A continuación, comienza el período de cocción, durante el cual las alarmas de CloudWatch supervisan el rendimiento de la flota verde. Durante este tiempo, tanto la flota azul como la verde están parcialmente activas y reciben tráfico. Si alguna de las alarmas se activa durante el período de inactividad, SageMaker AI inicia una reversión y todo el tráfico vuelve a la flota azul. Si ninguna de las alarmas se activa, todo el tráfico pasa a la flota verde y se produce un último período de inactividad. Si el último período de cocción finaliza sin que se active ninguna alarma, la flota verde atiende a todo el tráfico y SageMaker AI pone fin a la flota azul.

## Requisitos previos
<a name="deployment-guardrails-blue-green-canary-prereqs"></a>

Antes de configurar una implementación con el cambio de tráfico de valor controlado, debe crear alarmas de Amazon CloudWatch para monitorizar las métricas desde su punto de conexión. 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 más información acerca de cómo configurar las alarmas de CloudWatch en un punto de conexión, consulte la página de requisitos previos [Configuración y monitorización de la reversión automática](deployment-guardrails-configuration.md). Para obtener más información acerca de la creación de alarmas de CloudWatch, consulte [Uso de las alarmas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) en la *Guía del usuario de Amazon CloudWatch*.

## Configurar cambio de tráfico de valor controlado
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Cuando lo tenga todo preparado para la implementación y haya configurado las alarmas de Amazon CloudWatch para su punto de conexión, puede utilizar la API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) de Amazon SageMaker AI o el [comando update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) en el AWS CLI para iniciar la implementación.

**Topics**
+ [Cómo actualizar un punto de conexión (API)](#deployment-guardrails-blue-green-canary-configure-api-update)
+ [Cómo actualizar un punto de conexión con una política de actualización (API) azul/verde existente](#deployment-guardrails-blue-green-canary-configure-api-existing)
+ [Cómo actualizar un punto de conexión (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Cómo actualizar un punto de conexión (API)
<a name="deployment-guardrails-blue-green-canary-configure-api-update"></a>

El siguiente ejemplo de la API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) muestra cómo se puede actualizar un punto final con cambios de tráfico de valor controlado.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "CANARY",
                "CanarySize": {
                    "Type": "CAPACITY_PERCENT",
                    "Value": 30
                },
                "WaitIntervalInSeconds": 600
            },
            "TerminationWaitInSeconds": 600,
            "MaximumExecutionTimeoutInSeconds": 1800
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                }
            ]
        }
    }
)
```

Para configurar la opción de cambio de tráfico de valor controlado, 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`, en `TrafficRoutingConfiguration`, establezca el parámetro `Type` en `CANARY`. Esto especifica que la implementación utiliza el cambio de tráfico de valor controlado.
+ En el campo `CanarySize`, puede cambiar el tamaño del valor controlado modificando los parámetros `Type` y `Value`. En `Type`, utilice `CAPACITY_PERCENT`, es decir, el porcentaje de su flota verde que quiera usar como valor controlado y, a continuación, establezca `Value` en `30`. En este ejemplo, utilizas el 30% de la capacidad de la flota verde como valor controlado. Tenga en cuenta que el tamaño del valor controlado debe ser igual o inferior al 50 % de la capacidad de la flota verde.
+ En `WaitIntervalInSeconds`, utilice `600`. El parámetro indica a SageMaker AI que espere el período de tiempo especificado (en segundos) entre cada cambio de intervalo. Este intervalo es la duración del período de cocción de los valores controlados. En el ejemplo anterior, SageMaker AI espera 10 minutos después del turno del canario y, a continuación, completa el segundo y último cambio de tráfico.
+ En `TerminationWaitInSeconds`, utilice `600`. Este parámetro indica a SageMaker AI que espere el tiempo especificado (en segundos) después de que la flota verde esté completamente activa antes de finalizar las instancias de la flota azul. En este ejemplo, SageMaker AI espera 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.
+ En `AutoRollbackConfiguration`, dentro del campo `Alarms`, puede añadir sus alarmas de CloudWatch 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
<a name="deployment-guardrails-blue-green-canary-configure-api-existing"></a>

Cuando utilice la API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para crear un punto de conexión, puede especificar, si lo desea, una configuración de implementación para reutilizarla en futuras actualizaciones del punto de conexión. Puede usar las mismas opciones de `DeploymentConfig` que en el ejemplo anterior de la API UpdateEndpoint. No hay cambios en el comportamiento de la API CreateEndpoint. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para actualizar el punto de conexión. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), establezca `RetainDeploymentConfig` en `True` para mantener las opciones `DeploymentConfig` de la configuración de su punto de conexión original.

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

### Cómo actualizar un punto de conexión (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Si está utilizando el AWS CLI, el siguiente ejemplo muestra cómo iniciar una implementación de valor controlado azul/verde mediante el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
update-endpoint
--endpoint-name <your-endpoint-name>
--endpoint-config-name <your-config-name> 
--deployment-config '"BlueGreenUpdatePolicy": {"TrafficRoutingConfiguration": {"Type": "CANARY",
    "CanarySize": {"Type": "CAPACITY_PERCENT", "Value": 30}, "WaitIntervalInSeconds": 600},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Para configurar la opción de cambio de tráfico de valor controlado, 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.
+ En `deployment-config`, utilice un objeto JSON [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Si prefiere guardar el objeto JSON en un archivo, consulte [Generación de parámetros esquemáticos AWS CLI y de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) en la Guía del usuario de AWS CLI.

# Uso de cambio de tráfico lineal
<a name="deployment-guardrails-blue-green-linear"></a>

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 espera durante el cual las alarmas de Amazon CloudWatch preespecificadas supervisan las métricas de la flota verde. 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.

![\[Un exitoso cambio de tráfico lineal de tres pasos de la flota antigua a la flota nueva.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/deployment-guardrails-blue-green-linear.png)


Una vez que SageMaker AI aprovisiona la nueva flota, la primera parte de la flota verde se enciende y recibe tráfico. SageMaker AI desactiva una parte del mismo tamaño de la flota azul y comienza el período de cocción. 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 se activa una alarma en cualquier momento, SageMaker AI finaliza el proceso de cambio y el 100 % del tráfico vuelve a la flota azul.

## Requisitos previos
<a name="deployment-guardrails-blue-green-linear-prereqs"></a>

Antes de configurar una implementación con un cambio de tráfico lineal, debe crear alarmas de CloudWatch para monitorizar las métricas de su punto de conexión. 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 más información acerca de cómo configurar las alarmas de CloudWatch en un punto de conexión, consulte la página de requisitos previos [Configuración y monitorización de la reversión automática](deployment-guardrails-configuration.md). Para obtener más información acerca de la creación de alarmas de CloudWatch, consulte [Uso de las alarmas de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) en la *Guía del usuario de Amazon CloudWatch*.

## Configurar el cambio de tráfico lineal
<a name="deployment-guardrails-blue-green-linear-configure"></a>

Cuando esté preparado para la implementación y haya configurado las alarmas de CloudWatch para su punto de conexión, puede utilizar la API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) de Amazon SageMaker AI o el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) para iniciar en la AWS CLI para iniciar la implementación.

**Topics**
+ [Cómo actualizar un punto de conexión (API)](#deployment-guardrails-blue-green-linear-configure-api-update)
+ [Cómo actualizar un punto de conexión con una política de actualización (API) azul/verde existente](#deployment-guardrails-blue-green-linear-configure-api-existing)
+ [Cómo actualizar un punto de conexión (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Cómo actualizar un punto de conexión (API)
<a name="deployment-guardrails-blue-green-linear-configure-api-update"></a>

El siguiente ejemplo de la API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) muestra cómo se puede actualizar un punto de conexión con un cambio de tráfico lineal.

```
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` y `BlueGreenUpdatePolicy`, en `TrafficRoutingConfiguration`, establezca el parámetro `Type` en `LINEAR`. 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ámetros `Type` y `Value`. En `Type`, utilice `CAPACITY_PERCENT`, es decir, el porcentaje de su flota verde que quiera utilizar como tamaño de paso y, a continuación, establezca `Value` en `20`. 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`, utilice `300`. El parámetro indica a SageMaker AI que espere el período de 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, SageMaker AI espera 5 minutos entre cada cambio de tráfico.
+ En `TerminationWaitInSeconds`, utilice `300`. Este parámetro indica a SageMaker AI que espere el tiempo especificado (en segundos) después de que la flota verde esté completamente activa antes de finalizar las instancias de la flota azul. En este ejemplo, SageMaker AI espera 5 minutos después del último período de cocción antes de cerrar la flota azul.
+ En `MaximumExecutionTimeoutInSeconds`, utilice `3600`. 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 del campo `Alarms`, puede añadir sus alarmas de CloudWatch 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
<a name="deployment-guardrails-blue-green-linear-configure-api-existing"></a>

Cuando utilice la API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) para crear un punto de conexión, puede especificar, si lo desea, una configuración de implementación para reutilizarla en futuras actualizaciones del punto de conexión. Puede usar las mismas opciones de `DeploymentConfig` que en el ejemplo anterior de la API UpdateEndpoint. No hay cambios en el comportamiento de la API CreateEndpoint. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) para actualizar el punto de conexión. 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 API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), establezca `RetainDeploymentConfig` en `True` para mantener las opciones `DeploymentConfig` de la configuración de su punto de conexión original.

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

### Cómo actualizar un punto de conexión (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Si utiliza el AWS CLI, en el siguiente ejemplo se muestra cómo iniciar una implementación lineal azul/verde mediante el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html).

```
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.
+ En `deployment-config`, utilice un objeto JSON [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**nota**  
Si prefiere guardar el objeto JSON en un archivo, consulte [Generación de parámetros esquemáticos AWS CLI y de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) en la Guía del usuario de AWS CLI.

# Uso de implementaciones continuas
<a name="deployment-guardrails-rolling"></a>

Cuando actualiza su punto de conexión, puede especificar una implementación continua para cambiar gradualmente el tráfico de su flota anterior a una flota nueva. Puede controlar el tamaño de los pasos del cambio de tráfico, así como especificar un período de evaluación para monitorizar las nuevas instancias en busca de problemas antes de cerrar las instancias de la flota anterior. Con las implementaciones sucesivas, las instancias de la flota anterior se limpian después de cada cambio de tráfico a la nueva flota, lo que reduce la cantidad de instancias adicionales necesarias para actualizar el punto de conexión. Esto resulta especialmente útil para las instancias aceleradas que tienen una gran demanda.

Las implementaciones sucesivas sustituyen gradualmente la implementación anterior de la versión del modelo por la nueva versión mediante la actualización del punto de conexión en tamaños de lote configurables. El comportamiento de cambio de tráfico de las implementaciones continuas es similar al [modo de cambio de tráfico lineal](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green-linear.html) de blue/green las implementaciones, pero las implementaciones continuas ofrecen la ventaja de reducir los requisitos de capacidad en comparación con las implementaciones. blue/green Con las implementaciones continuas, hay menos instancias activas a la vez y usted tiene un control más detallado sobre el número de instancias que desea actualizar en la nueva flota. Debería considerar la posibilidad de utilizar una implementación continua en lugar de una blue/green implementación si tiene modelos grandes o un terminal grande con muchas instancias.

En la siguiente lista se describen las características clave de las implementaciones sucesivas en Amazon SageMaker AI:
+ **Período de cocción.**El período de cocción es un período de tiempo establecido para monitorizar la nueva flota antes de pasar a la siguiente fase de implementación. Si alguna de las alarmas preespecificadas se activa durante un período de inactividad, todo el tráfico de los puntos de conexión se transfiere a la flota anterior. El período de cocción le ayuda a aumentar la confianza en su actualización antes de hacer que el cambio de tráfico sea permanente.
+ **Tamaño del lote continuo.** Tiene control granular sobre el tamaño de cada lote para el cambio de tráfico o la cantidad de instancias que desea actualizar en cada lote. Este número puede oscilar entre el 5 y el 50 % del tamaño de su flota. Puede especificar el tamaño del lote como un número de instancias o como el porcentaje total de su flota.
+ **Reversiones automáticas. **Puedes especificar CloudWatch las alarmas de Amazon que la SageMaker IA utilizará para monitorizar la nueva flota. Si un problema con el código actualizado activa alguna de las alarmas, la SageMaker IA inicia una reversión automática a la flota anterior para mantener la disponibilidad y minimizar así el riesgo.

**nota**  
Si su punto de conexión utiliza alguna de las características enumeradas en la página [Exclusiones](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html), no podrá utilizar implementaciones continuas.

## Funcionamiento
<a name="deployment-guardrails-rolling-how-it-works"></a>

Durante un despliegue continuo, la SageMaker IA proporciona la infraestructura necesaria para transferir el tráfico de la flota antigua a la nueva sin tener que aprovisionar todas las instancias nuevas a la vez. SageMaker La IA sigue los siguientes pasos para transferir el tráfico:

1. SageMaker La IA aprovisiona el primer lote de instancias de la nueva flota.

1. Una parte del tráfico se desplaza de las instancias antiguas al primer lote de instancias nuevas.

1. Tras el periodo de cocción, si no se CloudWatch activa ninguna alarma de Amazon, la SageMaker IA limpia un lote de instancias antiguas.

1. SageMaker La IA continúa aprovisionando, desplazando y limpiando las instancias por lotes hasta que se complete la implementación.

Si se activa una alarma durante uno de los períodos de espera, el tráfico vuelve a la flota anterior en lotes del tamaño que usted especifique. Como alternativa, puede especificar la implementación continua para que el 100 % del tráfico vuelva a la flota anterior en caso de que se active una alarma.

El siguiente diagrama muestra la progresión de una implementación continua correcta, tal y como se describe en los pasos anteriores.

![\[Los pasos del cambio de tráfico de una implementación continua de la flota antigua a la flota nueva.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/deployment-guardrails-rolling-diagram.png)


Para crear una implementación continua, solo tiene que especificar la configuración de la implementación que desee. Luego, la SageMaker IA se encarga del aprovisionamiento de nuevas instancias, la cancelación de las antiguas y el traslado del tráfico por usted. Puede crear y administrar su implementación a través de la [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)y AWS Command Line Interface los comandos existentes.

## Requisitos previos
<a name="deployment-guardrails-prereqs"></a>

Antes de configurar una implementación continua, debes crear CloudWatch alarmas de Amazon para ver las métricas de tu punto final. Si alguna de las alarmas se activa durante el período de cocción, el tráfico empezará a repercutir en su flota anterior. Para obtener información sobre cómo configurar CloudWatch las alarmas en un punto final, consulte la página de requisitos previos: [configuración y supervisión de la reversión automática](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-configuration.html). Para obtener más información sobre CloudWatch las alarmas, consulta [Uso de CloudWatch las alarmas de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) en la *Guía del CloudWatch usuario de Amazon*.

Además, consulte la página [Exclusiones](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html) para asegurarse de que su punto de conexión cumple con los requisitos para una implementación continua.

## Determine el tamaño del lote continuo
<a name="deployment-guardrails-rolling-batch-size"></a>

Antes de actualizar el punto de conexión, determine el tamaño del lote que quiera utilizar para transferir el tráfico de forma gradual a la nueva flota.

En las implementaciones continuas, puede especificar un tamaño de lote que represente entre el 5 y el 50 % de la capacidad de su flota. Si elige un tamaño de lote grande, la implementación se completa más rápidamente. Sin embargo, tenga en cuenta que el punto de conexión requiere más capacidad durante la actualización, aproximadamente la sobrecarga del tamaño del lote. Si elige un tamaño de lote más pequeño, la implementación tardará más, pero utilizará menos capacidad durante la implementación.

## Configurar una implementación continua
<a name="deployment-guardrails-rolling-configure"></a>

Cuando esté listo para la implementación y haya configurado CloudWatch las alarmas para su terminal, puede utilizar la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API de SageMaker IA o el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) AWS Command Line Interface para iniciar la implementación.

**¿Cómo actualizar un punto de conexión?**

En el siguiente ejemplo, se muestra cómo puede actualizar su terminal mediante un despliegue continuo mediante el método [update\$1endpoint](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_endpoint.html) del cliente de IA Boto3. SageMaker 

Para configurar una implementación continua, utilice el ejemplo y los campos siguientes:
+ 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 el `AutoRollbackConfiguration` objeto, 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.
+ En `DeploymentConfig`, para el objeto `RollingUpdatePolicy`, especifique los siguientes campos:
  + `MaximumExecutionTimeoutInSeconds`: el límite de tiempo para la implementación total. Si se supera este límite, el tiempo de espera se agota. El valor máximo que puede especificar para este campo es de 28800 segundos u 8 horas.
  + `WaitIntervalInSeconds`— La duración del período de cocción, durante el cual la SageMaker IA monitorea las alarmas de cada lote de la nueva flota.
  + `MaximumBatchSize`: especifique el `Type` del lote que quiera utilizar (el número de instancias o el porcentaje total de su flota) y el `Value` o tamaño de cada lote.
  + `RollbackMaximumBatchSize`: utilice este objeto para especificar la estrategia de reversión en caso de que se active una alarma. Especifique el `Type` del lote que quiera utilizar (número de instancias o porcentaje total de su flota) y el `Value` o tamaño de cada lote. Si no especificas estos campos o si blue/green estableces el valor en el 100% del punto final, la SageMaker IA utiliza una estrategia de reducción y devuelve todo el tráfico a la flota anterior cuando se activa una alarma.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                },
            ]
        },
        "RollingUpdatePolicy": { 
            "MaximumExecutionTimeoutInSeconds": number,
            "WaitIntervalInSeconds": number,
            "MaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
            "RollbackMaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
        }  
    }
)
```

Tras actualizar el dispositivo, es posible que desee comprobar el estado de su implementación continua y comprobar el estado de su punto de conexión. Puedes revisar el estado de tu terminal en la consola de SageMaker IA o puedes revisar el estado de tu punto final mediante la [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API.

En el objeto `VariantStatus` devuelto por la API `DescribeEndpoint`, el campo `Status` indica el estado actual de implementación o funcionamiento de su dispositivo de punto de conexión. Para obtener más información sobre los posibles estados y su significado, consulte [ProductionVariantStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantStatus.html).

Si ha intentado realizar una implementación continua y el estado de su punto de conexión es `UpdateRollbackFailed`, consulte la siguiente sección para obtener ayuda con la solución de problemas.

## Administración de errores
<a name="deployment-guardrails-rolling-failures"></a>

Si las implementaciones continuas fallan y la reversión automática también falla, el punto de conexión puede quedarse con el estado de `UpdateRollbackFailed`. Este estado significa que se han implementado diferentes configuraciones de punto de conexión en las instancias situadas detrás de su punto de conexión y que este está en servicio con una combinación de configuraciones de punto de conexión antiguas y nuevas.

Puede realizar otra llamada a la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API para devolver el punto final a un estado correcto. Especifique la configuración del punto de conexión y la configuración de implementación que quiera (ya sea una implementación continua, una implementación azul/verde o ninguna de las dos) para actualizar su punto de conexión.

Puedes llamar a la [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API para comprobar de nuevo el estado de tu punto final, que se devuelve en el `VariantStatus` objeto como `Status` campo. Si la actualización se realiza correctamente, el `Status` del punto de conexión devolverá `InService`.

# Exclusiones
<a name="deployment-guardrails-exclusions"></a>

Al realizar una implementación azul/verde o continua, la nueva configuración de punto final debe tener el mismo nombre de variante que la configuración de punto final anterior. También hay exclusiones basadas en funciones que hacen que su punto de conexión sea incompatible con las barreras de protección de implementación en este momento. Si su punto de conexión utiliza alguna de las siguientes características, no podrá utilizar las barreras de protección de implementación en su punto de conexión, por lo que volverá a utilizar una implementación azul/verde, en la que el tráfico se desplazará al mismo tiempo y no tendrá un período de espera final:
+ Contenedores de Marketplace
+ Puntos de conexión que utilizan instancias Inf1 (basadas en inferencia)

Si va a realizar una implementación progresiva, hay exclusiones adicionales basadas en características:
+ Terminales de conexión de inferencias sin servidor
+ Puntos de conexión de inferencia con múltiples variantes