

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
<a name="WhatIs.corecomponents"></a>

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

## Cache et moteurs de mise en cache
<a name="WhatIs.corecomponents.cache"></a>

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 : les caches sans serveur et les clusters basés sur des nœuds. Consultez [Choix entre deux options de déploiement](WhatIs.deployment.md). 

**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 de clusters Valkey, Memcached et Redis OSS basés sur des nœuds](SelectEngine.md) dans ce guide.

**Topics**
+ [Comment ElastiCache fonctionne](#WhatIs.HowELCworks)
+ [Grille tarifaire](#WhatIs.ELCpricing)
+ [ElastiCache sauvegardes](#WhatIs.corecomponents.backups-redis)

### Comment ElastiCache fonctionne
<a name="WhatIs.HowELCworks"></a>

**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. 
+ **Pay-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](#WhatIs.ELCpricing).
+ **High-availability:** 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.](http://docs.aws.amazon.com/fr_fr/AmazonElastiCache/latest/dg/images/ELC-serverless-works1.png)


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 du cluster et les nœuds 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. 

**Node-based clusters**

Vous pouvez créer un ElastiCache cluster basé sur des nœuds en choisissant une famille de nœuds de cache, une taille et un nombre de nœuds pour votre cluster. La création d'un cluster basé sur des nœuds vous donne un contrôle plus précis et vous permet de choisir le nombre de partitions dans votre cache et le nombre de nœuds (principaux et répliques) 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**
+ **Créer un cluster basé sur des nœuds :** avec ElastiCache, vous pouvez créer un cluster basé sur des nœuds 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 créer un cluster basé sur des nœuds avec des nœuds répartis sur plusieurs zones de disponibilité pour garantir une haute disponibilité. 
+ **Fine-grained contrôle :** lorsque vous créez un cluster basé sur des nœuds, 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](ParameterGroups.Engine.md#ParameterGroups.Redis) ou [Paramètres spécifiques Memcached](ParameterGroups.Engine.md#ParameterGroups.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 Auto-Scaling cette fonctionnalité pour configurer le dimensionnement en fonction d'un calendrier ou en fonction de mesures telles que l'utilisation du processeur et de la mémoire dans le cache. 

Le schéma suivant illustre le fonctionnement des ElastiCache clusters basés sur des nœuds.

![Schéma du fonctionnement des clusters ElastiCache basés sur des nœuds, des zones de disponibilité au VPC du client, puis aux ElastiCache nœuds de cache gérés.](http://docs.aws.amazon.com/fr_fr/AmazonElastiCache/latest/dg/images/ELC-serverless-works2.png)


### Grille tarifaire
<a name="WhatIs.ELCpricing"></a>

Vous pouvez effectuer ElastiCache le déploiement selon deux options de déploiement. Lorsque vous déployez ElastiCache Serverless, vous payez pour l'utilisation des données stockées GB-hours et calculées dans ElastiCache des unités de traitement (ECPU). Lorsque vous créez un cluster basé sur un nœud, vous payez par heure d'utilisation du nœud de cache. Consultez les détails de la tarification en cliquant [ici](https://aws.amazon.com/elasticache/pricing/).

**Stockage de données**

Vous payez pour les données stockées dans ElastiCache Serverless facturées en gigaoctets (). GB-hrs 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 dans le cache. GB-hrs 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 requêtes 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.
+ Avec Valkey et Redis OSS, les commandes qui consomment plus de temps vCPU et transfèrent plus 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 SET/GET simple commande 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. 
+ Avec Valkey et Redis OSS, les commandes qui nécessitent un temps de vCPU supplémentaire consommeront proportionnellement plus d'eCPU. Par exemple, si votre application utilise la [commande Valkey ou Redis OSS HMGET](https://valkey.io/commands/hmget/) et consomme 3 fois plus de temps vCPU qu'une simple SET/GET commande, elle consommera 3 eCPU. 
+ Avec Memcached, les commandes qui agissent sur plusieurs éléments consommeront proportionnellement plus d'eCPU. Par exemple, si votre application effectue une opération de lecture multiple sur 3 éléments, elle consommera 3 ECPU.
+ Avec Memcached, les commandes qui opèrent sur un plus grand nombre d'éléments et transfèrent plus de données consomment des eCPU 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, 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 créer un cluster basé sur des nœuds en choisissant la famille de nœuds EC2, la taille, le nombre de nœuds et leur placement dans les zones de disponibilité. Lorsque vous créez un cluster basé sur des nœuds, vous payez par heure pour chaque nœud de cache. 

### ElastiCache sauvegardes
<a name="WhatIs.corecomponents.backups-redis"></a>

Une *sauvegarde* est une copie instantanée d'un cache sans serveur ou d'un cluster basé sur un nœud 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](backups.md).