Spostamento del traffico tutto in una sola volta - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Spostamento del traffico tutto in una sola volta

Con lo spostamento del traffico tutto in una sola volta, puoi implementare rapidamente un aggiornamento degli endpoint utilizzando le guardrail di sicurezza di un’implementazione blu/verde. È possibile utilizzare questa opzione di spostamento del traffico per ridurre al minimo la durata dell'aggiornamento, sfruttando al contempo le garanzie di disponibilità delle implementazioni blu/verdi. La funzionalità del periodo di baking consente di monitorare le prestazioni e la funzionalità delle nuove istanze prima di chiudere quelle vecchie, assicurando che il nuovo parco istanze sia pienamente operativo.

Il diagramma seguente mostra come il trasferimento del traffico gestisca contemporaneamente i parchi istanze vecchi e nuovi.

Uno spostamento del traffico riuscito dal vecchio parco istanze al nuovo parco istanze.

Quando si utilizza Traffic Shifting tutto in una volta, SageMaker indirizza il 100% del traffico verso la nuova flotta (flotta verde). Quando il parco istanze verde inizia a ricevere traffico, inizia il periodo di baking. Il periodo di cottura è un periodo di tempo prestabilito in cui gli CloudWatch allarmi Amazon prestabiliti monitorano le prestazioni della flotta verde. Se nessun allarme scatta durante il periodo di cottura, SageMaker interrompe la vecchia flotta (flotta blu). Se durante il periodo di baking scatta un allarme, viene avviato un rollback automatico e il 100% del traffico torna al parco istanze blu.

Prerequisiti

Prima di configurare una distribuzione con lo spostamento del traffico tutto in una volta, devi creare CloudWatch allarmi Amazon per monitorare i parametri dal tuo endpoint. Se uno qualsiasi degli allarmi scatta durante il periodo di baking, il traffico inizia a rifluire verso il vecchio parco istanze. Per informazioni su come configurare gli CloudWatch allarmi su un endpoint, consulta la pagina dei prerequisiti. Configurazione e monitoraggio del rollback automatico Per ulteriori informazioni sugli CloudWatch allarmi, consulta Using Amazon CloudWatch alarms nella Amazon CloudWatch User Guide.

Configura lo spostamento del traffico tutto in una sola volta

Una volta che sei pronto per la distribuzione e hai configurato gli CloudWatch allarmi per il tuo endpoint, puoi utilizzare l' SageMaker UpdateEndpointAPI o il comando update-endpoint in per avviare la distribuzione. AWS Command Line Interface

Come aggiornare un endpoint (API)

L'esempio seguente mostra come aggiornare il tuo endpoint con lo spostamento del traffico tutto UpdateEndpointin una volta utilizzando l'API 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>" }, ] } } )

Per configurare l’opzione di spostamento del traffico tutto in una sola volta, procedi come segue:

  • Per EndpointName, utilizza il nome dell'endpoint esistente che desideri aggiornare.

  • Per EndpointConfigName, utilizza il nome della configurazione dell'endpoint che desideri utilizzare.

  • Sotto DeploymentConfig e BlueGreenUpdatePolicy, in TrafficRoutingConfiguration, imposta il parametro Type su ALL_AT_ONCE. Ciò specifica che l'implementazione utilizza lo spostamento del traffico tutto in una sola volta.

  • Per TerminationWaitInSeconds, utilizza 600. Questo parametro indica di SageMaker attendere il periodo di tempo specificato (in secondi) dopo che la flotta verde è completamente attiva prima di terminare le istanze del parco istanze nel parco istanze blu. In questo esempio, SageMaker attende 10 minuti dopo l'ultimo periodo di cottura prima di terminare la flotta blu.

  • Per MaximumExecutionTimeoutInSeconds, utilizza 1800. Questo parametro imposta il tempo massimo di esecuzione dell’implementazione prima che scada. Nell'esempio precedente, l’implementazione ha un limite di 30 minuti per completare l’esecuzione.

  • All'interno del Alarms campo, puoi aggiungere i tuoi CloudWatch allarmi per nome. AutoRollbackConfiguration Crea una voce AlarmName: <your-cw-alarm> per ogni allarme che desideri utilizzare.

Come aggiornare un endpoint con una policy di aggiornamento (API) blu/verde esistente

Quando utilizzi l'CreateEndpointAPI per creare un endpoint, puoi facoltativamente specificare una configurazione di distribuzione da riutilizzare per futuri aggiornamenti degli endpoint. È possibile utilizzare le stesse DeploymentConfig opzioni dell'esempio di API precedente. UpdateEndpoint Non sono state apportate modifiche al comportamento dell' CreateEndpoint API. Specificare la configurazione di implementazione non significa che l’aggiornamento blu/verde sull'endpoint venga eseguito automaticamente.

L'opzione di utilizzare una configurazione di distribuzione precedente si verifica quando si utilizza l'UpdateEndpointAPI per aggiornare l'endpoint. Quando aggiorni l'endpoint, puoi utilizzare l'opzione RetainDeploymentConfig per mantenere la configurazione di implementazione specificata durante la creazione dell'endpoint.

Quando chiamate l'UpdateEndpointAPI, impostatela in modo da RetainDeploymentConfig True mantenere le DeploymentConfig opzioni della configurazione originale dell'endpoint.

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

Come aggiornare un endpoint (CLI)

Se utilizzi il AWS CLI, l'esempio seguente mostra come avviare una distribuzione blu/verde tutta in una volta utilizzando il 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>"}]}'

Per configurare l’opzione di spostamento del traffico tutto in una sola volta, procedi come segue:

  • Per endpoint-name, utilizza il nome dell'endpoint che desideri aggiornare.

  • Per endpoint-config-name, utilizza il nome della configurazione dell'endpoint che desideri utilizzare.

  • Perdeployment-config, usa un oggetto JSON. BlueGreenUpdatePolicy

Nota

Se preferisci salvare il tuo oggetto JSON in un file, consulta Generazione AWS CLI dello scheletro e dei parametri di input nella Guida per l'AWS CLI utente.