

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation du déplacement de trafic linéaire
<a name="deployment-guardrails-blue-green-linear"></a>

Le déplacement de trafic linéaire vous permet de déplacer progressivement le trafic de votre ancienne flotte (flotte bleue) vers votre nouvelle flotte (flotte verte). Avec le déplacement du trafic linéaire, vous pouvez déplacer le trafic en plusieurs étapes, minimisant ainsi le risque d'interruption de votre point de terminaison. Cette option de déploiement bleu/vert vous offre le contrôle le plus granulaire sur le déplacement de trafic.

Vous pouvez choisir soit le nombre d'instances, soit le pourcentage de la capacité de la flotte verte à activer à chaque étape. Chaque étape linéaire ne devrait représenter qu'entre 10 et 50 % de la capacité de la flotte verte. Pour chaque étape, il y a une période de préparation au cours de laquelle vos alarmes Amazon CloudWatch préspécifiées surveillent les métriques sur la flotte verte. Une fois la période de préparation terminée et si aucune alarme ne se déclenche, la partie active de votre flotte verte continue de recevoir du trafic et une nouvelle étape commence. Si des alarmes se déclenchent pendant l'une des périodes de préparation, 100 % du trafic du point de terminaison revient à la flotte bleue.

Le diagramme suivant montre comment le déplacement de trafic linéaire achemine le trafic vers les flottes bleue et verte.

![\[Déplacement de trafic linéaire réussi en trois étapes de l’ancienne flotte vers la nouvelle flotte.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/deployment-guardrails-blue-green-linear.png)


Une fois que SageMaker AI a provisionné la nouvelle flotte, la première partie de la flotte verte s’active et reçoit le trafic. SageMaker AI désactive la partie de même taille de la flotte bleue et la période de préparation commence. Si des alarmes se déclenchent, tout le trafic du point de terminaison est restauré vers la flotte bleue. Si la période de préparation prend fin, l'étape suivante commence. Une autre partie de la flotte verte s'active et reçoit du trafic, une partie de la flotte bleue se désactive et une autre période de préparation commence. Le même processus se répète jusqu'à ce que la flotte bleue soit complètement désactivée et que la flotte verte soit pleinement active et reçoive tout le trafic. Si une alarme se déclenche à tout moment, SageMaker AI met fin au processus de déplacement et l’intégralité du trafic est restauré vers la flotte bleue.

## Prérequis
<a name="deployment-guardrails-blue-green-linear-prereqs"></a>

Avant de configurer un déploiement avec un déplacement de trafic linéaire, vous devez créer des alarmes CloudWatch pour contrôler les métriques à partir de votre point de terminaison. Les alarmes sont actives pendant la période de préparation, et si une alarme se déclenche, tout le trafic du point de terminaison est restaurée vers la flotte bleue. Pour savoir comment configurer des alarmes CloudWatch sur un point de terminaison, consultez la page des prérequis [Configuration et surveillance de la restauration automatique](deployment-guardrails-configuration.md). Pour en savoir plus sur les alarmes CloudWatch, consultez [Utilisation des alarmes Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) dans le *Guide de l’utilisateur Amazon CloudWatch*.

## Configurer le changement de trafic linéaire
<a name="deployment-guardrails-blue-green-linear-configure"></a>

Une fois que vous êtes prêt pour le déploiement et que vous avez configuré les alarmes CloudWatch pour le point de terminaison, vous pouvez utiliser l’API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) Amazon SageMaker AI ou la commande [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) dans l’AWS CLI pour lancer le déploiement.

