Déplacement de trafic All At once (Tout à la fois) - Amazon SageMaker

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.

Déplacement de trafic All At once (Tout à la fois)

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.

Lorsque vous utilisez le transfert de trafic en une seule fois, 100 % du trafic est SageMaker acheminé 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 cuisson est une durée définie pendant laquelle des CloudWatch alarmes Amazon prédéfinies surveillent les performances du parc écologique. Si aucune alarme ne se SageMaker déclenche pendant la période de cuisson, l'ancienne flotte est résiliée (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

Avant de configurer un déploiement impliquant un transfert du trafic en une seule fois, vous devez créer des CloudWatch alarmes Amazon pour surveiller les statistiques depuis votre terminal. 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 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 déplacement de trafic All in once (Tout à la fois)

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' SageMaker UpdateEndpointAPI ou la commande update-endpoint AWS Command Line Interface pour lancer le déploiement.

Comment mettre à jour un point de terminaison (API)

L'exemple suivant montre comment vous pouvez mettre à jour votre point de terminaison en transférant le trafic en une seule fois UpdateEndpointà l'aide de l' SageMaker API Amazon.

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 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, attendez SageMaker 10 minutes après la dernière période de cuisson avant de mettre fin à 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 le Alarms champAutoRollbackConfiguration, vous pouvez ajouter vos CloudWatch alarmes par leur 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

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 bleu/vert en une seule fois à 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": "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.

  • Pourdeployment-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.