Deslocamento de tráfego de uma só vez - Amazon SageMaker

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

Deslocamento de tráfego de uma só vez

Com o deslocamento de tráfego, tudo de uma vez, você pode implementar rapidamente uma atualização de endpoint usando as barreiras de proteção de uma implantação azul/verde. Você pode usar essa opção de deslocamento de tráfego para minimizar a duração da atualização e, ao mesmo tempo, aproveitar as garantias de disponibilidade das implantações azul/verde. O recurso de período de baking ajuda você a monitorar a performance e a funcionalidade de suas novas instâncias antes de encerrar suas instâncias antigas, garantindo que sua nova frota esteja totalmente operacional.

O diagrama a seguir mostra como, o deslocamento de tráfego de uma só vez gerencia as frotas antigas e novas.

Um deslocamento de tráfego de 100% bem-sucedido da frota anterior para a nova frota.

Quando você usa a mudança de tráfego de uma só vez, SageMaker direciona 100% do tráfego para a nova frota (frota verde). Quando a frota verde começa a receber tráfego, o período de baking começa. O período de cozimento é um período definido em que os CloudWatch alarmes pré-especificados da Amazon monitoram o desempenho da frota ecológica. Se nenhum alarme disparar durante o período de cozimento, SageMaker encerra a frota antiga (frota azul). Se algum alarme disparar durante o período de baking, uma reversão automática será iniciada e 100% do tráfego se deslocará de volta para a frota azul.

Pré-requisitos

Antes de configurar uma implantação com o tráfego mudando de uma só vez, você deve criar CloudWatch alarmes da Amazon para observar as métricas do seu endpoint. Se qualquer alarme for disparado durante o período de baking, o tráfego começará a se reverter para sua frota azul. Para saber como configurar CloudWatch alarmes em um endpoint, consulte a página de pré-requisitos. Configuração de reversão automática e monitoramento Para saber mais sobre CloudWatch alarmes, consulte Como usar CloudWatch alarmes da Amazon no Guia CloudWatch do usuário da Amazon.

Configuração de todo o deslocamento de tráfego de uma só vez

Quando estiver pronto para a implantação e configurar os CloudWatch alarmes para o endpoint, você poderá usar a SageMaker UpdateEndpointAPI ou o comando update-endpoint no para iniciar a AWS Command Line Interface implantação.

Como atualizar um endpoint (API)

O exemplo a seguir mostra como você pode atualizar seu endpoint com todas as mudanças de tráfego de uma só vez usando UpdateEndpointa API da 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 a opção de deslocamento de tráfego de uma só vez, faça o seguinte:

  • Para EndpointName, use o nome do endpoint existente que deseja atualizar.

  • Para EndpointConfigName, use o nome da configuração de endpoint que deseja usar.

  • Em DeploymentConfig e BlueGreenUpdatePolicy, no TrafficRoutingConfiguration, defina o parâmetro Type como ALL_AT_ONCE. Isso especifica que a implantação usa o modo de deslocamento de tráfego de uma só vez.

  • Para TerminationWaitInSeconds, use 600. Esse parâmetro indica SageMaker que você deve aguardar o tempo especificado (em segundos) depois que sua frota verde estiver totalmente ativa antes de encerrar as instâncias na frota azul. Neste exemplo, SageMaker 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.

  • EmAutoRollbackConfiguration, 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 atualização azul/verde existente (API)

Ao usar a CreateEndpointAPI 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 da implantação não executa automaticamente uma atualização azul/verde no seu endpoint.

A opção de usar uma configuração de implantação anterior acontece ao usar a UpdateEndpointAPI 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 UpdateEndpointAPI, 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)

Se você estiver usando o AWS CLI, o exemplo a seguir mostra como iniciar uma implantação azul/verde de uma só vez usando o comando update-endpoint.

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 a opção de deslocamento de tráfego de uma só vez, faça o seguinte:

  • Para endpoint-name, use o nome do endpoint que você deseja atualizar.

  • Para endpoint-config-name, use o nome da configuração de endpoint que deseja usar.

  • Paradeployment-config, use um objeto BlueGreenUpdatePolicyJSON.

nota

Se você preferir salvar seu objeto JSON em um arquivo, consulte Geração de AWS CLI esqueleto e parâmetros de entrada no Guia do AWS CLI usuário.