

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

# Distribuzioni blu/verdi
<a name="deployment-guardrails-blue-green"></a>

Quando aggiorni il tuo endpoint, Amazon SageMaker AI utilizza automaticamente un’implementazione blu/verde per massimizzare la disponibilità degli endpoint. In un’implementazione blu/verde, SageMaker AI fornisce un nuovo parco con gli aggiornamenti (il parco verde). Quindi, SageMaker AI sposta il traffico dal parco precedente (blu) al parco verde. Una volta che il parco verde funziona senza intoppi per un determinato periodo di valutazione (chiamato periodo di incorporamento), SageMaker AI interrompe il parco blu. Con le funzionalità aggiuntive delle implementazioni blu/green, puoi utilizzare le modalità di spostamento del traffico e il monitoraggio automatico del rollback per proteggere l'endpoint da un impatto significativo sulla produzione.

L’elenco seguente descrive le funzionalità principali delle implementazioni blu/verdi in SageMaker AI:
+ **Modalità di spostamento del traffico.** Le modalità di spostamento del traffico per i guardrail di implementazione consentono di controllare il volume del traffico e il numero di fasi di spostamento del traffico tra il parco istanze blu e il parco istanze verde. Questa funzionalità ti dà la possibilità di valutare progressivamente le prestazioni del parco istanze verde senza impegnarti completamente a spostare il traffico al 100%.
+ **Periodo di baking. ** Il periodo di baking è un periodo di tempo prestabilito per monitorare il parco istanze verde prima di passare alla fase di implementazione successiva. Se uno degli allarmi preimpostati scatta durante un periodo di baking, tutto il traffico degli endpoint torna al parco istanze blu. Il periodo di baking ti aiuta ad aumentare la fiducia nell'aggiornamento prima di rendere permanente il cambio di traffico.
+ **Rollback automatici. ** Puoi specificare gli allarmi Amazon CloudWatch che SageMaker AI utilizza per monitorare il parco verde. Se un problema con il codice aggiornato fa scattare uno degli allarmi, SageMaker AI avvia un ripristino automatico del parco blu per mantenerne la disponibilità, riducendo così al minimo i rischi.

## Modalità di spostamento del traffico
<a name="deployment-guardrails-blue-green-traffic-modes"></a>

Le varie modalità di spostamento del traffico nelle implementazioni blu/verde offrono un controllo più granulare sullo spostamento del traffico tra il parco istanze blu e il parco istanze verde. Le modalità di spostamento del traffico disponibili per le implementazioni blu/verde sono tutti in una volta sola, canary e lineare. La seguente tabella mostra un confronto tra le opzioni.

**Importante**  
Per le implementazioni blu/verde che prevedono periodi di spostamento o di interruzione del traffico in più fasi, ti verranno fatturati entrambi i parchi istanze per la durata dell'aggiornamento, indipendentemente dal traffico diretto al parco istanze. Ciò è in contrasto con le implementazioni blu/verdi, che prevedono lo spostamento del traffico tutto in una sola volta e l'assenza di periodi di baking, in cui ti viene fatturata un solo parco istanze nel corso dell'aggiornamento.


| Nome | Di cosa si tratta? | Pro | Contro | Raccomandazione | 
| --- | --- | --- | --- | --- | 
| Tutto contemporaneamente | Sposta tutto il traffico al nuovo parco istanze in un’unica fase. | Riduce al minimo la durata complessiva dell'aggiornamento. | Gli aggiornamenti regressivi influiscono sul 100% del traffico. | Utilizza questa opzione per ridurre al minimo i tempi e i costi di aggiornamento. | 
| Canary | Il traffico viene spostato in due fasi. La prima fase (canary) sposta una piccola parte del traffico, seguita dalla seconda fase, che sposta il resto del traffico. | Limita il raggio d’azione degli aggiornamenti regressivi alo solo parco istanze canary. | Entrambe i parchi istanze sono operativi in parallelo per l'intera implementazione. | Utilizza questa opzione per trovare un equilibrio tra la riduzione al minimo del raggio d'azione degli aggiornamenti regressivi e la riduzione al minimo del tempo di operatività di due parchi istanze. | 
| Linear (Lineare) | Una parte fissa del traffico si sposta in un numero prestabilito di fasi equidistanti. | Riduce al minimo il rischio di aggiornamenti regressivi spostando il traffico su più fasi. | La durata e il costo dell'aggiornamento sono proporzionali al numero di fasi. | Utilizza questa opzione per ridurre al minimo i rischi eseguendo la distribuzione su più fasi. | 

## Inizia
<a name="deployment-guardrails-blue-green-get-started"></a>

