

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.

# Barrières de protection de déploiement pour la mise à jour des modèles en production
<a name="deployment-guardrails"></a>

Les barrières de protection de déploiement sont un ensemble d’options de déploiement de modèle dans Amazon SageMaker AI Inference pour mettre à jour vos modèles de machine learning en production. À l'aide des options de déploiement entièrement gérées, vous pouvez contrôler le passage du modèle actuel en production à un nouveau. Les modes de déplacement du trafic dans les déploiements bleus/verts, tels que canary et linéaire, vous donnent un contrôle précis sur le processus de déplacement du trafic de votre modèle actuel vers le nouveau au cours de la mise à jour. Il existe également des sauvegardes intégrées telles que les restaurations automatiques qui vous aident à détecter les problèmes rapidement et à prendre automatiquement des mesures correctives avant que ces problèmes n'affectent considérablement la production.

Les barrières de protection de déploiement offrent les avantages suivants :
+ **Sécurité de déploiement lors de la mise à jour des environnements de production.** Une mise à jour régressive d'un environnement de production peut entraîner des temps d'arrêt imprévus et un impact commercial, tels qu'une latence accrue du modèle et des taux d'erreur élevés. Les barrières de protection de déploiement vous aident à atténuer ces risques en fournissant les bonnes pratiques et des barrières de protection de sécurité opérationnelle intégrées.
+ **Déploiement entièrement géré.** SageMaker AI prend en charge la configuration et l’orchestration de ces déploiements, et les intègre aux mécanismes de mise à jour des points de terminaison. Vous n'avez pas besoin de créer et de maintenir des mécanismes d'orchestration, de surveillance ou de restauration. Vous pouvez tirer parti de SageMaker AI pour configurer et orchestrer ces déploiements, et vous concentrer sur l’exploitation du ML pour vos applications.
+ **Visibilité.** Vous pouvez suivre la progression de votre déploiement via l'API [DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html) ou via Amazon CloudWatch Events (pour les [points de terminaison pris en charge](deployment-guardrails-exclusions.md)). Pour en savoir plus sur les événements dans SageMaker AI, consultez la section Changement d’état de déploiement de point de terminaison dans [Événements qu'Amazon SageMaker AI envoie à Amazon EventBridge](automating-sagemaker-with-eventbridge.md). Notez que si votre point de terminaison utilise l'une des fonctions de la page [Exclusions](deployment-guardrails-exclusions.md), vous ne pouvez pas utiliser CloudWatch Events.

**Note**  
Les barrières de protection de déploiement ne s'appliquent qu'aux types de points de terminaison [Inférence asynchrone](async-inference.md) et [Inférence en temps réel](realtime-endpoints.md).

## Comment démarrer
<a name="deployment-guardrails-get-started"></a>

Nous prenons en charge deux types de déploiements pour mettre à jour les modèles en production : les déploiements bleus/verts et les déploiements propagés.
+ [Déploiements bleu/vert](deployment-guardrails-blue-green.md) : vous pouvez déplacer le trafic de votre ancienne flotte (la flotte bleue) vers une nouvelle flotte (flotte verte) avec les mises à jour. Les déploiements bleus/verts offrent [plusieurs modes de déplacement du trafic](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green.html). Un mode de transfert de trafic est une configuration qui spécifie comment SageMaker AI achemine le trafic des points de terminaison vers une nouvelle flotte contenant vos mises à jour. Les modes de transfert de trafic suivants vous offrent différents niveaux de contrôle sur le processus de mise à jour des points de terminaison :
  + [Utilisation du déplacement de trafic tout à la fois](deployment-guardrails-blue-green-all-at-once.md) déplace tout le trafic de vos points de terminaison de la flotte bleue vers la flotte verte. Une fois que le trafic passe à la flotte verte, vos alarmes Amazon CloudWatch préspécifiées commencent à contrôler la flotte verte pendant une durée définie (la *période de préparation*). Si aucune alarme ne se déclenche pendant la période de préparation, alors SageMaker AI résilie la flotte bleue.
  + [Utilisation du déplacement de trafic canary](deployment-guardrails-blue-green-canary.md) déplace une petite partie de votre trafic (un *canary*) vers la flotte verte et la surveille pendant une période de préparation. Si le test canary réussit sur la flotte verte, alors SageMaker AI déplace le reste du trafic de la flotte bleue vers la flotte verte avant de résilier la flotte bleue.
  + [Utilisation du déplacement de trafic linéaire](deployment-guardrails-blue-green-linear.md) déplace encore plus de personnalisation sur le nombre d'étapes de déplacement du trafic et le pourcentage de trafic à déplacer pour chaque étape. Alors que le déplacement Canary vous permet de déplacer le trafic en deux étapes, le déplacement linéaire étend cela à des étapes *n* espacées linéairement.