**Topics**
+ [Comment mettre à jour un point de terminaison (API)](#deployment-guardrails-blue-green-linear-configure-api-update)
+ [Comment mettre à jour un point de terminaison avec une politique de mise à jour bleue/verte (API) existante](#deployment-guardrails-blue-green-linear-configure-api-existing)
+ [Comment mettre à jour un point de terminaison (CLI)](#deployment-guardrails-blue-green-canary-configure-cli-update)

### Comment mettre à jour un point de terminaison (API)
<a name="deployment-guardrails-blue-green-linear-configure-api-update"></a>

L'exemple suivant de l'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) montre comment vous pouvez mettre à jour un point de terminaison avec un déplacement de trafic linéaire.

```
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>"
                }
            ]
        }
    }
)
```

Pour configurer l'option de déplacement de trafic linéaire, procédez comme suit :
+ Pour `EndpointName`, utilisez le nom du point de terminaison existant que vous souhaitez mettre à jour.
+ Pour `EndpointConfigName`, utilisez le nom de la configuration de point de terminaison que vous souhaitez utiliser.
+ Sous `DeploymentConfig` et `BlueGreenUpdatePolicy`, dans `TrafficRoutingConfiguration`, définissez le paramètre `Type` sur `LINEAR`. Cela permet de spécifier que le déploiement utilise le déplacement de trafic linéaire.
+ Dans le champ `LinearStepSize`, vous pouvez changer la taille des étapes en modifiant les paramètres `Type` et `Value`. Pour `Type`, utilisez `CAPACITY_PERCENT`, c'est-à-dire le pourcentage de votre flotte verte que vous souhaitez utiliser comme taille d'étape, puis définissez `Value` sur `20`. Dans cet exemple, vous activez 20 % de la capacité de la flotte verte pour chaque étape de déplacement de trafic. Notez que lors de la personnalisation de la taille de votre étape linéaire, vous ne devez utiliser que des étapes qui représentent 10 à 50 % de la capacité de la flotte verte.
+ Pour `WaitIntervalInSeconds`, utilisez `300`. Le paramètre indique à SageMaker AI d’attendre la durée spécifiée (en secondes) entre chaque déplacement de trafic. Cet intervalle est la durée de la période de préparation entre chaque étape linéaire. Dans l’exemple précédent, SageMaker AI attend 5 minutes entre chaque déplacement de trafic.
+ Pour `TerminationWaitInSeconds`, utilisez `300`. Ce paramètre indique à SageMaker AI d’attendre le laps de temps spécifié (en secondes) une fois que la flotte verte est entièrement active avant de résilier les instances de la flotte bleue. Dans cet exemple, SageMaker AI attend 5 minutes après la dernière période de préparation avant de résilier la flotte bleue.
+ Pour `MaximumExecutionTimeoutInSeconds`, utilisez `3600`. Ce paramètre définit la durée maximale pendant laquelle le déploiement peut s'exécuter avant qu'il n'expire. Dans l'exemple précédent, votre déploiement doit être exécuté en moins d'une heure.
+ Dans `AutoRollbackConfiguration`, dans le champ `Alarms`, vous pouvez ajouter vos alarmes CloudWatch par nom. Créez un `AlarmName: <your-cw-alarm>` pour chaque alarme que vous souhaitez utiliser.

### Comment mettre à jour un point de terminaison avec une politique de mise à jour bleue/verte (API) existante
<a name="deployment-guardrails-blue-green-linear-configure-api-existing"></a>

Lorsque vous utilisez l'API [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) pour créer un point de terminaison, vous pouvez éventuellement spécifier une configuration de déploiement à réutiliser pour les futures mises à jour du point de terminaison. Vous pouvez utiliser les mêmes options `DeploymentConfig` que l'exemple d'API UpdateEndpoint précédent. Il n'y a aucun changement dans le comportement de l'API CreateEndpoint. La spécification de la configuration de déploiement n'effectue pas automatiquement une mise à jour bleu/vert sur votre point de terminaison.

La possibilité d'utiliser une configuration de déploiement précédente se produit lorsque vous utilisez l'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) pour mettre à jour votre point de terminaison. Lors de la mise à jour de votre point de terminaison, vous pouvez utiliser l'option `RetainDeploymentConfig` pour conserver la configuration de déploiement que vous avez spécifiée lors de la création du point de terminaison.

Lorsque vous appelez l'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html), définissez `RetainDeploymentConfig` sur `True` pour conserver les options `DeploymentConfig` de votre configuration de point de terminaison d'origine.

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

### Comment mettre à jour un point de terminaison (CLI)
<a name="deployment-guardrails-blue-green-canary-configure-cli-update"></a>

Si vous utilisez la AWS CLI, l'exemple suivant montre comment démarrer un déploiement linéaire bleu/vert à l'aide de la commande [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>"}]}'
```

Pour configurer l'option de déplacement de trafic linéaire, procédez comme suit :
+ Pour `endpoint-name`, utilisez le nom du point de terminaison que vous souhaitez mettre à jour.
+ Pour `endpoint-config-name`, utilisez le nom de la configuration de point de terminaison que vous souhaitez utiliser.
+ Pour `deployment-config`, utilisez un objet JSON [BlueGreenUpdatePolicy](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_BlueGreenUpdatePolicy.html).

**Note**  
Si vous préférez enregistrer votre objet JSON dans un fichier, consultez [Générer un squelette AWS CLI et des paramètres d’entrée](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-skeleton.html) dans le *Guide de l’utilisateur AWS CLI*.