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.
Utilisez Canary Traffic Shifting
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 que la période de cuisson est terminée et qu'aucun signal d' CloudWatch alarme prédéfini n'est émis par Amazon, le reste du trafic passe 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.](images/deployment-guardrails-blue-green-canary.png)
Une fois que l' SageMaker IA approvisionne la flotte verte, SageMaker elle achemine une partie du trafic entrant (par exemple, 25 %) vers le canari. Ensuite, la période de cuisson commence, au cours de laquelle vos CloudWatch alarmes surveillent les performances du parc écologique. 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 cuisson, l' SageMaker IA déclenche une annulation et tout le trafic revient à 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 dernière période de cuisson se termine sans qu'aucune alarme ne se déclenche, la flotte verte dessert tout le trafic et l' SageMaker IA met fin à la flotte bleue.
Prérequis
Avant de configurer un déploiement avec Canary Traffic Shifting, vous devez créer des CloudWatch alarmes Amazon pour surveiller les métriques depuis votre terminal. 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 CloudWatch alarmes sur un terminal, consultez la page des conditions préalablesConfiguration et surveillance de la restauration automatique. Pour en savoir plus sur les CloudWatch alarmes, consultez la section Utilisation des CloudWatch alarmes Amazon dans le guide de CloudWatch l'utilisateur Amazon.
Configurer le changement de trafic Canary
Une fois que vous êtes prêt pour votre déploiement et que vous avez configuré les CloudWatch alarmes Amazon pour votre point de terminaison, vous pouvez utiliser l'UpdateEndpointAPI Amazon SageMaker AI ou la commande update-endpoint AWS CLI pour lancer le déploiement.
Rubriques
Comment mettre à jour un point de terminaison (API)
L'exemple d'UpdateEndpointAPI suivant montre comment mettre à jour un point de terminaison avec Canary Traffic Shifting.
import boto3 client = boto3.client("sagemaker") response = client.update_endpoint( EndpointName="
<your-endpoint-name>
", EndpointConfigName="<your-config-name>
", DeploymentConfig={ "BlueGreenUpdatePolicy": { "TrafficRoutingConfiguration": { "Type": "CANARY", "CanarySize": { "Type": "CAPACITY_PERCENT", "Value": 30 }, "WaitIntervalInSeconds": 600 }, "TerminationWaitInSeconds": 600, "MaximumExecutionTimeoutInSeconds": 1800 }, "AutoRollbackConfiguration": { "Alarms": [ { "AlarmName": "<your-cw-alarm>
" } ] } } )
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
etBlueGreenUpdatePolicy
, dansTrafficRoutingConfiguration
, définissez le paramètreType
surCANARY
. 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ètresType
etValue
. PourType
, utilisezCAPACITY_PERCENT
, c'est-à-dire le pourcentage de votre flotte verte que vous souhaitez utiliser comme Canary, puis définissezValue
sur30
. 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
, utilisez600
. Le paramètre indique à l' SageMaker IA d'attendre le délai spécifié (en secondes) entre chaque changement d'intervalle. Cet intervalle est la durée de la période de préparation des Canary. Dans l'exemple précédent, l' SageMaker IA attend 10 minutes après le quart de travail canari, puis termine le deuxième et dernier changement de trafic.Pour
TerminationWaitInSeconds
, utilisez600
. Ce paramètre indique à SageMaker AI d'attendre le délai spécifié (en secondes) une fois que votre flotte verte est complètement active avant de mettre fin aux instances de la flotte bleue. Dans cet exemple, SageMaker AI attend 10 minutes après la dernière période de cuisson avant de mettre fin à la flotte bleue.Pour
MaximumExecutionTimeoutInSeconds
, utilisez1800
. 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 le
Alarms
champAutoRollbackConfiguration
, vous pouvez ajouter vos CloudWatch alarmes par leur nom. Créez unAlarmName:
pour chaque alarme que vous souhaitez utiliser.<your-cw-alarm>
Comment mettre à jour un point de terminaison avec une politique de mise à jour bleue/verte (API) existante
Lorsque vous utilisez l'CreateEndpointAPI 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 DeploymentConfig
options que dans l'exemple UpdateEndpoint d'API précédent. Aucune modification n'a été apportée au comportement de CreateEndpoint l'API. La spécification de la configuration de déploiement n'effectue pas automatiquement une mise à jour bleu/vert sur votre point de terminaison.
L'option d'utiliser une configuration de déploiement précédente se produit lorsque vous utilisez l'UpdateEndpointAPI 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'UpdateEndpointAPI, définissez sur RetainDeploymentConfig
True
pour conserver les DeploymentConfig
options de la configuration initiale de votre point de terminaison.
response = client.update_endpoint( EndpointName="
<your-endpoint-name>
", EndpointConfigName="<your-config-name>
", RetainDeploymentConfig=True )
Comment mettre à jour un point de terminaison (CLI)
Si vous utilisez le AWS CLI, l'exemple suivant montre comment démarrer un déploiement Canary bleu/vert à l'aide de la commande update-endpoint.
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 BlueGreenUpdatePolicyJSON.
Note
Si vous préférez enregistrer votre objet JSON dans un fichier, consultez la section Génération de AWS CLI squelettes et de paramètres d'entrée dans le Guide de AWS CLI l'utilisateur.