Optimiser les coûts SQS

L’utilisation du service SQS est facturé en fonction de deux facteurs :

  • Nombre de demandes :

Le premier million de demandes par mois est gratuit, au-delà les demandes sont facturées par tranche de million de demandes.

Les demandes sont comptabilisées en tenant compte des contraintes suivantes :

    • Chaque action Amazon SQS est considérée comme une demande.
    • Une demande peut comporter 1 à 10 messages, pour une charge totale maximale de 256 Ko.
    • Chaque lot de 64 Ko d’une charge est considéré comme 1 demande.
  • Transfert de données sortantes :

Tous les transferts de données entrantes sont gratuits.

Par contre, le transfert de données sortantes est gratuit jusqu’à 1 Go par mois, au-delà le transfert est payant.

Se pose alors un certain nombre de questions liées à la facturation du service SQS :

  • Comment réduire sa facture SQS ?
  • Comment éviter les demandes inutiles ?
  • Quels sont les outils proposés par AWS pour optimiser ses coûts SQS ?

Pour répondre à ces questions, AWS recommande des bonnes pratiques à suivre afin d’optimiser son utilisation du service SQS :

  • Batching Message Actions :

AWS recommande de grouper les messages concernés par une même action. Ainsi, Pour envoyer, recevoir, supprimer des messages et pour modifier le délai de visibilité pour plusieurs messages en une seule action, utilisez « Amazon SQS batch API actions ».

« Amazon SQS batch API actions » est supporté par « Query API » et « AWS SDK » et offre des fonctionnalités telles que :

    • SendMessageBatch
    • DeleteMessageBatch
    • ChangeMessageVisibilityBatch
  • Utiliser le mode de Pooling approprié :

AWS propose deux modes de pooling des messages : un mode long et un mode court.

Si l’application n’impose pas des exigences de traitement dans des délais courts, il faut privilégier le mode de pooling long, car les demandes qui renvoient des réponses vides sont facturées de la même façon que les demandes qui renvoient des réponses non vides.

Nous avons ainsi pu découvrir quelques fonctionnalités qui permettent d’intégrer ses applications et services AWS à moindre coût.