+ [Utilisation des déploiements propagés](deployment-guardrails-rolling.md) : vous pouvez mettre à jour votre point de terminaison au fur et à mesure que SageMaker AI provisionne progressivement de la capacité et déplace le trafic vers une nouvelle flotte par étapes correspondant à la taille de lot que vous spécifiez. Les instances de la nouvelle flotte sont mises à jour avec la nouvelle configuration de déploiement, et si aucune alarme CloudWatch ne se déclenche pendant la période de préparation, SageMaker AI nettoie les instances de l’ancienne flotte. Cette option vous permet de contrôler précisément le nombre d'instances ou le pourcentage de capacité déplacé à chaque étape.

Vous pouvez créer et gérer votre déploiement via les commandes AWS Command Line Interface et d'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) et [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker. Consultez chacune des pages de déploiement pour plus de détails sur la façon de configurer votre déploiement. Notez que si votre point de terminaison utilise l'une des fonctions répertoriées sur la page [Exclusions](deployment-guardrails-exclusions.md), vous ne pouvez pas utiliser de barrière de protection de déploiement.

Pour suivre des exemples guidés qui montrent comment utiliser les barrières de protection de déploiement, consultez nos exemples de [blocs-notes Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) pour les modes de déplacement de trafic Canary et linéaire.

# Configuration et surveillance de la restauration automatique
<a name="deployment-guardrails-configuration"></a>

Les CloudWatch alarmes Amazon sont indispensables pour utiliser les périodes de pause dans les garde-corps de déploiement. Vous ne pouvez utiliser la fonctionnalité de restauration automatique dans les garde-fous de déploiement que si vous configurez des CloudWatch alarmes capables de surveiller un terminal. Si l'une de vos alarmes se déclenche pendant la période de surveillance spécifiée, l' SageMaker IA initie une restauration complète de l'ancien terminal afin de protéger votre application. Si aucune CloudWatch alarme n'est configurée pour surveiller votre terminal, la fonctionnalité de restauration automatique ne fonctionne pas pendant votre déploiement.

