

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

# Utilizzare lo spostamento del traffico lineare
<a name="deployment-guardrails-blue-green-linear"></a>

Lo spostamento del traffico lineare consente di spostare gradualmente il traffico dal vecchio parco istanze (parco istanze blu) al nuovo parco istanze (parco istanze verde). Con lo spostamento del traffico lineare, puoi spostare il traffico in più fasi, riducendo al minimo la possibilità di interruzione dell'endpoint. Questa opzione di implementazione blu/verde ti offre il controllo più granulare sullo spostamento del traffico.

Puoi scegliere il numero di istanze o la percentuale della capacità del parco istanze verde da attivare durante ogni fase. Ogni fase lineare deve essere compresa solo tra il 10 e il 50% della capacità del parco istanze verde. Per ogni fase, è previsto un periodo di baking durante il quale gli allarmi Amazon CloudWatch preimpostati monitorano i parametri del parco istanze verde. Una volta terminato il periodo di baking e non scatta alcun allarme, la parte attiva del tuo parco istanze flotta verde continua a ricevere traffico e inizia una nuova fase. Se gli allarmi scattano durante uno qualsiasi dei periodi di baking, il 100% del traffico finale ritorna al parco istanze blu.

Il diagramma seguente mostra come il traffico lineare sposta il traffico verso i parchi istanze blu e verdi.

![\[Uno spostamento in tre fasi del traffico lineare riuscito dal parco precedente al nuovo parco.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/deployment-guardrails-blue-green-linear.png)


Una volta che SageMaker AI effettua il provisioning del nuovo parco, la prima parte del parco verde si attiva e riceve traffico. SageMaker AI disattiva la parte del parco blu della stessa dimensione e inizia il periodo di incorporamento. Se scatta un allarme, tutto il traffico degli endpoint torna al parco istanze blu. Se il periodo di baking termina, ha inizio la fase successiva. Un'altra parte del parco istanze verde si attiva e riceve traffico, una parte del parco istanze blu si disattiva e inizia un altro periodo di baking. Lo stesso processo si ripete fino a quando il parco istanze blu non viene completamente disattivato e il parco istanze verde è completamente attivo e riceve tutto il traffico. Se in qualsiasi momento si attiva un allarme, SageMaker AI termina il processo di spostamento e il 100% del traffico torna al parco blu.

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

Prima di configurare un’implementazione con lo spostamento del traffico lineare, devi creare allarmi CloudWatch per monitorare i parametri 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 informazioni su come configurare gli allarmi CloudWatch su un endpoint, consulta la pagina dei prerequisiti [Configurazione e monitoraggio del rollback automatico](deployment-guardrails-configuration.md). Per ulteriori informazioni sugli allarmi CloudWatch, consulta [Utilizzo degli allarmi di Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) nella *Guida per l'utente di Amazon CloudWatch*.

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

Una volta giunto il momento dell’implementazione, dopo aver configurato gli allarmi CloudWatch per il tuo endpoint, puoi utilizzare l’API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) di Amazon SageMaker AI o il comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) nell’AWS CLI per avviare l’implementazione.

**Topics**
+ [Come aggiornare un endpoint (API)](#deployment-guardrails-blue-green-linear-configure-api-update)
+ [Come aggiornare un endpoint con una policy di aggiornamento (API) blu/verde esistente](#deployment-guardrails-blue-green-linear-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-linear-configure-api-update"></a>

L’esempio seguente dell’API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) mostra come aggiornare un endpoint con lo spostamento del traffico lineare.

```
import boto3
client = boto3.client("sagemaker")

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "BlueGreenUpdatePolicy": {
            "TrafficRoutingConfiguration": {
                "Type": "LINEAR",
                "LinearStepSize": {
                    "Type": "CAPACITY_PERCENT",
                    "Value": 20
                },
                "WaitIntervalInSeconds": 300
            },
            "TerminationWaitInSeconds": 300,
            "MaximumExecutionTimeoutInSeconds": 3600
        },
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                }
            ]
        }
    }
)
```

Per configurare l’opzione di spostamento del traffico lineare, 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 `LINEAR`. Ciò specifica che l'implementazione utilizza lo spostamento del traffico lineare.
+ Nel campo `LinearStepSize`, puoi modificare la dimensione delle fasi modificando i parametri `Type` e `Value`. Per `Type`, usa `CAPACITY_PERCENT`, ovvero la percentuale del parco istanze verde che desideri utilizzare come dimensione fase, quindi imposta `Value` su `20`. In questo esempio, attivi il 20% della capacità del parco istanze verde per ogni fase di spostamento del traffico. Tieni presente che quando personalizzi le dimensioni di fasi lineari, devi utilizzare solo fasi che rappresentano il 10-50% della capacità del parco istanze verde.
+ Per `WaitIntervalInSeconds`, utilizza `300`. Il parametro indica a SageMaker AI di attendere la quantità di tempo specificata (espressa in secondi) tra ogni spostamento di traffico. Questo intervallo è la durata del periodo di cottura tra ogni fase lineare. Nell’esempio precedente, SageMaker AI attende 5 minuti tra uno spostamento di traffico e l’altro.
+ Per `TerminationWaitInSeconds`, utilizza `300`. Questo parametro indica a SageMaker AI di attendere il periodo di tempo specificato (in secondi) dopo che il parco verde è completamente attivo prima di terminare le istanze nel parco blu. In questo esempio, SageMaker AI attende 5 minuti dopo l’ultimo periodo di baking prima di terminare il parco blu.
+ Per `MaximumExecutionTimeoutInSeconds`, utilizza `3600`. Questo parametro imposta il tempo massimo di esecuzione dell’implementazione prima che scada. Nell'esempio precedente, l’implementazione ha un limite di 1 ora per completare l’esecuzione.
+ In `AutoRollbackConfiguration`, all’interno del campo `Alarms`, puoi aggiungere gli allarmi CloudWatch per nome. 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
<a name="deployment-guardrails-blue-green-linear-configure-api-existing"></a>

Quando utilizzi l'API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) per creare un endpoint, puoi facoltativamente specificare una configurazione di implementazione da riutilizzare per i futuri aggiornamenti degli endpoint. Puoi utilizzare le stesse opzioni `DeploymentConfig` del precedente esempio di API UpdateEndpoint. Non sono state apportate modifiche al comportamento dell'API CreateEndpoint. Specificare la configurazione di implementazione non significa che l’aggiornamento blu/verde sull'endpoint venga eseguito automaticamente.

La possibilità di utilizzare una configurazione di implementazione precedente si verifica quando si utilizza l'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) 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 chiami l'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), imposta `RetainDeploymentConfig` su `True` in modo da mantenere le opzioni `DeploymentConfig` 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 un’implementazione lineare blu/verde 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": "LINEAR",
    "LinearStepSize": {"Type": "CAPACITY_PERCENT", "Value": 20}, "WaitIntervalInSeconds": 300},
    "TerminationWaitInSeconds": 300, "MaximumExecutionTimeoutInSeconds": 3600},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Per configurare l’opzione di spostamento del traffico lineare, 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`, utilizza 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 dello skeleton AWS CLI e dei parametri di input](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) nella *Guida per l'utente AWS CLI*.