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 a mudança de tráfego canário
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 implantação azul/verde e o recurso de canário adicionado permite garantir que sua nova frota (verde) possa realizar inferências antes de permitir que ela processe 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.
Depois de SageMaker provisionar a frota verde, SageMaker encaminha 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, SageMaker 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 atende todo o tráfego e SageMaker encerra a frota azul.
Pré-requisitos
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 é revertido para a 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.
Configurar o delocamento de tráfego de canários
Quando estiver pronto para a implantação e configurar os CloudWatch alarmes da Amazon para seu endpoint, você poderá usar o comando Amazon SageMaker UpdateEndpointAPIou o comando update-endpoint no para iniciar a AWS CLI implantação.
Tópicos
Como atualizar um endpoint () API
O exemplo a seguir UpdateEndpointAPImostra 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:
Para
EndpointName
, use o nome do endpoint existente que você deseja atualizar.Para
EndpointConfigName
, use o nome da configuração de endpoint que deseja usar.Em
DeploymentConfig
eBlueGreenUpdatePolicy
, emTrafficRoutingConfiguration
, defina o parâmetroType
comoCANARY
. 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âmetrosType
eValue
. ParaType
, useCAPACITY_PERCENT
, ou seja, a porcentagem da frota verde que você deseja usar como canário e, em seguida, definaValue
como30
. 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
, use600
. O parâmetro diz SageMaker para aguardar 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, SageMaker espera 10 minutos após o turno canário e, em seguida, conclui o segundo e último turno de trânsito.Para
TerminationWaitInSeconds
, use600
. 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
, use1800
. 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 doAlarms
campo, você pode adicionar seus CloudWatch alarmes por nome. Crie uma entradaAlarmName:
para cada alarme que você deseja usar.<your-cw-alarm>
Como atualizar um endpoint com uma política de atualização azul/verde existente () API
Ao usar o CreateEndpointAPIpara 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 UpdateEndpoint API exemplo anterior. Não há mudanças no CreateEndpoint API comportamento. 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 ocorre ao usar o UpdateEndpointAPIpara 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 o 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
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:
Para
endpoint-name
, use o nome do endpoint que deseja usar para atualizar.Para
endpoint-config-name
, use o nome da configuração de endpoint que deseja usar.Para
deployment-config
, use um BlueGreenUpdatePolicyJSONobjeto.
nota
Se você preferir salvar seu JSON objeto em um arquivo, consulte Geração de AWS CLI esqueleto e parâmetros de entrada no Guia do AWS CLI usuário.