Fonctionnement - Amazon ElastiCache (Redis OSS)

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.

Fonctionnement

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

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 (Redis OSS) 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 à la fois avec les moteurs Redis OSS et Memcached. Utilisez le guide pour le moteur qui vous intéresse. Si vous n'êtes pas sûr du moteur que vous souhaitez utiliser, consultez Comparaison des caches conçus par Memcached et Redis OSS dans ce guide.

Comment ElastiCache fonctionne (Redis OSS)

ElastiCache (Redis OSS) Sans serveur

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

Note

ElastiCache (Redis OSS) Serverless exécute Redis OSS en mode cluster et n'est compatible qu'avec les clients Redis OSS qui prennent en charge à la fois le protocole TLS et le protocole de cluster Redis OSS.

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. veuillez consulter 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 de Redis OSS 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 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 zones de disponibilité pour garantir 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 spécifiques à Redis OS pour configurer le moteur du 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 clusters ElastiCache (Redis OSS), 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 (eCPU)

Vous payez pour les demandes Redis OSS que votre application exécute sur des unités de ElastiCache traitement ElastiCache sans serveur (eCPU), une unité qui inclut à la fois le temps passé par le 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 demande SET qui transfère 3,2 Ko de données consommera 3,2 ECPU.

  • Les commandes qui exigent un temps vCPU supplémentaire consommeront proportionnellement plus d’ECPU. Par exemple, si votre application utilise la commande Redis OSS HMGET et consomme 3 fois plus de temps vCPU qu'une simple commande SET/GET, elle consommera 3 eCPU.

  • Les commandes qui consomment plus de temps vCPU et qui transfèrent davantage de données consomment des ECPU en 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, si elle ne transfère que 2 Ko de données, elle consommera 3 ECPU.

ElastiCache Serverless émet une nouvelle métrique appelée ElastiCacheProcessingUnits qui vous aide à comprendre les eCPU consommés par votre charge de travail.

Heures d’utilisation des nœuds

Vous pouvez choisir de concevoir votre propre cluster de cache Redis OSS en choisissant la famille de nœuds EC2, 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 (Redis OSS)

Une sauvegarde est une point-in-time copie d'un cache 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 plus d’informations, consultez Instantané et restauration.