Una volta specificata la configurazione di implementazione desiderata, SageMaker AI gestisce il provisioning di nuove istanze, la terminazione delle istanze precedenti e lo spostamento del traffico per tuo conto. Puoi creare e gestire la distribuzione tramite l'API e i comandi [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) e [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker esistenti e AWS Command Line Interface. Tieni presente che se l'endpoint utilizza una delle funzionalità elencate nella pagina [Esclusioni](deployment-guardrails-exclusions.md), non puoi utilizzare i guardrail di distribuzione. Consulta le pagine di distribuzione individuali per maggiori dettagli su come configurare la distribuzione:
+ [Aggiornamento blu/verde con Spostamento del traffico tutto in una volta sola](deployment-guardrails-blue-green-all-at-once.md)
+ [Aggiornamento blu/verde con Spostamento del traffico canary](deployment-guardrails-blue-green-canary.md)
+ [Aggiornamento blu/verde con Spostamento del traffico lineare](deployment-guardrails-blue-green-linear.md)

Per seguire esempi guidati che mostrano come utilizzare i guardrail di implementazione, guarda i nostri esempi di [notebook Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) per le modalità di spostamento del traffico canary e lineare.

# Spostamento del traffico tutto in una sola volta
<a name="deployment-guardrails-blue-green-all-at-once"></a>

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.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/deployment-guardrails-blue-green-all-at-once.png)


Quando si utilizza lo spostamento del traffico tutto in una sola volta, SageMaker AI indirizza il 100% del traffico verso il nuovo parco istanze (parco verde). Quando il parco istanze verde inizia a ricevere traffico, inizia il periodo di baking. Il periodo di baking è un periodo di tempo prestabilito in cui gli allarmi Amazon CloudWatch prespecificati monitorano le prestazioni del parco istanze verde. Se durante il periodo di baking non scatta alcun allarme, SageMaker AI termina il parco precedente (parco 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
<a name="deployment-guardrails-blue-green-all-at-once-prereqs"></a>

Prima di configurare un’implementazione con lo spostamento del traffico tutto in una sola volta, devi creare allarmi Amazon CloudWatch 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 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*.

## Configura lo spostamento del traffico tutto in una sola volta
<a name="deployment-guardrails-blue-green-all-at-once-configure"></a>

Quando è tutto pronto per l’implementazione e hai configurato gli allarmi CloudWatch per l’endpoint, puoi avviare l’implementazione utilizzando l’API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) di SageMaker AI o il comando [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) in AWS Command Line Interface.

**Topics**
+ [Come aggiornare un endpoint (API)](#deployment-guardrails-blue-green-all-at-once-configure-api-update)
+ [Come aggiornare un endpoint con una policy di aggiornamento (API) blu/verde esistente](#deployment-guardrails-blue-green-all-at-once-configure-api-existing)
+ [Come aggiornare un endpoint (CLI)](#deployment-guardrails-blue-green-all-at-once-configure-cli-update)

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

L'esempio seguente mostra come aggiornare l'endpoint con lo spostamento del traffico tutto in una sola volta utilizzando [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) nell'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 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 10 minuti dopo l’ultimo periodo di baking prima di terminare il parco 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.
+ 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-all-at-once-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-all-at-once-configure-cli-update"></a>

Se utilizzi il AWS CLI, l'esempio seguente mostra come avviare un’implementazione tutto in una sola volta 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": "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.
+ 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*.

# 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. Continui ad avere i vantaggi di un'implementazione blu/verde e la funzionalità Canary aggiunta ti consente di assicurarti che il tuo nuovo parco istanze (verde) sia in grado di gestire l’inferenza prima di consentirgli 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. Quando il periodo di baking termina e non viene attivato alcun allarme Amazon CloudWatch prestabilito, il resto del traffico passa dal vecchio parco istanze (blu) a quello 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 eseguito il provisioning del parco verde, SageMaker AI instrada una parte del traffico in entrata (ad esempio, il 25%) verso il canary. Inizia quindi il periodo di baking, durante il quale gli allarmi CloudWatch monitorano le prestazioni del parco istanze verde. Durante questo periodo, sia il parco istanze blu che quello verde sono parzialmente attivi e ricevono traffico. Se uno qualsiasi degli allarmi si attiva durante il periodo di baking, SageMaker AI avvia un rollback e tutto il traffico ritorna al parco 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 baking termina senza che si attivi alcun allarme, il parco verde gestisce tutto il traffico e SageMaker AI termina il parco blu.

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

Prima di configurare un’implementazione con lo spostamento del traffico canary, devi creare allarmi Amazon 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 Canary
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Quando è tutto pronto per l’implementazione e hai configurato gli allarmi Amazon CloudWatch per l’endpoint, puoi avviare l’implementazione utilizzando 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) in AWS CLI.

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

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

```
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 a SageMaker AI di attendere la quantità di tempo specificata (espressa in secondi) tra ogni spostamento di intervallo. Questo intervallo è la durata del periodo di baking del canary. Nell’esempio precedente, SageMaker AI attende 10 minuti dopo lo spostamento del canary e poi completa il secondo e ultimo spostamento di traffico.
+ Per `TerminationWaitInSeconds`, utilizza `600`. 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 10 minuti dopo l’ultimo periodo di baking prima di terminare il parco 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.
+ 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-canary-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 canary 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": "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`, 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*.

# 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*.