Pour en savoir plus sur Amazon CloudWatch, consultez [Qu'est-ce qu'Amazon CloudWatch ?](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

**Note**  
Assurez-vous que votre rôle d'exécution IAM est autorisé à effectuer l'action `cloudwatch:DescribeAlarms` sur les alarmes de restauration automatique que vous spécifiez.

## Exemples d'alarme
<a name="deployment-guardrails-configuration-alarm-examples"></a>

Pour vous aider à démarrer, nous fournissons les exemples suivants pour démontrer les capacités des CloudWatch alarmes. En plus d'utiliser ou de modifier les exemples suivants, vous pouvez créer vos propres alarmes et configurer les alarmes pour contrôler diverses métriques sur les flottes spécifiées pendant une certaine période. Pour voir d'autres mesures et dimensions de l' SageMaker IA que vous pouvez ajouter à vos alarmes, consultez[Métriques Amazon SageMaker AI sur Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [

### contrôler les erreurs d'appel sur les anciennes et nouvelles flottes
](#deployment-guardrails-configuration-alarm-examples-errors-both)
+ [

### Contrôler la latence des modèles sur la nouvelle flotte
](#deployment-guardrails-configuration-alarm-examples-latency-new)

### contrôler les erreurs d'appel sur les anciennes et nouvelles flottes
<a name="deployment-guardrails-configuration-alarm-examples-errors-both"></a>

L' CloudWatch alarme suivante surveille le taux d'erreur moyen d'un terminal. Vous pouvez utiliser cette alarme avec n'importe quel type de changement de trafic de barrière de protection de déploiement pour fournir une surveillance globale à la fois sur l'ancienne et la nouvelle flotte. Si l'alarme se déclenche, l' SageMaker IA initie un retour à l'ancienne flotte.

Les erreurs d'appel provenant à la fois de l'ancienne flotte et de la nouvelle flotte contribuent au taux d'erreur moyen. Si le taux d'erreur moyen dépasse le seuil spécifié, l'alarme se déclenche. Cet exemple particulier surveille les erreurs 4xx (erreurs client) sur les anciennes et nouvelles flottes pendant la durée d'un déploiement. Vous pouvez également contrôler les erreurs 5xx (erreurs de serveur) à l'aide de la métrique `Invocation5XXErrors`.

**Note**  
Pour ce type d'alarme, si votre ancienne flotte déclenche l'alarme pendant le déploiement, l' SageMaker IA met fin à votre déploiement. Par conséquent, si votre flotte de production actuelle provoque déjà des erreurs, envisagez d'utiliser ou de modifier l'un des exemples suivants qui surveille uniquement les erreurs de la nouvelle flotte.

```
#Applied deployment type: all types
{
    "AlarmName": "EndToEndDeploymentHighErrorRateAlarm",
    "AlarmDescription": "Monitors the error rate of 4xx errors",
    "MetricName": "Invocation4XXErrors",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        }
    ],
    "Period": 600,
    "EvaluationPeriods": 2,
    "Threshold": 1,
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

Dans l'exemple précédent, notez les valeurs dans les champs suivants :
+ Pour `AlarmName` et `AlarmDescription`, saisissez un nom et une description de votre choix pour l'alarme.
+ Pour `MetricName`, utilisez la valeur `Invocation4XXErrors` afin de contrôler les erreurs 4xx sur le point de terminaison
+ Pour `Namespace`, utilisez la valeur `AWS/SageMaker`. Vous pouvez également spécifier votre propre métrique personnalisée, le cas échéant.
+ Pour `Statistic`, utilisez `Average`. Cela signifie que l'alarme prend le taux d'erreur moyen sur les périodes d'évaluation pour calculer si ce taux a dépassé le seuil.
+ Pour la dimension `EndpointName`, utilisez le nom du point de terminaison que vous mettez à jour comme valeur.
+ Pour la dimension `VariantName`, utilisez la valeur `AllTraffic` pour spécifier tout le trafic des points de terminaison.
+ Pour `Period`, utilisez `600`. Cela définit les périodes d'évaluation de l'alarme à 10 minutes.
+ Pour `EvaluationPeriods`, utilisez `2`. Cette valeur indique à l'alarme de prendre en compte les deux périodes d'évaluation les plus récentes lors de la détermination de l'état de l'alarme.

### Contrôler la latence des modèles sur la nouvelle flotte
<a name="deployment-guardrails-configuration-alarm-examples-latency-new"></a>

L'exemple CloudWatch d'alarme suivant surveille la latence du nouveau modèle de flotte pendant votre déploiement. Vous pouvez utiliser cette alarme pour contrôler uniquement la nouvelle flotte et exclure l'ancienne flotte. L'alarme dure pendant tout le déploiement. Cet exemple vous fournit une end-to-end surveillance complète de la nouvelle flotte et initie un retour à l'ancienne flotte si la nouvelle flotte rencontre des problèmes de temps de réponse.

CloudWatch publie les métriques avec la dimension une `EndpointConfigName:{New-Ep-Config}` fois que le nouveau parc commence à recevoir du trafic, et ces métriques sont valables même une fois le déploiement terminé.

Vous pouvez utiliser l'exemple d'alarme suivant avec n'importe quel type de déploiement.

```
#Applied deployment type: all types
{
    "AlarmName": "NewEndpointConfigVersionHighModelLatencyAlarm",
    "AlarmDescription": "Monitors the model latency on new fleet",
    "MetricName": "ModelLatency",
    "Namespace": "AWS/SageMaker",
    "Statistic": "Average",
    "Dimensions": [
        {
            "Name": "EndpointName",
            "Value": <your-endpoint-name>
        },
        {
            "Name": "VariantName",
            "Value": "AllTraffic"
        },
        {
            "Name": "EndpointConfigName",
            "Value": <your-config-name>
    ],
    "Period": 300,
    "EvaluationPeriods": 2,
    "Threshold": 100000, # 100ms
    "ComparisonOperator": "GreaterThanThreshold",
    "TreatMissingData": "notBreaching"
}
```

Dans l'exemple précédent, notez les valeurs dans les champs suivants :
+ Pour `MetricName`, utilisez la valeur `ModelLatency` afin de contrôler le temps de réponse du modèle.
+ Pour `Namespace`, utilisez la valeur `AWS/SageMaker`. Vous pouvez également spécifier votre propre métrique personnalisée, le cas échéant.
+ Pour la dimension `EndpointName`, utilisez le nom du point de terminaison que vous mettez à jour comme valeur.
+ Pour la dimension `VariantName`, utilisez la valeur `AllTraffic` afin despécifier tout le trafic des points de terminaison.
+ Pour la dimension `EndpointConfigName`, la valeur doit faire référence au nom de configuration de votre point de terminaison nouveau ou mis à jour.

**Note**  
Si vous souhaitez contrôler votre ancienne flotte au lieu de la nouvelle flotte, vous pouvez modifier la dimension `EndpointConfigName` afin de spécifier le nom de la configuration de votre ancienne flotte.

# Déploiements bleu/vert
<a name="deployment-guardrails-blue-green"></a>

Lorsque vous mettez à jour votre point de terminaison, Amazon SageMaker AI utilise automatiquement un déploiement bleu/vert pour maximiser la disponibilité de vos points de terminaison. Dans un déploiement bleu/vert, SageMaker AI provisionne une nouvelle flotte avec les mises à jour (la flotte verte). Ensuite, SageMaker AI déplace le trafic de l’ancienne flotte (la flotte bleue) vers la flotte verte. Une fois que la flotte verte fonctionne correctement pendant une période d’évaluation définie (appelée période de préparation), SageMaker AI résilie la flotte bleue. Avec les capacités supplémentaires des déploiements bleu/vert, vous pouvez utiliser les modes de transfert de trafic et la surveillance de la restauration automatique pour protéger votre point de terminaison d'un impact significatif sur la production.

La liste suivante décrit les principales caractéristiques des déploiements bleu/vert dans SageMaker AI :
+ **Modes de déplacement de trafic.** Les modes de déplacement de trafic pour les barrières de protection de déploiement vous permettent de contrôler le volume de trafic et le nombre d'étapes de déplacement de trafic entre la flotte bleue et la flotte verte. Cette capacité vous donne la possibilité d'évaluer progressivement les performances de la flotte verte sans vous engager pleinement dans un déplacement de l'intégralité du trafic.
+ **Période de préparation.** La période de préparation est une durée définie pour contrôler la flotte verte avant de passer à l'étape de déploiement suivante. Si l'une des alarmes prédéfinies se déclenche au cours d'une période de préparation, tout le trafic des points de terminaison est restauré sur la flotte bleue. La période de préparation vous aide à renforcer la confiance dans votre mise à jour avant de rendre le déplacement de trafic permanent.
+ **Restaurations automatiques.** Vous pouvez spécifier des alarmes Amazon CloudWatch que SageMaker AI utilise pour surveiller la flotte verte. Si un problème lié au code mis à jour déclenche l’une des alarmes, SageMaker AI lance une restauration automatique vers la flotte bleue afin de maintenir la disponibilité, minimisant ainsi les risques.

## Modes de déplacement de trafic
<a name="deployment-guardrails-blue-green-traffic-modes"></a>

Les différents modes de déplacement de trafic dans les déploiements bleu/vert vous offrent un contrôle plus précis du déplacement de trafic entre la flotte bleue et la flotte verte. Les modes de déplacement de trafic disponibles pour les déploiements bleu/vert sont tout à la fois, Canary et linéaire. Le tableau suivant compare les différentes options.

**Important**  
Pour les déploiements bleu/vert qui impliquent des périodes de déplacement de trafic ou de préparation en plusieurs étapes, vous êtes facturé pour les deux flottes pour la durée de la mise à jour, quel que soit le trafic envoyé vers la flotte. Cela contraste avec les déploiements bleu/vert avec un déplacement de trafic tout à la fois et aucune période de préparation, pour lesquels vous n'êtes facturé que pour une flotte au cours de la mise à jour.


| Nom | Définition | Avantages | Inconvénients | Recommandation | 
| --- | --- | --- | --- | --- | 
| Tout à la fois | Déplace tout le trafic vers la nouvelle flotte en une seule étape. | Minimise la durée globale de la mise à jour. | Les mises à jour régressives affectent l'intégralité du trafic. | Utilisez cette option pour réduire le temps et le coût de la mise à jour. | 
| Canary | Les déplacements de trafic se déroulent en deux étapes. La première étape (Canary) déplace une petite partie du trafic, suivie de la deuxième étape, qui déplace le reste du trafic. | Limite le rayon d'explosion des mises à jour régressives uniquement à la flotte Canary. | Les deux flottes sont opérationnelles en parallèle pour l'ensemble du déploiement. | Utilisez cette option pour trouver un équilibre entre la minimisation du rayon d'explosion des mises à jour régressives et la minimisation du temps pendant lequel deux flottes sont opérationnelles. | 
| Linéaire | Une partie fixe du trafic se déplace selon un nombre prédéfini d'étapes équidistantes. | Minimise le risque de mises à jour régressives en déplaçant le trafic sur plusieurs étapes. | La durée et le coût de la mise à jour sont proportionnels au nombre d'étapes. | Utilisez cette option pour minimiser les risques en répartissant le déploiement sur plusieurs étapes. | 

## Démarrer
<a name="deployment-guardrails-blue-green-get-started"></a>

Une fois que vous avez spécifié la configuration de déploiement souhaitée, SageMaker AI gère le provisionnement des nouvelles instances, la résiliation des anciennes instances et le transfert du trafic pour vous. Vous pouvez créer et gérer votre déploiement via les commandes AWS Command Line Interface et d'API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) et [CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker existantes. Notez que si votre point de terminaison utilise l'une des fonctions répertoriées sur la page [Exclusions](deployment-guardrails-exclusions.md), vous ne pouvez pas utiliser de barrière de protection de déploiement. Consultez chacune des pages de déploiement pour plus de détails sur la façon de configurer votre déploiement :
+ [Mise à jour bleu/vert avec déplacement de trafic All At once (Tout à la fois)](deployment-guardrails-blue-green-all-at-once.md)
+ [Mise à jour bleu/vert avec déplacement de trafic Canary](deployment-guardrails-blue-green-canary.md)
+ [Mise à jour bleu/vert avec déplacement de trafic linéaire](deployment-guardrails-blue-green-linear.md)

Pour suivre des exemples guidés qui montrent comment utiliser les garde-corps de déploiement, consultez nos exemples de [blocs-notes Jupyter](https://github.com/aws/amazon-sagemaker-examples/tree/master/sagemaker-inference-deployment-guardrails) pour les modes de changement de trafic Canary et linéaire.

# Utilisation du déplacement de trafic tout à la fois
<a name="deployment-guardrails-blue-green-all-at-once"></a>

Avec le déplacement tout à la fois du trafic, vous pouvez rapidement déployer une mise à jour du point de terminaison à l'aide des barrières de protection de sécurité d'un déploiement bleu/vert. Vous pouvez utiliser cette option de transfert de trafic pour minimiser la durée de mise à jour tout en profitant des garanties de disponibilité des déploiements bleu/vert. La fonction de période de préparation vous aide à contrôler les performances et les fonctionnalités de vos nouvelles instances avant de mettre fin à vos anciennes instances, garantissant que votre nouvelle flotte est pleinement opérationnelle.

Le diagramme suivant montre comment le déplacement de trafic gère simultanément les anciennes et les nouvelles flottes.

![\[Un déplacement réussi de l'intégralité du trafic de l'ancienne flotte vers la nouvelle flotte.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/deployment-guardrails-blue-green-all-at-once.png)


Lorsque vous utilisez le déplacement de trafic tout à la fois, SageMaker AI achemine l’intégralité du trafic vers la nouvelle flotte (flotte verte). Une fois que la flotte verte commence à recevoir du trafic, la période de préparation commence. La période de préparation est une durée définie pendant laquelle des alarmes Amazon CloudWatch prédéfinies surveillent les performances de la flotte verte. Si aucune alarme ne se déclenche pendant la période de préparation, SageMaker AI résilie l’ancienne flotte (flotte bleue). Si des alarmes se déclenchent pendant la période de préparation, une restauration automatique se déclenche et l'intégralité du trafic est restauré sur la flotte bleue.

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

Avant de configurer un déploiement avec un déplacement de trafic All at once (Tout à la fois), vous devez créer des alarmes Amazon CloudWatch pour contrôler les métriques à partir de votre point de terminaison. Si l'une des alarmes se déclenche pendant la période de préparation, le trafic est restauré sur votre 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 déplacement de trafic All in once (Tout à la fois)
<a name="deployment-guardrails-blue-green-all-at-once-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) SageMaker AI ou la commande [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) dans l’AWS Command Line Interface pour lancer le déploiement.

**Topics**
+ [

### Comment mettre à jour un point de terminaison (API)
](#deployment-guardrails-blue-green-all-at-once-configure-api-update)
+ [

### Comment mettre à jour un point de terminaison avec une politique de mise à jour bleue/verte (API) existante
](#deployment-guardrails-blue-green-all-at-once-configure-api-existing)
+ [

### Comment mettre à jour un point de terminaison (CLI)
](#deployment-guardrails-blue-green-all-at-once-configure-cli-update)

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

L'exemple suivant montre comment vous pouvez mettre à jour votre point de terminaison avec un déplacement de trafic All at once (Tout à la fois) à l'aide de [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) dans 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>"
                },
            ]
        }
    }
)
```

Pour configurer l'option de déplacement de trafic tout à la fois, 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 `ALL_AT_ONCE`. Il est ainsi spécifié que le déploiement utilise le mode de déplacement de trafic All at once (Tout à la fois).
+ Pour `TerminationWaitInSeconds`, utilisez `600`. 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 10 minutes après la dernière période de préparation avant de résilier la flotte bleue.
+ Pour `MaximumExecutionTimeoutInSeconds`, utilisez `1800`. 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 de 30 minutes.
+ 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-all-at-once-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-all-at-once-configure-cli-update"></a>

Si vous utilisez la AWS CLI, l'exemple suivant montre comment démarrer un déploiement bleu/vert tout à la fois à 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": "ALL_AT_ONCE"},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Pour configurer l'option de déplacement de trafic tout à la fois, 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*.

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

Avec le déplacement de trafic Canary, vous pouvez tester une partie de votre trafic de point de terminaison sur la nouvelle flotte tandis que l'ancienne flotte dessert le reste du trafic. Cette étape de test est une barrière de protection de sécurité qui vérifie le bon fonctionnement de la nouvelle flotte avant de déplacer tout votre trafic vers la nouvelle flotte. Vous bénéficiez toujours des avantages d'un déploiement bleu/vert, et la fonction Canary ajoutée vous permet de vous assurer que votre nouvelle flotte (verte) peut servir l'inférence avant de la laisser gérer l'intégralité du trafic.

La partie de votre flotte verte qui s'allume pour recevoir du trafic s'appelle le Canary, et vous pouvez choisir la taille de ce Canary. Notez que la taille des Canary doit être inférieure ou égale à 50 % de la capacité de la nouvelle flotte. Une fois la période de préparation terminée et si aucune alarme Amazon CloudWatch prédéfinie ne se déclenche, le reste du trafic est déplacé de l'ancienne flotte (bleue) à la flotte verte. Le déplacement de trafic Canary vous offre plus de sécurité pendant votre déploiement, car tout problème avec le modèle mis à jour n'affecte que le Canary.

Le diagramme suivant montre comment le déplacement de trafic Canary gère la répartition du trafic entre les flottes bleue et verte.

![\[Un déplacement réussi en deux étapes de l'intégralité du trafic de l'ancienne flotte vers la nouvelle flotte.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/deployment-guardrails-blue-green-canary.png)


Une fois que SageMaker AI a provisionné la flotte verte, SageMaker AI achemine une partie du trafic entrant (par exemple, 25 %) vers le canary. Puis commence la période de préparation, pendant laquelle vos alarmes CloudWatch surveillent les performances de la flotte verte. Pendant ce temps, la flotte bleue et la flotte verte sont partiellement actives et reçoivent du trafic. Si l’une des alarmes se déclenche pendant la période de préparation, SageMaker AI lance une annulation et tout le trafic retourne à la flotte bleue. Si aucune des alarmes ne se déclenche, alors tout le trafic se déplace vers la flotte verte et s'ensuit une période de préparation finale. Si la période de préparation finale se termine sans déclencher aucune alarme, alors la flotte verte transmet tout le trafic et SageMaker AI résilie la flotte bleue.

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

Avant de configurer un déploiement avec un déplacement de trafic Canary, vous devez créer des alarmes Amazon 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 Canary
<a name="deployment-guardrails-blue-green-canary-configure"></a>

Une fois que vous êtes prêt et que vous avez configuré les alarmes Amazon CloudWatch pour votre 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-canary-configure-api-update)
+ [

### Comment mettre à jour un point de terminaison avec une politique de mise à jour bleue/verte (API) existante
](#deployment-guardrails-blue-green-canary-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-canary-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 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>"
                }
            ]
        }
    }
)
```

Pour configurer l'option de déplacement de trafic Canary, 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 `CANARY`. Cela permet de spécifier que le déploiement utilise le déplacement de trafic Canary.
+ Dans le champ `CanarySize`, vous pouvez changer la taille du Canary 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 Canary, puis définissez `Value` sur `30`. Dans cet exemple, vous utilisez 30 % de la capacité de la flotte verte en tant que Canary. Notez que la taille des Canary doit être égale ou inférieure à 50 % de la capacité de la flotte verte.
+ Pour `WaitIntervalInSeconds`, utilisez `600`. Le paramètre indique à SageMaker AI d’attendre la durée spécifiée (en secondes) entre chaque déplacement d’intervalle. Cet intervalle est la durée de la période de préparation des Canary. Dans l’exemple précédent, SageMaker AI attend 10 minutes après le déplacement canary, puis termine le deuxième et dernier déplacement de trafic.
+ Pour `TerminationWaitInSeconds`, utilisez `600`. 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 10 minutes après la dernière période de préparation avant de résilier la flotte bleue.
+ Pour `MaximumExecutionTimeoutInSeconds`, utilisez `1800`. 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 de 30 minutes.
+ 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-canary-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 Canary 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": "CANARY",
    "CanarySize": {"Type": "CAPACITY_PERCENT", "Value": 30}, "WaitIntervalInSeconds": 600},
    "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800},
    "AutoRollbackConfiguration": {"Alarms": [{"AlarmName": "<your-alarm>"}]}'
```

