

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

# Uso de cambio de tráfico 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 disfruta de las ventajas de un blue/green despliegue, y la función Canary añadida le permite asegurarse de que su nueva flota (verde) pueda 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. Una vez que finaliza el período de cocción y no se activa ninguna CloudWatch alarma de Amazon 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 la SageMaker IA aprovisiona la flota verde, SageMaker redirige una parte del tráfico entrante (por ejemplo, el 25%) al puerto. A continuación, comienza el período de cocción, durante el cual CloudWatch las alarmas monitorizan el rendimiento de la flota ecológica. 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, la SageMaker IA 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 inactividad finaliza sin que se active ninguna alarma, la flota verde atenderá a todo el tráfico y la SageMaker IA cancelará la flota azul.

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

Antes de configurar una implementación con Canary Traffic Shifting, debes crear CloudWatch alarmas de Amazon para monitorear las métricas desde tu 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 información sobre cómo configurar CloudWatch las alarmas en un punto final, consulta la página de requisitos previos[Auto-Rollback Configuración y supervisión](deployment-guardrails-configuration.md). 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*.

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

Cuando esté listo para la implementación y haya configurado CloudWatch las alarmas de Amazon para su terminal, puede usar la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API de Amazon SageMaker AI o el comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) 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 final con una política de blue/green actualización (API) 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>

En el siguiente ejemplo de la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API, se muestra cómo actualizar un punto final con Canary Traffic Shifting.

```
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 la SageMaker IA que espere el 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, la SageMaker IA espera 10 minutos después del turno de canarios y, a continuación, completa el segundo y último turno de tráfico.
+ En `TerminationWaitInSeconds`, utilice `600`. Este parámetro indica a la SageMaker IA que espere el tiempo especificado (en segundos) hasta que la flota verde esté completamente activa antes de cerrar las instancias de la flota azul. En este ejemplo, la SageMaker IA espera 10 minutos después del último período de inactividad antes de dar por finalizada la flota azul.
+ En `MaximumExecutionTimeoutInSeconds`, utilice `1800`. Este parámetro establece el período máximo de tiempo durante el cual puede ejecutarse la implementación antes de que transcurra el tiempo de espera. En el ejemplo anterior, la implementación tiene un límite de 30 minutos para finalizar.
+ En`AutoRollbackConfiguration`, dentro del `Alarms` campo, puedes añadir tus CloudWatch alarmas por nombre. Cree una entrada `AlarmName: {{<your-cw-alarm>}}` para cada alarma que quiera utilizar.

### Cómo actualizar un punto final con una política de blue/green actualización (API) existente
<a name="deployment-guardrails-blue-green-canary-configure-api-existing"></a>

Cuando usa la [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para crear un punto final, puede especificar opcionalmente una configuración de implementación para reutilizarla en futuras actualizaciones del punto final. Puede usar las mismas `DeploymentConfig` opciones que en el ejemplo de UpdateEndpoint API anterior. No hay cambios en el comportamiento de la CreateEndpoint API. Al especificar la configuración de despliegue no se realiza automáticamente una blue/green actualización en el punto final.

La opción de usar una configuración de implementación anterior se produce cuando se usa la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API para actualizar el punto final. Al actualizar el punto de conexión, puede utilizar la opción `RetainDeploymentConfig` para conservar la configuración de implementación que haya especificado al crear el punto de conexión.

Al llamar a la [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API, configúrela en esta opción `RetainDeploymentConfig` `True` para mantener las `DeploymentConfig` opciones de la configuración original de su punto final.

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

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

Si utilizas la AWS CLI, en el siguiente ejemplo se muestra cómo iniciar una implementación de blue/green Canary 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.
+ Para ello`deployment-config`, utilice un objeto [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html)JSON.

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