Cohérence éventuelle sur Amazon EC2 API - Amazon Elastic Compute Cloud

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.

Cohérence éventuelle sur Amazon EC2 API

L'Amazon EC2 API suit un modèle de cohérence éventuel, en raison de la nature distribuée du système prenant en charge leAPI. Cela signifie que le résultat d'une API commande que vous exécutez et qui affecte vos EC2 ressources Amazon peut ne pas être immédiatement visible pour toutes les commandes suivantes que vous exécuterez. Vous devez garder cela à l'esprit lorsque vous exécutez une API commande qui suit immédiatement une API commande précédente.

La cohérence éventuelle peut affecter la façon dont vous gérez vos ressources. Par exemple, si vous exécutez une commande pour créer une ressource, elle sera éventuellement visible par les autres commandes. Cela signifie que si vous exécutez une commande pour modifier ou décrire la ressource que vous venez de créer, son identifiant ne s'est peut-être pas propagé dans tout le système et vous recevrez un message d'erreur indiquant que la ressource n'existe pas.

Pour gérer une éventuelle cohérence, vous pouvez effectuer les opérations suivantes :

  • Vérifiez l'état de la ressource avant d'exécuter une commande pour la modifier. Exécutez la Describe commande appropriée à l'aide d'un algorithme de réduction exponentielle pour vous assurer de laisser suffisamment de temps à la commande précédente pour se propager dans le système. Pour ce faire, exécutez la Describe commande à plusieurs reprises, en commençant par un temps d'attente de quelques secondes, puis en augmentant progressivement jusqu'à cinq minutes.

  • Ajoutez un temps d'attente entre les commandes suivantes, même si une Describe commande renvoie une réponse précise. Appliquez un algorithme de réduction exponentielle en commençant par quelques secondes d'attente, puis augmentez progressivement jusqu'à environ cinq minutes.

Exemples d'erreurs de cohérence éventuelles

Vous trouverez ci-dessous des exemples de codes d'erreur que vous pourriez rencontrer en raison d'une éventuelle cohérence.

  • InvalidInstanceID.NotFound

    Si vous exécutez la RunInstances commande avec succès, puis que vous exécutez immédiatement une autre commande en utilisant l'ID d'instance fourni dans la réponse deRunInstances, une InvalidInstanceID.NotFound erreur peut être renvoyée. Cela ne signifie pas que l'instance n'existe pas.

    Certaines commandes spécifiques susceptibles d'être affectées sont les suivantes :

    • DescribeInstances: pour confirmer l'état réel de l'instance, exécutez cette commande à l'aide d'un algorithme de rétrogradation exponentielle.

    • TerminateInstances: Pour confirmer l'état de l'instance, exécutez d'abord la DescribeInstances commande à l'aide d'un algorithme de rétrogradation exponentielle.

      Important

      Si un InvalidInstanceID.NotFound message d'erreur s'affiche après l'exécutionTerminateInstances, cela ne signifie pas que l'instance est ou sera interrompue. Votre instance est peut-être toujours en cours d'exécution. C'est pourquoi il est important de confirmer d'abord l'état de l'instance à l'aide deDescribeInstances.

  • InvalidGroup.NotFound

    Si vous exécutez correctement la CreateSecurityGroup commande, puis que vous exécutez immédiatement une autre commande en utilisant l'ID de groupe de sécurité fourni dans la réponse deCreateSecurityGroup, une InvalidGroup.NotFound erreur peut être renvoyée. Pour confirmer l'état du groupe de sécurité, exécutez la DescribeSecurityGroups commande à l'aide d'un algorithme de réduction exponentielle.

  • InstanceLimitExceeded

    Vous avez demandé un nombre d'instances supérieur à ce que votre limite d'instances actuelle autorise pour le type d'instance spécifié. Vous pourriez atteindre cette limite de façon inattendue si vous lancez et mettez fin à des instances rapidement, car les instances résiliées sont prises en compte dans votre limite d'instances pendant un certain temps après leur résiliation.