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, Redis OSS et Memcached. Si vous n'êtes pas sûr du moteur que vous souhaitez utiliser, consultez Comparaison des caches auto-conçus par ValkeyOSS, Redis et Memcached dans ce guide.

Comment ElastiCache fonctionne

ElastiCache 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, Redis OSS ou Memcached pour commencer à accéder à votre cache.

Note
  • ElastiCache Serverless exécute Valkey, Redis OSS ou Memcached en mode cluster et n'est compatible qu'avec les clients compatibles. 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 une disponibilité de 99,99 % SLA 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 client, VPC puis au serviceVPC.

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

Avec ElastiCache Serverless, vous recevez un point de DNS terminaison 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 Valkey et Redis OSS 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 CPU l'utilisation 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 client, VPC puis aux nœuds de cache ElastiCache 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 d'heures 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 pour les requêtes que votre application exécute sur ElastiCache Serverless dans ElastiCache Processing Units (ECPUs), une unité qui inclut à la fois le CPU temps V et les données transférées.

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

  • Avec Valkey et RedisOSS, les commandes qui consomment plus de CPU temps en V 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 HMGET commande, consomme 3 fois le CPU temps v d'une simple GET commandeSET/et transfère 3,2 Ko de données, elle consommera 3,2 KoECPU. Sinon, s'il ne transfère que 2 Ko de données, il en consommera 3ECPUs.

  • Avec Valkey et RedisOSS, les commandes qui nécessitent un CPU temps de v supplémentaire consommeront proportionnellement plus. ECPUs Par exemple, si votre application utilise la OSS HMGETcommande Valkey ou Redis et consomme 3 fois le CPU temps v d'une simple GET commandeSET/, 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 3ECPUs.

  • 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 GET commande, récupère 3 éléments et transfère 3,2 Ko de données, elle en consommera 3,2ECPU. Sinon, s'il ne transfère que 2 Ko de données, il en consommera 3ECPUs.

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 RedisOSS. 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 plus d'informations, voir Instantané et restauration.