Pour configurer l'option de déplacement de trafic Canary, 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*.

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

# Utilisation des déploiements propagés
<a name="deployment-guardrails-rolling"></a>

Lorsque vous mettez à jour votre point de terminaison, vous pouvez spécifier un déploiement propagé afin de déplacer progressivement le trafic de votre ancienne flotte vers une nouvelle flotte. Vous pouvez contrôler la taille des étapes de déplacement du trafic, ainsi que définir une période d'évaluation pour surveiller les nouvelles instances afin de détecter les problèmes avant de résilier les instances de l'ancienne flotte. Avec les déploiements propagés, les instances de l'ancienne flotte sont nettoyées après chaque déplacement de trafic vers la nouvelle flotte, ce qui réduit le nombre d'instances supplémentaires nécessaires pour mettre à jour votre point de terminaison. Cela est particulièrement utile pour les instances accélérées très demandées.

Les déploiements propagés remplacent progressivement le déploiement précédent de la version de votre modèle par la nouvelle version en mettant à jour votre point de terminaison dans des tailles de lots configurables. Le comportement de transfert du trafic des déploiements progressifs est similaire au [mode de transfert linéaire du trafic](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-blue-green-linear.html) dans blue/green les déploiements, mais les déploiements progressifs vous permettent de réduire les besoins en capacité par rapport aux déploiements. blue/green Grâce aux déploiements propagés, moins d'instances sont actives à la fois et vous pouvez contrôler de manière plus précise le nombre d'instances que vous souhaitez mettre à jour dans la nouvelle flotte. Vous devriez envisager d'utiliser un déploiement progressif plutôt qu'un blue/green déploiement si vous avez de grands modèles ou un point de terminaison de grande taille comportant de nombreuses instances.

