

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 canary
<a name="deployment-guardrails-blue-green-canary"></a>

Con lo spostamento del traffico Canary, puoi testare una parte del tuo traffico dell’endpoint sul nuovo parco istanze, mentre il vecchio parco istanze gestisce il resto del traffico. Questa fase di test è un guardrail di sicurezza che convalida la funzionalità del nuovo parco istanze prima di spostare tutto il traffico verso il nuovo parco istanze. Avete comunque i vantaggi di un' blue/green implementazione e la funzionalità aggiuntiva Canary vi consente di garantire che la nuova flotta (verde) sia in grado di fornire inferenze prima di consentirle di gestire il 100% del traffico.

La parte del tuo parco istanze verde che si attiva per ricevere traffico è denominata canary e puoi scegliere la dimensione di questo canary. Tieni presente che la dimensione del canary non deve superare il 50% della capacità del nuovo parco istanze. Una volta terminato il periodo di cottura e non scatta alcun CloudWatch allarme Amazon prestabilito, il resto del traffico si sposta dalla vecchia flotta (blu) a quella verde. Lo spostamento del traffico Canary ti offre maggiore sicurezza durante l'implementazione, poiché qualsiasi problema con il modello aggiornato ha un impatto solo sul canary.

Il diagramma seguente mostra come lo spostamento del traffico Canary gestisce la distribuzione del traffico tra i parchi istanze blu e verdi.

![Uno spostamento in due fasi del traffico canary riuscito dal vecchio parco istanze al nuovo parco istanze.](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/deployment-guardrails-blue-green-canary.png)


Una volta che l' SageMaker IA rifornisce la flotta verde, SageMaker indirizza una parte del traffico in entrata (ad esempio, il 25%) verso le isole Canarie. Inizia quindi il periodo di cottura, durante il quale gli CloudWatch allarmi monitorano le prestazioni della flotta verde. Durante questo periodo, sia il parco istanze blu che quello verde sono parzialmente attivi e ricevono traffico. Se uno qualsiasi degli allarmi scatta durante il periodo di cottura, l' SageMaker IA avvia un rollback e tutto il traffico ritorna alla flotta blu. Se nessuno degli allarmi viene attivaro, tutto il traffico si sposta verso il parco istanze verde e c’è un ultimo periodo di baking. Se l'ultimo periodo di cottura termina senza far scattare alcun allarme, la flotta verde serve tutto il traffico e l' SageMaker IA interrompe la flotta blu.

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

Prima di configurare una distribuzione con Canary Traffic Shifting, devi creare CloudWatch allarmi Amazon per monitorare le metriche dal tuo endpoint. Gli allarmi sono attivi durante il periodo di baking e, se qualche allarme si attiva, tutto il traffico degli endpoint torna al parco istanze blu. Per sapere come configurare gli CloudWatch allarmi su un endpoint, consulta la pagina dei prerequisiti. [Auto-Rollback Configurazione e monitoraggio](deployment-guardrails-configuration.md) Per ulteriori informazioni sugli CloudWatch allarmi, consulta [Using Amazon CloudWatch alarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) nella *Amazon CloudWatch User* Guide.

## Configurare lo spostamento del traffico Canary
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Una volta che sei pronto per la distribuzione e hai configurato gli CloudWatch allarmi Amazon per il tuo endpoint, puoi utilizzare l'[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API Amazon SageMaker AI o il comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) per avviare la AWS CLI distribuzione.

**Topics**
+ [Come aggiornare un endpoint (API)](#deployment-guardrails-blue-green-canary-configure-api-update)
+ [Come aggiornare un endpoint con una politica di blue/green aggiornamento (API) esistente](#deployment-guardrails-blue-green-canary-configure-api-existing)
+ [Come aggiornare un endpoint (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Come aggiornare un endpoint (API)
<a name="deployment-guardrails-blue-green-canary-configure-api-update"></a>

Il seguente esempio di [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API mostra come aggiornare un endpoint 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>}}"
                }
            ]
        }
    }
)
```

Per configurare l’opzione di spostamento del traffico canary, 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 `CANARY`. Ciò specifica che l'implementazione utilizza lo spostamento del traffico canary.
+ Nel campo `CanarySize`, puoi modificare la dimensione del canary modificando i parametri `Type` e `Value`. Per `Type`, usa `CAPACITY_PERCENT`, ovvero la percentuale del parco istanze verde che desideri utilizzare come canary, quindi imposta `Value` su `30`. In questo esempio, utilizzi il 30% della capacità del parco istanze verde come canary. Tieni presente che la dimensione del canary non deve superare il 50% della capacità del nuovo parco istanze.
+ Per `WaitIntervalInSeconds`, utilizza `600`. Il parametro indica all' SageMaker IA di attendere il periodo di tempo specificato (in secondi) tra ogni cambio di intervallo. Questo intervallo è la durata del periodo di baking del canary. Nell'esempio precedente, l' SageMaker IA attende 10 minuti dopo il turno canarino e poi completa il secondo e ultimo turno di traffico.
+ Per `TerminationWaitInSeconds`, utilizza `600`. Questo parametro indica all' SageMaker IA di attendere il periodo di tempo specificato (in secondi) dopo che la flotta verde è completamente attiva prima di terminare le istanze della flotta blu. In questo esempio, l' SageMaker IA 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 politica di blue/green aggiornamento (API) esistente
<a name="deployment-guardrails-blue-green-canary-configure-api-existing"></a>

Quando utilizzi l'[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html)API 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. La specifica della configurazione di distribuzione non esegue automaticamente un blue/green aggiornamento sull'endpoint.

La possibilità di utilizzare una configurazione di distribuzione precedente si verifica quando si utilizza l'[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API 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'[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API, 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)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Se utilizzi il AWS CLI, l'esempio seguente mostra come avviare una distribuzione blue/green Canary utilizzando il 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>}}"}]}'
```

Per configurare l’opzione di spostamento del traffico canary, 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.
+ Per`deployment-config`, usa un oggetto JSON. [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html)

**Nota**  
*Se preferisci salvare il tuo oggetto JSON in un file, consulta [Generazione AWS CLI dello scheletro e dei parametri di input](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) nella Guida per l'AWS CLI utente.*