Comment ElastiCache fonctionne - Amazon ElastiCache

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.

Comment ElastiCache fonctionne

Vous trouverez ici un aperçu des principaux composants d'un ElastiCache déploiement.

Cache et moteurs de mise en cache

Un cache est un magasin de données en mémoire que vous pouvez utiliser pour stocker des données mises en cache. En général, votre application met en cache les données fréquemment consultées dans un cache afin d'optimiser les temps de réponse. ElastiCache propose deux options de déploiement : des clusters sans serveur et des clusters conçus par vos soins. Consultez Choix entre deux options de déploiement.

Note

Amazon ElastiCache fonctionne avec les moteurs Valkey, Memcached et Redis OSS. Si vous n'êtes pas sûr du moteur que vous souhaitez utiliser, consultez Comparaison des caches auto-conçus par Valkey, Memcached et Redis OSS dans ce guide.

Comment ElastiCache fonctionne

ElastiCache Serverless (Sans serveur)

ElastiCache Le mode Serverless vous permet de créer un cache sans vous soucier de la planification des capacités, de la gestion du matériel ou de la conception du cluster. Il vous suffit de donner un nom à votre cache et vous recevez un point de terminaison unique que vous pouvez configurer dans votre client Valkey, Memcached ou Redis OSS pour commencer à accéder à votre cache.

Note
  • ElastiCache Serverless exécute Valkey, Memcached ou Redis OSS en mode cluster et n'est compatible qu'avec les clients prenant en charge le protocole TLS.

Principaux avantages

  • Aucune planification des capacités : ElastiCache Serverless vous évite d'avoir à planifier la capacité. ElastiCache Serverless surveille en permanence l'utilisation de la mémoire, du calcul et de la bande passante réseau de votre cache et évolue à la fois verticalement et horizontalement. Il permet à un nœud de cache d’augmenter de taille, tout en lançant en parallèle une opération de montée en puissance afin de garantir que le cache puisse être mis à l’échelle conformément aux exigences de votre application à tout moment.

  • P ay-per-use : Avec ElastiCache Serverless, vous payez pour les données stockées et le calcul utilisé par votre charge de travail dans le cache. Consultez Grille tarifaire.

  • Haute disponibilité : ElastiCache Serverless réplique automatiquement vos données sur plusieurs zones de disponibilité (AZ) pour une haute disponibilité. Il surveille automatiquement les nœuds de cache sous-jacents et les remplace en cas de défaillance. Il offre un niveau de service (SLA) de disponibilité de 99,99 % pour chaque cache.

  • Mises à niveau logicielles automatiques : ElastiCache Serverless met automatiquement à niveau votre cache vers la dernière version mineure et corrige le logiciel sans aucun impact sur la disponibilité de votre application. Lorsqu'une nouvelle version majeure sera disponible, je vous ElastiCache enverrai une notification.

  • Sécurité : ElastiCache sans serveur chiffre toujours les données en transit et au repos. Vous pouvez utiliser une clé gérée par un service ou votre propre clé gérée par le client pour chiffrer les données au repos.

Le schéma suivant illustre le fonctionnement de ElastiCache Serverless.

Schéma du fonctionnement du cache ElastiCache sans serveur, des zones de disponibilité au VPC client, puis au VPC de service.

Lorsque vous créez un nouveau cache sans serveur, vous ElastiCache créez un point de terminaison Virtual Private Cloud (VPC) dans les sous-réseaux de votre choix dans votre VPC. Votre application peut se connecter au cache via ces points de terminaison de VPC.

Avec ElastiCache Serverless, vous recevez un point de terminaison DNS unique auquel votre application se connecte. Lorsque vous demandez une nouvelle connexion au point de terminaison, ElastiCache Serverless gère toutes les connexions au cache via une couche proxy. La couche proxy permet de réduire la complexité de la configuration du client, car le client n’a pas besoin de redécouvrir la topologie du cluster en cas de modification du cluster sous-jacent. La couche proxy est un ensemble de nœuds proxy qui gèrent les connexions à l’aide d’un équilibreur de charge de réseau.

Lorsque votre application crée une connexion au cache, la demande est envoyée à un nœud proxy par l’équilibreur de charge de réseau. Lorsque votre application exécute des commandes de cache, le nœud proxy connecté à votre application exécute les demandes sur un nœud de cache de votre cache. La couche proxy extrait la topologie et les nœuds du cluster de cache de votre client. Cela permet d' ElastiCache équilibrer intelligemment la charge, d'étendre et d'ajouter de nouveaux nœuds de cache, de remplacer les nœuds de cache en cas de défaillance et de mettre à jour le logiciel sur les nœuds de cache, le tout sans impact sur la disponibilité de votre application ou sans avoir à réinitialiser les connexions.

Clusters conçus ElastiCache par vos soins

Vous pouvez choisir de concevoir vos propres ElastiCache clusters en choisissant une famille de nœuds de cache, une taille et un nombre de nœuds pour votre cluster. La conception de votre propre cluster vous offre un contrôle plus précis et vous permet de choisir le nombre de partitions de votre cache et le nombre de nœuds (primaires et de réplica) dans chaque partition. Vous pouvez choisir d'utiliser Valkey ou Redis OSS en mode cluster en créant un cluster avec plusieurs partitions, ou en mode non cluster avec une seule partition.