La liste suivante décrit les principales fonctionnalités des déploiements progressifs dans Amazon SageMaker AI :
+ **Période de préparation.**La période de préparation est une durée définie pour contrôler la nouvelle flotte avant de passer à la phase de déploiement suivante. Si l'une des alarmes prédéfinies se déclenche au cours d'une période de préparation, tout le trafic des points de terminaison est restauré sur l'ancienne flotte. La période de préparation vous aide à renforcer la confiance dans votre mise à jour avant de rendre le déplacement de trafic permanent.
+ **Taille du lot propagé.** Vous pouvez contrôler de manière précise la taille de chaque lot pour le déplacement du trafic, ou le nombre d'instances que vous souhaitez mettre à jour dans chaque lot. Ce nombre peut varier de 5 à 50 % de la taille de votre flotte. Vous pouvez spécifier la taille du lot sous forme de nombre d'instances ou de pourcentage global de votre flotte.
+ **Restaurations automatiques.**Vous pouvez spécifier les CloudWatch alarmes Amazon que l' SageMaker IA utilise pour surveiller le nouveau parc. Si un problème lié au code mis à jour déclenche l'une des alarmes, l' SageMaker IA initie un retour automatique à l'ancienne flotte afin de maintenir la disponibilité, minimisant ainsi les risques.

