

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.

# 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.