Principaux avantages

  • Concevez votre propre cluster : avec ElastiCache, vous pouvez concevoir votre propre cluster et choisir où vous souhaitez placer vos nœuds de cache. Par exemple, si vous souhaitez trouver un compromis entre haute disponibilité et faible latence pour votre application, vous pouvez choisir de déployer vos nœuds de cache dans une seule zone de disponibilité. Vous pouvez également concevoir votre cluster avec des nœuds répartis sur plusieurs AZs pour atteindre une haute disponibilité.

  • Contrôle précis : lorsque vous concevez votre propre cluster, vous pouvez mieux contrôler le réglage précis des paramètres de votre cache. Par exemple, vous pouvez utiliser Paramètres OSS Valkey et Redis ou Paramètres spécifiques Memcached configurer le moteur de cache.

  • Mise à l’échelle verticale et horizontale : vous pouvez choisir de mettre à l’échelle manuellement votre cluster en augmentant ou en diminuant la taille du nœud de cache selon vos besoins. Vous pouvez également effectuer une mise à l’échelle horizontale en ajoutant de nouvelles partitions ou d’autres réplicas à vos partitions. Vous pouvez également utiliser la fonction Auto-Scaling pour configurer le dimensionnement en fonction d'un calendrier ou en fonction de métriques telles que l'utilisation du processeur et de la mémoire dans le cache.

Le schéma suivant illustre le fonctionnement des clusters ElastiCache auto-conçus.

Schéma du fonctionnement ElastiCache des clusters conçus par vos soins, des zones de disponibilité au VPC du client, puis ElastiCache aux nœuds de cache gérés.

Grille tarifaire

Vous pouvez effectuer ElastiCache le déploiement selon deux options de déploiement. Lorsque vous déployez ElastiCache Serverless, vous payez l'utilisation des données stockées en Go par heure et le calcul en unités de ElastiCache traitement (ECPU). Lorsque vous choisissez de concevoir vos propres ElastiCache clusters, vous payez par heure d'utilisation du nœud de cache. Consultez les détails de la tarification en cliquant ici.

Stockage de données

Vous payez les données stockées dans ElastiCache Serverless, facturées en gigaoctets (GB-heures). ElastiCache Serverless surveille en permanence les données stockées dans votre cache, en échantillonnant plusieurs fois par minute, et calcule une moyenne horaire pour déterminer l'utilisation du stockage de données du cache en Go d'heures. Chaque cache ElastiCache sans serveur est mesuré pour un minimum de 1 Go de données stockées.

ElastiCache Unités de traitement (ECPUs)

Vous payez les requêtes que votre application exécute sur ElastiCache Serverless dans ElastiCache Processing Units (ECPUs), une unité qui inclut à la fois le temps de vCPU et les données transférées.

  • Les lectures et écritures simples exigent 1 ECPU pour chaque kilo-octet (Ko) de données transféré. Par exemple, une commande GET qui transfère jusqu’à 1 Ko de données consomme 1 ECPU. Une requête SET qui transfère 3,2 Ko de données en consommera 3,2 ECPUs.

  • Avec Valkey et Redis OSS, les commandes qui consomment plus de temps de vCPU et transfèrent plus de données consomment en ECPUs fonction de la plus élevée des deux dimensions. Par exemple, si votre application utilise la commande HMGET, consomme 3 fois plus de temps vCPU qu’une simple commande SET/GET et transfère 3,2 Ko de données, elle consommera 3,2 ECPU. Sinon, s'il ne transfère que 2 Ko de données, il en consommera 3 ECPUs.

  • Avec Valkey et Redis OSS, les commandes qui nécessitent un temps de vCPU supplémentaire consommeront proportionnellement plus. ECPUs Par exemple, si votre application utilise la commande Valkey ou Redis OSS HMGET et consomme 3 fois plus de temps de vCPU qu'une simple commande SET/GET, elle en consommera 3. ECPUs

  • Avec Memcached, les commandes qui agissent sur plusieurs éléments consommeront proportionnellement plus. ECPUs Par exemple, si votre application exécute un multiget sur 3 éléments, elle en consommera 3 ECPUs.

  • Avec Memcached, les commandes qui agissent sur un plus grand nombre d'éléments et transfèrent plus de données consomment ECPUs en fonction de la plus élevée des deux dimensions. Par exemple, si votre application utilise la commande GET, récupère 3 éléments et transfère 3,2 Ko de données, elle consommera 3,2 ECPU. Sinon, s'il ne transfère que 2 Ko de données, il en consommera 3 ECPUs.

ElastiCache Serverless émet une nouvelle métrique appelée ElastiCacheProcessingUnits qui vous aide à comprendre la ECPUs consommation de votre charge de travail.

Heures d’utilisation des nœuds

Vous pouvez choisir de concevoir votre propre cluster de cache en choisissant la famille de EC2 nœuds, la taille, le nombre de nœuds et leur emplacement dans les zones de disponibilité. Lorsque vous concevez vous-même votre cluster, vous payez par heure pour chaque nœud de cache.

ElastiCache sauvegardes

Une sauvegarde est une point-in-time copie d'un cache sans serveur ou d'un cluster conçu par Valkey ou Redis OSS. ElastiCache vous permet de sauvegarder vos données à tout moment ou de configurer des sauvegardes automatiques. Les sauvegardes peuvent être utilisées pour restaurer un cache existant ou pour alimenter un nouveau cache. Les sauvegardes sont constituées de toutes les données d’un cache, plus quelques métadonnées. Pour de plus amples informations, veuillez consulter Instantané et restauration.