**Note**  
Si votre point de terminaison utilise l'une des fonctionnalités répertoriées sur la page [Exclusions](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html), vous ne pouvez pas utiliser de déploiement propagé.

## Comment ça marche
<a name="deployment-guardrails-rolling-how-it-works"></a>

Lors d'un déploiement continu, l' SageMaker IA fournit l'infrastructure nécessaire pour transférer le trafic de l'ancienne flotte vers la nouvelle flotte sans avoir à fournir toutes les nouvelles instances en même temps. SageMaker L'IA utilise les étapes suivantes pour transférer le trafic :

1. SageMaker AI approvisionne le premier lot d'instances de la nouvelle flotte.

1. Une partie du trafic est transférée des anciennes instances vers le premier lot de nouvelles instances.

1. Après la période de cuisson, si aucune CloudWatch alarme Amazon n'est déclenchée, l' SageMaker IA nettoie un lot d'anciennes instances.

1. SageMaker L'IA continue de provisionner, de déplacer et de nettoyer les instances par lots jusqu'à ce que le déploiement soit terminé.

Si une alarme se déclenche pendant l'une des périodes de préparation, le trafic est restauré vers l'ancienne flotte dans des lots d'une taille que vous spécifiez. Vous pouvez également spécifier le déploiement propagé pour rediriger 100 % du trafic vers l'ancienne flotte si une alarme se déclenche.

