

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use o deslocamento de tráfego do canário
<a name="deployment-guardrails-blue-green-canary"></a>

Com o deslocamento de tráfego do canário, você pode testar uma parte do seu tráfego de endpoints na nova frota enquanto a frota antiga atende ao restante do tráfego. Essa etapa de testes é uma barreira de proteção que valida a funcionalidade da nova frota antes de transferir todo o tráfego para a nova frota. Você ainda tem os benefícios de uma blue/green implantação, e o recurso canary adicionado permite garantir que sua nova frota (verde) possa servir de inferência antes de permitir que ela gerencie 100% do tráfego.

A parte da sua frota verde que é ativada para receber tráfego é chamada de canário e você pode escolher o tamanho desse canário. Observe que o tamanho do canário deve ser menor que ou igual a 50% da capacidade da nova frota. Quando o período de cozimento termina e nenhum CloudWatch alarme pré-especificado da Amazon dispara, o resto do tráfego muda da frota antiga (azul) para a frota verde. A mudança de tráfego do canário oferece mais segurança durante a sua implantação, pois qualquer problema com o modelo atualizado impacta apenas o canário.

O diagrama a seguir mostra como o deslocamento de tráfego do canário gerencia a distribuição do tráfego entre as frotas azul e verde.

![Uma mudança em duas etapas e bem-sucedida do tráfego de canários da frota anterior para a nova frota.](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/images/deployment-guardrails-blue-green-canary.png)


Depois que a SageMaker IA provisiona a frota verde, SageMaker ela direciona uma parte do tráfego de entrada (por exemplo, 25%) para o canário. Em seguida, começa o período de cozimento, durante o qual seus CloudWatch alarmes monitoram o desempenho da frota ecológica. Durante esse período, tanto a frota azul quanto a frota verde estão parcialmente ativas e recebendo tráfego. Se algum dos alarmes disparar durante o período de cozimento, a SageMaker IA iniciará uma reversão e todo o tráfego retornará à frota azul. Se nenhum dos alarmes disparar, todo o tráfego será transferido para a frota verde e haverá um período final de baking. Se o período final de cozimento terminar sem acionar nenhum alarme, a frota verde atenderá todo o tráfego e a SageMaker IA encerrará a frota azul.

## Pré-requisitos
<a name="deployment-guardrails-blue-green-canary-prereqs"></a>

Antes de configurar uma implantação com o Canary Traffic Shifting, você deve criar CloudWatch alarmes da Amazon para monitorar as métricas do seu endpoint. Os alarmes ficam ativos durante o período de baking e, se algum alarme disparar, todo o tráfego do endpoint será revertido para a frota azul. Para saber como configurar CloudWatch alarmes em um endpoint, consulte a página de pré-requisitos. [Auto-Rollback Configuração e monitoramento](deployment-guardrails-configuration.md) Para saber mais sobre CloudWatch alarmes, consulte Como [usar CloudWatch alarmes da Amazon no Guia CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) *do usuário da Amazon*.

## Configurar o deslocamento de tráfego de canários
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Quando estiver pronto para a implantação e configurar os CloudWatch alarmes da Amazon para seu endpoint, você poderá usar a [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API Amazon SageMaker AI ou o comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) no para iniciar a AWS CLI implantação.

**Topics**
+ [Como atualizar um endpoint (API)](#deployment-guardrails-blue-green-canary-configure-api-update)
+ [Como atualizar um endpoint com uma política de blue/green atualização (API) existente](#deployment-guardrails-blue-green-canary-configure-api-existing)
+ [Como atualizar um endpoint (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Como atualizar um endpoint (API)
<a name="deployment-guardrails-blue-green-canary-configure-api-update"></a>

O exemplo a seguir da [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API mostra como você pode atualizar um endpoint com a mudança de tráfego canário.

```
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 a opção de deslocamento de tráfego do canário, faça o seguinte:
+ Em `EndpointName`, use o nome do endpoint existente que você deseja atualizar.
+ Em `EndpointConfigName`, use o nome da configuração de endpoint que deseja usar.
+ Em `DeploymentConfig` e `BlueGreenUpdatePolicy`, em `TrafficRoutingConfiguration`, defina o parâmetro `Type` como `CANARY`. Isso especifica que a implantação usa o deslocamento de tráfego do canário.
+ No campo `CanarySize`, você pode alterar o tamanho do canário modificando os parâmetros `Type` e `Value`. Para `Type`, use `CAPACITY_PERCENT`, ou seja, a porcentagem da frota verde que você deseja usar como canário e, em seguida, defina `Value` como `30`. Neste exemplo, você usa 30% da capacidade da frota verde como canário. Observe que o tamanho do canário deve ser igual ou menor que 50% da capacidade da frota verde.
+ Para `WaitIntervalInSeconds`, use `600`. O parâmetro diz à SageMaker IA que aguarde o tempo especificado (em segundos) entre cada mudança de intervalo. Esse intervalo é a duração do período de baking do canário. No exemplo anterior, a SageMaker IA espera 10 minutos após o turno canário e, em seguida, conclui o segundo e último turno de tráfego.
+ Para `TerminationWaitInSeconds`, use `600`. Esse parâmetro faz com que a SageMaker IA aguarde o tempo especificado (em segundos) depois que sua frota verde estiver totalmente ativa antes de encerrar as instâncias na frota azul. Neste exemplo, a SageMaker IA espera 10 minutos após o período final de cozimento antes de encerrar a frota azul.
+ Para `MaximumExecutionTimeoutInSeconds`, use `1800`. Esse parâmetro define o tempo máximo em que a implantação pode ser executada antes de o tempo limite ser atingido. No exemplo anterior, sua implantação tem um limite de 30 minutos para ser concluída.
+ Em`AutoRollbackConfiguration`, dentro do `Alarms` campo, você pode adicionar seus CloudWatch alarmes por nome. Crie uma entrada `AlarmName: {{<your-cw-alarm>}}` para cada alarme que você deseja usar.

### Como atualizar um endpoint com uma política de blue/green atualização (API) existente
<a name="deployment-guardrails-blue-green-canary-configure-api-existing"></a>

Ao usar a [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API para criar um endpoint, você pode, opcionalmente, especificar uma configuração de implantação para reutilização em futuras atualizações de endpoint. Você pode usar as mesmas `DeploymentConfig` opções do exemplo de UpdateEndpoint API anterior. Não há mudanças no comportamento da CreateEndpoint API. Especificar a configuração de implantação não executa automaticamente uma blue/green atualização em seu endpoint.

A opção de usar uma configuração de implantação anterior acontece ao usar a [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API para atualizar seu endpoint. Ao atualizar seu endpoint, você pode usar a opção `RetainDeploymentConfig` para manter a configuração da implantação especificada ao criar o endpoint.

Ao chamar a [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API, `RetainDeploymentConfig` defina como `True` para manter as `DeploymentConfig` opções da configuração original do endpoint.

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

### Como atualizar um endpoint (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Se você estiver usando o AWS CLI, o exemplo a seguir mostra como iniciar uma implantação blue/green canary usando o 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 a opção de deslocamento de tráfego do canário, faça o seguinte:
+ Em `endpoint-name`, use o nome do endpoint que você deseja atualizar.
+ Em `endpoint-config-name`, use o nome da configuração de endpoint que deseja usar.
+ Para`deployment-config`, use um objeto [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html)JSON.

**nota**  
Se você preferir salvar seu objeto JSON em um arquivo, consulte [Geração de AWS CLI esqueleto e parâmetros de entrada](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) no Guia do *AWS CLI usuário*.