Le schéma suivant montre la progression d'un déploiement propagé réussi, comme décrit dans les étapes précédentes.

![\[Étapes d’un déplacement réussi du trafic de l’ancienne flotte vers la nouvelle lors d’un déploiement propagé.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/deployment-guardrails-rolling-diagram.png)


Pour créer un déploiement propagé, il vous suffit de spécifier la configuration de déploiement souhaitée. SageMaker L'IA gère ensuite le provisionnement de nouvelles instances, la résiliation des anciennes instances et le transfert du trafic pour vous. Vous pouvez créer et gérer votre déploiement par le biais de l'[CreateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) SageMaker API [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)et des AWS Command Line Interface commandes existantes.

## Conditions préalables
<a name="deployment-guardrails-prereqs"></a>

Avant de configurer un déploiement continu, vous devez créer des CloudWatch alarmes Amazon pour surveiller les métriques depuis votre terminal. Si l'une des alarmes se déclenche pendant la période de préparation, le trafic commence alors à se restaurer sur votre ancienne flotte. Pour savoir comment configurer des CloudWatch alarmes sur un terminal, consultez la page des conditions préalables : [Configuration et surveillance de la restauration automatique](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-configuration.html). Pour en savoir plus sur les CloudWatch alarmes, consultez la section [Utilisation des CloudWatch alarmes Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) dans le *guide de CloudWatch l'utilisateur Amazon*.

Consultez également la page [Exclusions](https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-exclusions.html) pour vous assurer que votre point de terminaison répond aux exigences d'un déploiement propagé.

## Détermination de la taille du lot propagé
<a name="deployment-guardrails-rolling-batch-size"></a>

Avant de mettre à jour votre point de terminaison, déterminez la taille du lot que vous souhaitez utiliser pour transférer progressivement le trafic vers la nouvelle flotte.

Pour les déploiements propagés, vous pouvez spécifier une taille de lot comprise entre 5 et 50 % de la capacité de votre flotte. Si vous choisissez un lot de grande taille, le déploiement s'effectue plus rapidement. Cependant, gardez à l'esprit que le point de terminaison a besoin de plus de capacité lors de la mise à jour, ce qui correspond à peu près à la surcharge de la taille du lot. Si vous choisissez une taille de lot plus petite, le déploiement prend plus de temps, mais vous utilisez moins de capacité pendant le déploiement.

## Configuration d'un déploiement propagé
<a name="deployment-guardrails-rolling-configure"></a>

Une fois que vous êtes prêt pour votre déploiement et que vous avez configuré des CloudWatch alarmes pour votre terminal, vous pouvez utiliser l'[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API SageMaker AI ou la commande [update-endpoint](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-endpoint.html) AWS Command Line Interface pour lancer le déploiement.

**Comment mettre à jour un point de terminaison**

L'exemple suivant montre comment vous pouvez mettre à jour votre point de terminaison avec un déploiement continu à l'aide de la méthode [update\$1endpoint](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/update_endpoint.html) du client SageMaker Boto3 AI.

Pour configurer un déploiement propagé, utilisez l'exemple et les champs suivants :
+ 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.
+ Dans l'`AutoRollbackConfiguration`objet, dans le `Alarms` champ, vous pouvez ajouter vos CloudWatch alarmes par leur nom. Créez un `AlarmName: <your-cw-alarm>` pour chaque alarme que vous souhaitez utiliser.
+ Sous `DeploymentConfig`, pour l'objet `RollingUpdatePolicy`, spécifiez les champs suivants :
  + `MaximumExecutionTimeoutInSeconds` : la limite de temps pour le déploiement total. Le dépassement de cette limite entraîne un délai d'attente. La valeur maximale que vous pouvez spécifier pour ce champ est de 28 800 secondes, soit 8 heures.
  + `WaitIntervalInSeconds`— La durée de la période de cuisson, pendant laquelle l' SageMaker IA surveille les alarmes pour chaque lot du nouveau parc.
  + `MaximumBatchSize` : spécifiez le `Type` de lot que vous souhaitez utiliser (le nombre d'instances ou le pourcentage global de votre flotte) et la `Value`, ou la taille de chaque lot.
  + `RollbackMaximumBatchSize` : utilisez cet objet pour spécifier la stratégie de restauration en cas de déclenchement d'une alarme. Spécifiez le `Type` de lot que vous souhaitez utiliser (le nombre d'instances ou le pourcentage global de votre flotte) et la `Value`, ou la taille de chaque lot. Si vous ne spécifiez pas ces champs, ou si vous définissez la valeur sur 100 % de votre terminal, l' SageMaker IA utilise une stratégie de blue/green réduction et ramène tout le trafic vers l'ancien parc lorsqu'une alarme se déclenche.

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

response = client.update_endpoint(
    EndpointName="<your-endpoint-name>",
    EndpointConfigName="<your-config-name>",
    DeploymentConfig={
        "AutoRollbackConfiguration": {
            "Alarms": [
                {
                    "AlarmName": "<your-cw-alarm>"
                },
            ]
        },
        "RollingUpdatePolicy": { 
            "MaximumExecutionTimeoutInSeconds": number,
            "WaitIntervalInSeconds": number,
            "MaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
            "RollbackMaximumBatchSize": {
                "Type": "INSTANCE_COUNT" | "CAPACITY_PERCENTAGE" (default),
                "Value": number
            },
        }  
    }
)
```

Après avoir mis à jour votre point de terminaison, vous souhaiterez peut-être vérifier le statut de votre déploiement propagé et vérifier son état. Vous pouvez consulter l'état de votre point de terminaison dans la console SageMaker AI, ou vous pouvez consulter l'état de votre point de terminaison à l'aide de l'[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API.

Dans l'objet `VariantStatus` renvoyé par l'API `DescribeEndpoint`, le champ `Status` vous indique le déploiement actuel ou le statut opérationnel de votre point de terminaison. Pour plus d'informations sur les statuts possibles et leur signification, consultez [ProductionVariantStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantStatus.html).

Si vous avez tenté d'effectuer un déploiement propagé et que le statut de votre point de terminaison est `UpdateRollbackFailed`, consultez la section suivante pour obtenir de l'aide avec le dépannage.

## Gestion des défaillances
<a name="deployment-guardrails-rolling-failures"></a>

Si vos déploiements propagés échouent et que la restauration automatique échoue également, votre point de terminaison peut se retrouver avec un statut `UpdateRollbackFailed`. Ce statut signifie que différentes configurations de point de terminaison sont déployées sur les instances situées derrière votre point de terminaison et que celui-ci fonctionne avec un mélange d'anciennes et de nouvelles configurations de point de terminaison.

Vous pouvez effectuer un autre appel à l'[UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html)API pour rétablir l'état de santé de votre terminal. Spécifiez la configuration de point de terminaison et la configuration de déploiement souhaitées (déploiement propagé, déploiement bleu/vert, ou aucun des deux) pour mettre à jour votre point de terminaison.

Vous pouvez appeler l'[DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)API pour vérifier à nouveau l'état de votre point de terminaison, qui est renvoyé dans l'`VariantStatus`objet sous forme de `Status` champ. Si votre mise à jour est réussie, le `Status` de votre point de terminaison revient à `InService`.

# Exclusions
<a name="deployment-guardrails-exclusions"></a>

Lorsque vous effectuez un déploiement bleu/vert ou propagé, votre nouvelle configuration de point de terminaison doit porter le même nom de variante que l'ancienne configuration du point de terminaison. Il existe également des exclusions basées sur des fonctions qui rendent votre point de terminaison incompatible avec les barrières de protection de déploiement pour le moment. Si votre point de terminaison utilise l'une des fonctionnalités suivantes, vous ne pouvez pas utiliser de barrière de protection de déploiement sur votre point de terminaison et votre point de terminaison reviendra à un déploiement bleu/vert avec un déplacement du trafic tout à la fois et pas de période de préparation finale :
+ Conteneurs de marketplace
+ Points de terminaison qui utilisent des instances Inf1 (basées sur Inferentia)

Si vous effectuez un déploiement propagé, il existe des exclusions supplémentaires basées sur les fonctionnalités :
+ Points de terminaison d'inférence sans serveur
+ Points de terminaison d'inférence à variantes multiples