Généralités

Les bases

Q : Qu’est-ce qu’Amazon ElastiCache ?
Amazon ElastiCache est un service Web qui rationalise le déploiement et l'exécution de caches conformes au protocole Memcached ou Redis dansle cloud. ElastiCache améliore les performances des applications en vous permettant de récupérer des informations depuis un système en mémoire rapide et entièrement géré, au lieu de vous en remettre entièrement à des systèmes lents basés sur disque. Le service simplifie et décharge la gestion, la surveillance et l’exploitation d’environnements en mémoire, permettant à vos ressources d’ingénierie de se concentrer sur le développement d’applications. En utilisant ElastiCache, vous pouvez non seulement améliorer les temps de charge et de réponse aux actions et interrogations d’utilisateur, mais aussi réduire le coût associé au redimensionnement d’applications Web.

ElastiCache automatise les tâches administratives courantes nécessaires à l'exploitation d'un environnement clé-valeur distribué en mémoire. Grâce à ElastiCache, vous pouvez ajouter une couche de mise en cache ou en mémoire dans votre architecture d'application en seulement quelques minutes, en quelques clics dans la console de gestion AWS. ElastiCache est conçu pour maintenir automatiquement une haute disponibilité et fournit un contrat de niveau de service (SLA) de 99,99 %. ElastiCache est conforme aux protocoles Memcached et Redis. Le code, les applications et les outils que vous utilisez couramment avec vos environnements Memcached ou Redis fonctionnent donc de manière transparente avec ce service. Il n'y a pas d'investissement initial à réaliser et vous ne payez que les ressources que vous utilisez.

Q : Qu’est-ce que la mise en cache en mémoire et comment peut-elle aider mes applications ?
La mise en cache en mémoire fournie par ElastiCache peut être utilisée pour améliorer de manière significative la latence et le débit de nombreuses charges de travail d’applications à lecture intensive (telles que les réseaux sociaux, les jeux, le partage de médias et les portails de questions-réponses) ou de charges de travail à calcul intensif (telles que les moteurs de recommandation). La mise en cache en mémoire améliore les performances des applications en stockant les segments de données les plus importants en mémoire pour un accès à faible latence. Les informations mises en cache peuvent inclure les résultats d’interrogations de bases de données à E/S intensives ou les résultats de calculs intensifs.

Q : Quelles sont les tâches qu’Elasticache gère à ma place ?
ElastiCache gère les tâches liées à la configuration d’un environnement en mémoire distribué, de la mise en service des ressources demandées à l’installation du logiciel. Lorsque vous utilisez Amazon ElastiCache Serverless, vous n’avez aucune infrastructure à configurer et à gérer. Lors de la conception de votre propre cluster ElastiCache, le service automatise les tâches administratives courantes telles que l’application de correctifs logiciels, la détection des défaillances et la restauration. ElastiCache fournit des métriques de surveillance détaillées associées à vos ressources, ce qui vous permet de diagnostiquer et de réagir aux problèmes très rapidement. Par exemple, vous pouvez configurer des seuils et recevoir des alarmes si l’un de vos nœuds est surchargé par les requêtes.

Q : Quels sont les moteurs pris en charge par ElastiCache ?
ElastiCache offre Redis et Memcached entièrement gérés pour la plupart des applications exigeantes nécessitant des temps de réponse de moins d’une milliseconde.

Q : Comment démarrer avec ElastiCache ?
Si vous n’êtes pas encore inscrit à ElastiCache, vous pouvez sélectionner Commencer sur la page ElastiCache et terminer le processus d’inscription. Vous devez posséder un compte AWS ; dans le cas contraire, vous serez invité à en créer un au début de la procédure d'inscription à ElastiCache. Après vous être inscrit à ElastiCache, consultez la documentation ElastiCache, qui inclut notre manuel de démarrage Amazon ElastiCache for Redis ou Amazon ElastiCache for Memcached.

Une fois familiarisé avec ElastiCache, vous pouvez créer un cache en quelques minutes à l’aide de la console ou des API ElastiCache.

Q : Comment créer un cache ?
Pour créer des caches, il suffit d’utiliser la console, les API Amazon ElastiCache ou les outils de ligne de commande. Lorsque vous utilisez ElastiCache Serverless, vous pouvez créer un cache en utilisant les paramètres recommandés par défaut et commencer à l’utiliser en moins d’une minute.

Sans serveur

Q : Qu’est-ce qu’ElastiCache Serverless ?
ElastiCache Serverless est une option sans serveur qui vous permet de démarrer avec un cache en moins d’une minute sans mise en service d’infrastructure ni planification de la capacité. ElastiCache Serverless élimine la nécessité d’une planification fastidieuse des capacités en surveillant en permanence l’utilisation du calcul, de la mémoire et du réseau d’un cache, afin que celui-ci puisse mettre à l’échelle instantanément pour répondre à la demande sans interruption ni dégradation des performances. ElastiCache Serverless réplique automatiquement les données dans plusieurs zones de disponibilité (AZ) et fournit aux clients un contrat de niveau de service (SLA) de disponibilité de 99,99 % pour chaque cache. Avec ElastiCache Serverless, vous ne payez que pour les données que vous stockez et les ressources de calcul utilisées par votre application. Pour commencer, créez un cache ElastiCache sans serveur en quelques étapes en spécifiant un nom de cache à l’aide de la console, du kit de développement logiciel (SDK) ElastiCache ou de l’interface de la ligne de commande AWS (AWS CLI).

Q : Comment puis-je migrer une charge de travail ElastiCache existante vers ElastiCache Serverless ?
Vous pouvez déplacer une charge de travail ElastiCache existante en remplaçant le point de terminaison Redis ou Memcached par votre nouveau point de terminaison de cache ElastiCache Serverless dans votre application. Vous pouvez migrer les données ElastiCache existantes vers ElastiCache Serverless en spécifiant l’emplacement Amazon Simple Storage Service (Amazon S3) d’un fichier de sauvegarde. Consultez notre documentation ElastiCache Serverless pour en savoir plus sur la migration de vos charges de travail.

Q : Quelles versions de Redis et Memcached sont prises en charge par ElastiCache Serverless ?
ElastiCache Serverless prend en charge ElastiCache for Redis version 7.1 et ElastiCache for Memcached version 1.6.21 et versions ultérieures.

Q : Comment mettre à l’échelle ElastiCache Serverless ?
ElastiCache Serverless surveille en permanence la mémoire, le calcul et l’utilisation du réseau de votre cache pour une mise à l’échelle instantanée. ElastiCache Serverless évolue sans interruption ni dégradation des performances de l’application en permettant au cache d’augmenter et en initiant l’augmentation en parallèle, afin de répondre aux exigences de l’application juste à temps. Consultez notre documentation ElastiCache Serverless pour en savoir plus sur la mise à l’échelle.

Q : Qu’est-ce que l’accord de niveau de service (SLA) sur la disponibilité des serveurs ElastiCache ?
ElastiCache sans serveur stocke automatiquement les données de manière redondante dans plusieurs AZ et propose un contrat de niveau de service (SLA) à 99,99 % de disponibilité pour toutes les charges de travail.

Q : Quelle est la tarification d’ElastiCache Serverless ?
Avec ElastiCache Serverless, vous ne payez que pour les données que vous stockez et les calculs utilisés par votre application. Pour en savoir plus, consultez la page relative à la tarification ElastiCache.

Nœuds réservés

Q : Que sont les nœuds réservés ElastiCache ?
Les nœuds réservés ou les instances réservées (RI) vous permettent de bénéficier d’une réduction significative par rapport à l’utilisation à la demande lorsque vous vous engagez pour une durée d’un an ou de trois ans. Avec les nœuds réservés, vous pouvez effectuer un paiement initial unique pour créer une réservation d’un an ou de trois ans afin d’exécuter votre cache dans une région spécifique et bénéficier d’une réduction significative sur les frais d’utilisation horaires. Il existe trois types de nœuds réservés : vous avez la possibilité de ne rien payer au départ, de payer uniquement une partie des frais initiaux ou de faire un paiement total anticipé. Ce choix vous permet de trouver le juste équilibre entre le montant initial payé et le tarif horaire effectif.

Q : Les nœuds réservés s’appliquent-ils à ElastiCache Serverless ?
Les nœuds réservés offrent une réduction qui s’applique à l’utilisation à la demande d’ElastiCache. ElastiCache Serverless n’est pas compatible avec les nœuds réservés.

Q : Combien de nœuds réservés puis-je acheter ?
Vous pouvez acheter jusqu’à 300 nœuds réservés. Si vous souhaitez exécuter plus de 300 nœuds, remplissez le Formulaire de demande de nœud Amazon ElastiCache.

Q : Et si je souhaite convertir un nœud existant en nœud réservé ?
Il suffit d'acheter une réservation de nœud avec la même classe de nœud, dans la même région que le nœud que vous utilisez actuellement et que vous souhaitez réserver. Si l'achat de la réservation est réussi, ElastiCache appliquera automatiquement votre nouveau tarif horaire d'utilisation à votre nœud existant.

Q : Si je souscris un nœud réservé, quand commence la période de réservation ? Qu'arrive-t-il à mon nœud lorsque la période de réservation se termine ?
Les changements de tarification associés à un nœud réservé sont activés dès que votre demande est reçue et que l'autorisation de paiement est traitée. Vous pouvez suivre le statut de votre réservation sur la page d'activité du compte AWS ou en utilisant l'API DescribeReservedCacheNodes. Si le paiement unique ne peut pas être autorisé avant la période de facturation suivante, le tarif réduit ne sera pas appliqué.

Lorsque votre période de réservation expire, le tarif d'utilisation horaire à la demande est à nouveau appliqué à votre nœud selon la classe et la région du nœud.

Q : Comment contrôler les nœuds facturés au tarif des nœuds réservés ?
Les API ElastiCache pour créer, modifier et supprimer des nœuds ne font pas de distinction entre les nœuds à la demande et les nœuds réservés, de sorte que vous pouvez utiliser les deux de manière transparente. Lors du calcul de votre facture, notre système appliquera automatiquement vos réservations, de sorte que tous les nœuds éligibles soient facturés au tarif horaire le plus bas pour les nœuds de cache réservés.

Q : Puis-je déplacer un nœud réservé depuis une région ou une AZ vers une autre ?
Chaque nœud réservé est associé à une région spécifique, laquelle est définie pour toute la durée de la réservation et ne peut pas être modifiée. Toutefois, chaque réservation peut être utilisée dans n'importe laquelle des zones de disponibilité au sein de la région associée.

Q : Puis-je annuler une réservation ?
Non, vous ne pouvez pas annuler votre réservation de nœud, et le paiement initial (le cas échéant) n'est pas remboursable. Vous continuerez à payer pour chaque heure pendant la durée de votre nœud réservé, quelle que soit votre utilisation.

Q : Comment les options de paiement se répercutent-elles sur ma facture ?
Lorsque vous achetez un nœud réservé avec l'option de paiement Tous les frais initiaux, vous réglez la totalité de votre durée de réservation en un seul paiement. Vous avez aussi la possibilité de ne pas payer de frais initiaux, en choisissant l'option Aucuns frais initiaux. La valeur totale du nœud réservé avec l'option de paiement Aucuns frais initiaux est répartie sur chaque heure de la durée de réservation. Vous serez donc facturé pour chaque heure, quelle que soit votre utilisation. L'option de paiement Frais initiaux partiels se situe à mi-chemin entre les options Tous les frais initiaux et Aucuns frais initiaux. Vous payez une faible somme initiale et êtes ensuite facturé selon un tarif horaire réduit pour chaque heure de réservation de l'instance, quelle que soit votre utilisation.

Sécurité

Q : Quels contrôles de sécurité existent pour ElastiCache ?
ElastiCache vous permet de configurer le chiffrement des données au repos à l’aide d’AWS Key Management Service (AWS KMS), le chiffrement des données en transit à l’aide du protocole TLS (Transport Layer Security), l’authentification à l’aide d’AWS Identity and Access Management (IAM) et le contrôle d’accès au réseau avec les groupes de sécurité Amazon Elastic Compute Cloud (Amazon EC2).

Q : Comment puis-je contrôler l’accès à ElastiCache ?
Lorsque vous n’utilisez pas Virtual Private Cloud (VPC) Amazon, ElastiCache vous permet de contrôler l’accès à vos caches par le biais de groupes de sécurité réseau. Un groupe de sécurité fonctionne comme un pare-feu contrôlant l'accès du réseau à votre cache. Par défaut, l'accès réseau est désactivé pour vos caches. Si vous souhaitez que vos applications accèdent à votre cluster de cache, vous devez explicitement activer l'accès depuis les hôtes dans des groupes de sécurité Amazon EC2 spécifiques.

Vous pouvez également contrôler l'accès à vos ressources ElastiCache à l'aide de l'authentification IAM. Pour plus d'informations, consultez la documentation relative à l'authentification avec IAM.

Conformité

Q : Quels programmes de conformité sont pris en charge par ElastiCache ?
ElastiCache prend en charge des programmes de conformité comme SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI DSS, HIPAA, et FedRAMP. Reportez-vous à la section Services AWS concernés par le programme de conformité pour obtenir la liste à jour des programmes de conformité pris en charge.

Q : ElastiCache est-il conforme à la norme PCI DSS ?
Oui. Le programme de conformité PCI d'AWS inclut ElastiCache comme service conforme à la norme PCI. Pour en savoir plus, consultez les ressources suivantes :

Pour connaître la liste actuelle des programmes de conformité couverts par ElastiCache, consultez Services AWS concernés par le programme de conformité.

Q : ElastiCache est-il éligible à la loi HIPAA ?
Oui, ElastiCache est un service éligible à la norme HIPAA et couvert par AWS Business Associate Addendum (BAA). Cela signifie que vous pouvez utiliser ElastiCache pour vous aider à traiter, entretenir et stocker des données de santé protégées (PHI) et exploiter des applications de santé.

Q : Que dois-je faire pour utiliser ElastiCache éligible pour HIPAA ?
Si vous avez signé un accord de partenariat commercial (BAA) avec AWS, vous pouvez utiliser ElastiCache pour créer des applications qui stockent et traitent l'IH conformément à la loi HIPAA. Si vous n'avez pas de BAA ou si vous avez d'autres questions sur l'utilisation d'AWS pour vos applications, contactez-nous pour obtenir plus d'informations. 

Q : Est-ce qu'ElastiCache FedRAMP est autorisé ?
Le programme de conformité FedRAMP d'AWS inclut ElastiCache for Redis comme service autorisé pour FedRAMP. Les clients du gouvernement américain et leurs partenaires peuvent désormais utiliser la dernière version d'ElastiCache pour traiter et stocker leurs systèmes FedRAMP, leurs données et leurs charges de travail critiques à fort impact dans les régions AWS GovCloud (US, côte est) et AWS GovCloud (US, côte ouest), et à un impact modéré dans les régions USA Est (Ohio), USA Est (Virginie du Nord), USA Ouest (Californie du Nord) et USA Ouest (Oregon).

Pour en savoir plus, consultez les ressources suivantes :

Pour connaître la liste actuelle des programmes de conformité couverts par ElastiCache, consultez Services AWS concernés par le programme de conformité.

Q : L'utilisation des fonctionnalités de conformité entraîne-t-elle des frais supplémentaires ?
Non. Aucun frais supplémentaire ne s’applique à l’utilisation des fonctionnalités de conformité.

Groupes de paramètres

Q : En quoi consistent les groupes de paramètres ? En quoi sont-ils utiles ?
Un groupe de paramètres agit en tant que « conteneur » pour les valeurs de configuration de moteur qui peuvent être appliquées à un ou plusieurs clusters. Si vous créez un cluster sans spécifier de groupe de paramètres, celui par défaut est utilisé. Ce groupe par défaut contient le moteur par défaut et le système ElastiCache par défaut optimisés pour le cluster que vous exécutez. Toutefois, si vous souhaitez que votre cache fonctionne avec les valeurs de configuration du moteur que vous avez spécifiées, vous pouvez créer un nouveau groupe de paramètres, modifier les paramètres souhaités et modifier le cluster pour qu’il utilise le nouveau groupe de paramètres. Une fois associés, tous les clusters qui utilisent un groupe de paramètres particulier se voient appliquer toutes les mises à jour apportées à ce groupe de paramètres. Pour plus d’informations sur la configuration des groupes de paramètres, reportez-vous au guide de l’utilisateur d’ElastiCache for Redis ou d’ElastiCache for Memcached.

Q : Comment choisir les bons paramètres de configuration pour mes caches ?
ElastiCache choisit par défaut les paramètres de configuration optimaux pour votre cache, en tenant compte de la capacité de mémoire et de calcul du type de nœud. Toutefois si vous souhaitez les changer, vous pouvez le faire en utilisant nos API de gestion de configuration. Veuillez noter que changer les paramètres de configuration à partir des valeurs recommandées peut avoir des effets inattendus, allant d'une performance dégradée aux plantages de système ; ce changement ne doit être effectué que par des utilisateurs avancés qui sont disposés à assumer ces risques. Pour plus d’informations sur la modification des paramètres, reportez-vous au Guide de l’utilisateur ElastiCache.

Q : Comment puis-je voir la configuration actuelle de mes paramètres pour un groupe de paramètres donné ?
Vous pouvez utiliser la console, les API ElastiCache ou les outils de ligne de commande pour voir les informations sur vos groupes de paramètres et leurs paramètres correspondants.

Redis

Fonctionnalités de Redis

Q : Qu’est-ce qu’ElastiCache for Redis ?
ElastiCache for Redis est un service Web qui rationalise le déploiement et l’exécution de caches conformes au protocole Redis dans le cloud. Ce service permet de gérer, de surveiller et d’exécuter des nœuds Redis. Ainsi, la création, la suppression et la modification des nœuds peuvent s’effectuer à travers la console ElastiCache, l’AWS CLI ou les API du service Web. ElastiCache for Redis accepte les configurations hautement disponibles, y compris le mode cluster activé et désactivé de Redis avec basculement automatique entre le nœud primaire et un réplica.

Q : ElastiCache for Redis est-il compatible avec le protocole Redis open source ?
Oui. ElastiCache for Redis est compatible avec le protocole Redis open source. Le code, les applications, les pilotes et les outils que vous utilisez aujourd’hui avec votre magasin de données Redis autonome existant continueront à fonctionner avec ElastiCache for Redis et aucun changement de code ne sera nécessaire pour les déploiements Redis existants qui migrent vers ElastiCache for Redis, sauf indication contraire.

Q : Combien coûte ElastiCache for Redis ?
Pour obtenir des informations sur la tarification actuelle, consultez notre tarification.

Q : La version ElastiCache for Redis permet-elle un fonctionnement multi-AZ ?
Oui. Avec ElastiCache for Redis, vous pouvez créer un réplica en lecture dans une autre AZ AWS. Lorsque vous utilisez ElastiCache Serverless for Redis, les données sont automatiquement stockées de manière redondante dans plusieurs AZ pour garantir une haute disponibilité. Lors de la conception de votre propre cache ElastiCache for Redis, en cas de défaillance d’un nœud, nous en fournirons un nouveau. Dans les scénarios où le nœud primaire tombe en panne, ElastiCache for Redis promeut automatiquement un réplica en lecture existant dans le rôle primaire. Pour plus d'informations sur la manière de gérer les défaillances de nœuds, consultez la page Comprendre la réplication Redis.

Q : Comment passer à une version plus récente du moteur ?
Vous pouvez rapidement passer à une version de moteur plus récente en utilisant les API ElastiCache et en spécifiant votre version de moteur préférée. Dans la console ElastiCache, vous pouvez sélectionner un cache et sélectionner Modifier. Le processus de mise à niveau du moteur est conçu pour retenir vos données existantes. Pour plus de détails, consultez caching strategies and best practices.

Q : Puis-je revenir à une version précédente du moteur ?
Non. Il est impossible de revenir à une version précédente du moteur.

Q : Puis-je avoir des réplicas sur plusieurs régions avec ElastiCache for Redis ?
Oui. Vous pouvez créer des réplicas sur plusieurs régions grâce à la fonctionnalité Global Datastore dans ElastiCache for Redis. La fonctionnalité Global Datastore assure une réplication entre régions entièrement gérée, rapide, fiable et axée sur la sécurité. Elle vous permet d’écrire sur votre cluster ElastiCache for Redis dans une région et d’avoir les données disponibles pour être lues à partir de deux autres clusters de réplicas entre régions, permettant ainsi des lectures à faible latence et une reprise après sinistre entre régions.

Performances

Q : Quels sont les avantages d’ElastiCache for Redis en termes de performances ?
ElastiCache for Redis fournit des threads d’E/S améliorés qui améliorent considérablement le débit et la latence à grande échelle grâce au multiplexage, au déchargement de la couche de présentation, etc. Les threads d’E/S améliorés améliorent les performances en utilisant davantage de cœurs pour le traitement des E/S et en s’adaptant dynamiquement à la charge de travail. ElastiCache for Redis améliore le débit des clusters compatibles TLS en transférant le chiffrement vers les mêmes threads d’E/S améliorés. La version 7.0 d’ElastiCache for Redis a introduit un multiplexage d’E/S amélioré, qui combine de nombreuses demandes des clients sur un seul canal et améliore l’efficacité du thread Redis principal.

Dans les versions 7.1 et supérieures d’ElastiCache for Redis, nous avons étendu la fonctionnalité améliorée des threads d’E/S afin de gérer également la logique de la couche de présentation. Les threads d'E/S améliorés non seulement lisent les entrées du client, mais analysent également les entrées dans un format de commande binaire Redis, qui est ensuite transmis au thread principal pour exécution, afin de générer des gains de performances. Avec ElastiCache for Redis version 7.1, vous pouvez obtenir jusqu'à 100% de débit en plus et 50 % de latence P99 en moins, comparé à ElastiCache for Redis version 7.0. Sur r7g.4xlarge ou supérieur, vous pouvez réaliser plus d'un million de requêtes par seconde (RPS) par nœud.

Q : Comment puis-je surveiller l’utilisation du processeur de Redis ?
ElastiCache fournit deux ensembles de métriques différents pour mesurer l’utilisation du processeur de votre cache en fonction de votre choix de déploiement de cache. Lorsque vous utilisez ElastiCache Serverless, vous pouvez surveiller l’utilisation du processeur à l’aide de la métrique ElastiCache Processing Units (ECPU). Le nombre d’ECPU consommés par vos requêtes dépend du temps nécessaire au vCPU et de la quantité de données transférées. Chaque lecture et écriture, comme les commandes Redis GET et SET ou les commandes Memcached get et set, nécessite 1 ECPU pour chaque kilo-octet (Ko) de données transférées. Certaines commandes Redis qui fonctionnent sur des structures de données en mémoire peuvent consommer plus de temps vCPU qu'une commande GET ou SET. ElastiCache calcule le nombre d'ECPU consommés en fonction du temps de vCPU nécessaire à la commande par rapport à une référence du temps de vCPU utilisé par une commande Redis SET ou GET. Si votre commande nécessite plus de temps sur le vCPU et transfère plus de données que la valeur de référence de 1 ECPU, ElastiCache calcule les processeurs requis en fonction de la plus élevée des deux dimensions.

Lorsque vous concevez votre propre cluster, vous pouvez surveiller EngineCPUUtilization and CPUUtilization. La métrique CPUUtilization mesure l'utilisation du processeur pour l'instance (nœud) et la métrique EngineCPUUtilization mesure l'utilisation au niveau du processus Redis. Vous aurez besoin de la métrique EngineCPUUtilization en plus de la métrique CPUUtilization, car le processus Redis primaire n'a qu'un seul fil et n'utilise qu'un seul processeur parmi les multiples cœurs de processeur disponibles sur une instance. Par conséquent, la métrique CPUUtilization ne fournit pas une visibilité précise sur les taux d'utilisation du processeur au niveau du processus Redis. Nous vous recommandons d’utiliser à la fois les métriques CPUUtilization et EngineCPUUtilization pour avoir une compréhension détaillée de l’utilisation du processeur pour vos clusters Redis.

Les deux ensembles de métriques sont disponibles dans toutes les régions AWS et vous pouvez y accéder au moyen d’Amazon CloudWatch ou de la console. De plus, nous vous conseillons également de vous reporter à la documentation pour en savoir plus sur les métriques utiles pour le contrôle des performances.

Q : Comment puis-je optimiser les performances du client Redis ?
Redis est l'un des magasins clé-valeur NoSQL les plus populaires et est connu pour ses grandes performances. Afin d'optimiser l'utilisation de Redis, vous avez également besoin d'un client performant.

Réplica en lecture

Q : Que signifie exécuter un nœud Redis en tant que réplica en lecture ?
Les répliques de lecture servent deux objectifs dans Redis :

  • Gestion des défaillances
  • Dimensionnement en lecture

Lorsque vous exécutez un cache avec un réplica de lecture, le primaire sert à la fois les écritures et les lectures. Le réplica sert exclusivement au trafic de lecture et est également disponible en mode veille au cas où le primaire deviendrait défectueux.

Q : Quand envisager l'utilisation d'un réplica en lecture Redis ?
Avec ElastiCache Serverless, les répliques en lecture sont automatiquement gérées par le service. Lors de la conception de votre propre cache, il existe plusieurs scénarios dans lesquels le déploiement d'une ou plusieurs répliques de lecture pour un nœud primaire donné peut s'avérer judicieux. Les principales raisons d’un déploiement de réplica en lecture sont les suivantes :

  • Évolutivité au-delà de la capacité de calcul ou d’E/S d’un seul nœud primaire pour les charges de travail gourmandes en lecture : ce trafic de lecture excessif peut être dirigé vers une ou plusieurs réplicas en lecture.
  • La prise en charge du trafic en lecture en cas d’indisponibilité du nœud primaire. Si votre nœud primaire ne peut pas accepter de demandes d’E/S (par exemple, en raison d’une suspension des E/S pour des sauvegardes ou une maintenance programmée), vous pouvez diriger le trafic de lecture vers vos réplicas en lecture. Dans ce cas d’utilisation, il faut garder à l’esprit que les données du réplica en lecture peuvent être périmées, puisque l’instance primaire n’est pas disponible. Le réplica en lecture peut également être utilisé à chaud pour redémarrer un nœud primaire défaillant.
  • Scénarios de protection des données. Dans le cas improbable d’une défaillance du nœud primaire ou d’une indisponibilité de la zone de disponibilité dans laquelle réside votre nœud primaire, vous pouvez promouvoir un réplica en lecture dans une zone de disponibilité différente pour qu’il devienne le nouveau nœud primaire. 

Q : Comment me connecter à mes réplicas en lecture ?

Vous pouvez vous connecter à une réplique en lecture comme vous le feriez à un nœud de cache primaire. Si vous avez plusieurs réplicas en lecture, c'est votre application qui détermine comment le trafic en lecture sera distribué entre eux. Voici d’autres détails :

  • Les clusters Redis (mode cluster désactivé) utilisent les points de terminaison des nœuds individuels pour les opérations de lecture. (Dans l'API/CLI, ils sont appelés points de terminaison de lecture.)
  • Les clusters Redis (mode cluster activé) utilisent le point de terminaison de configuration pour toutes les opérations. Vous devez utiliser un client qui prend en charge Redis Cluster (Redis 3.2). Vous pouvez toujours lire à partir des points de terminaison des nœuds individuels. (Dans l'API et la CLI, ils sont appelés points de terminaison de lecture.)

Q : Combien de réplicas en lecture puis-je créer pour un nœud primaire donné ?
ElastiCache vous permet de créer jusqu’à cinq (5) réplicas en lecture pour un nœud de cache primaire donné.

Q : Qu’advient-il des réplicas en lecture en cas de basculement ?
En cas de basculement, tout réplica en lecture associé et disponible doit reprendre la réplication automatique une fois le basculement terminé (avec acquisition des mises à jour depuis le réplica en lecture nouvellement promu).

Q : Comment ElastiCache maintient-il mon réplica en lecture à jour par rapport à son nœud primaire ?
Les mises à jour appliquées au nœud de cache primaire sont immédiatement répliquées sur les réplicas en lecture associés. Toutefois, avec la technologie de réplication asynchrone de Redis, une réplique de lecture peut prendre du retard par rapport à son nœud de cache primaire pour diverses raisons. Les raisons typiques incluent :

  • Le volume des E/S en écriture sur le nœud de cache primaire est supérieur au rythme auquel les modifications peuvent être appliquées sur le réplica en lecture.
  • Des partitions ou des temps de latence réseau existent entre le nœud de cache primaire et un réplica en lecture.

Les réplicas en lecture sont sujets aux forces et aux faiblesses de la réplication Redis. Si vous utilisez des réplicas en lecture, vous devez être conscient du risque de retard entre un réplica en lecture et son nœud de cache principal ou d’une possible « incohérence ». ElastiCache émet une métrique pour vous aider à comprendre l’incohérence.

Q : Combien coûtent les réplicas en lecture ? Quelles sont les dates de début et de fin de facturation ?
Un réplica en lecture est facturé comme un nœud de cache standard et aux mêmes tarifs. Tout comme pour un nœud de cache standard, le tarif par heure de nœud de cache pour un réplica en lecture est déterminé par la classe de nœud de cache du réplica en lecture ; reportez-vous à la page de tarification d’ElastiCache pour connaître les derniers tarifs en vigueur. Les frais de transfert lors de la réplication des données entre votre nœud de cache primaire et le réplica en lecture ne vous sont pas facturés. La facturation du réplica débute dès sa création, c'est-à-dire lorsque le statut indiqué est « active » (lorsque le statut indiqué est Actif). Le réplica en lecture continuera de vous être facturé aux tarifs horaires d'un nœud de cache ElastiCache standard jusqu'à ce que vous exécutiez une commande pour le supprimer.

Q : Que se passe-t-il au cours du basculement et combien de temps cela dure-t-il ?
Le basculement initié est pris en charge par ElastiCache afin que vous puissiez reprendre les opérations de cache aussi rapidement que possible. Lors du basculement, ElastiCache modifie simplement l'enregistrement DNS de votre nœud de cache afin qu'il pointe vers le réplica en lecture, lequel est alors promu comme nouveau nœud primaire. Nous vous encourageons à suivre les bonnes pratiques et à effectuer une nouvelle tentative de connexion au nœud de cache au niveau de la couche applicative. Généralement, du début à la fin, les étapes 1 à 5 ci-dessous sont effectuées en six minutes.

Les événements de basculement automatique sont énumérés dans l'ordre d'apparition ci-après :

  1. Message de groupe de réplications : Test d'API de basculement appelé pour un groupe de nœuds <node-group-id>
  2. Message de cluster de cache : Basculement accompli d'un nœud primaire <primary-node-id> vers un réplica <node-id>
  3. Message de groupe de réplications : Basculement accompli d'un nœud primaire <primary-node-id> vers un réplica <node-id>
  4. Message de cluster de cache : Récupération de nœuds de cache <node-id>
  5. Message de cluster de cache : Récupération de nœuds de cache terminée <node-id>

Q : Puis-je créer un réplica en lecture dans une région différente de celle de mon nœud primaire ?
Non, votre réplica en lecture ne peut être provisionné que dans la même zone de disponibilité ou dans une zone différente de la même région que votre nœud de cache primaire. Vous pouvez toutefois utiliser la fonction Global Datastore for Redis dans le cadre d’une réplication entièrement gérée, rapide, fiable et sécurisée entre Régions AWS. Grâce à cette fonctionnalité, vous pouvez créer des clusters de réplicas en lecture entre régions pour ElastiCache for Redis afin de réduire la latence de lecture et de reprise après sinistre entre régions AWS.

Q : Puis-je voir dans quelle zone de disponibilité se trouve actuellement mon nœud primaire ?
Oui. Vous pouvez connaître l’emplacement du nœud primaire actuel en utilisant la console ou l’API DescribeCacheClusters.

Q : Puis-je ajouter et supprimer des nœuds de réplica en lecture pour mon environnement Redis Cluster ?
Oui. Vous pouvez ajouter ou supprimer un réplica en lecture sur une ou plusieurs partitions dans un environnement Redis Cluster. Le cluster reste en ligne et traite les E/S entrantes pendant cette opération.

Fonction multi-AZ

Q : Qu’est-ce que la fonction multi-AZ pour ElastiCache for Redis ?
Multi-AZ est une fonctionnalité qui vous permet d’exécuter une configuration plus hautement disponible lors de la conception de votre propre cache ElastiCache for Redis. Tous les caches ElastiCache Serverless sont automatiquement exécutés dans une configuration multi-AZ. Un groupe de réplications ElastiCache for Redis est composé d'un nœud primaire et d'un maximum de cinq réplicas en lecture. Si la fonction multi-AZ est activée, au moins un réplica est requis par nœud primaire. Au cours de certains types de maintenance planifiée, ou dans le cas improbable d’une défaillance d’un nœud ElastiCache ou d’une zone de disponibilité, ElastiCache détectera automatiquement la défaillance d’un serveur primaire, sélectionnera un réplica en lecture et le promouvra pour qu’il devienne le nouveau nœud primaire. ElastiCache propage également les modifications DNS du réplica en lecture promu. Si votre application effectue des opérations en écriture sur le point de terminaison du nœud primaire, aucune modification du point de terminaison n’est donc nécessaire.
 
Q : Quels sont les avantages de l'utilisation de la fonction multi-AZ et quand doit-on l'utiliser ?
Les principaux avantages de l'exécution d'ElastiCache for Redis en mode multi-AZ résident dans l'amélioration de la disponibilité et des tâches d'administration moins nombreuses. Lorsque vous exécutez ElastiCache dans une configuration multi-AZ, vos caches sont éligibles au SLA de disponibilité de 99,99 %. Si un nœud primaire ElastiCache for Redis tombe en panne, l'impact sur les opérations en lecture/écriture sur le nœud primaire est limité à la durée de mise en place du basculement automatique. Lorsque la fonction multi-AZ est activée, le basculement de nœud ElastiCache est automatique et ne nécessite pas d'administration. Vous n'avez plus besoin de surveiller vos nœuds Redis et de lancer une récupération manuelle en cas de défaillance de nœud principal.
 
Q : Comment la fonction multi-AZ fonctionne-t-elle ?
Vous pouvez avoir recours à la fonction multi-AZ si vous utilisez ElastiCache pour Redis et disposez d'un groupe de réplications composé d'un nœud principal et d'un ou plusieurs réplicas en lecture. En cas de défaillance du nœud principal, ElastiCache détecte automatiquement la panne, sélectionne un réplica en lecture parmi ceux disponibles et le promeut en tant que nouveau nœud principal. ElastiCache propage les modifications DNS du réplica promu pour que votre application puisse continuer à effectuer des opérations en écriture sur le point de terminaison du nœud primaire. ElastiCache fait également tourner un nouveau nœud pour remplacer le réplica en lecture promu dans la même zone de disponibilité que le nœud primaire défaillant. En cas de défaillance du nœud primaire en raison d’une indisponibilité temporaire de la zone de disponibilité, le nouveau réplica est lancé une fois la zone de disponibilité remise en service.
 
Q : Mes réplicas peuvent-ils se trouver dans la même zone de disponibilité que le nœud primaire ?
Oui. Le placement du nœud primaire et des réplicas dans une même zone de disponibilité ne permet toutefois pas de rendre votre groupe de réplications ElastiCache for Redis résilient en cas de défaillance d’une zone de disponibilité. En outre, les réplicas situés dans la même zone de disponibilité que le nœud primaire ne seront pas autorisés si le mode multi-AZ est activé.
 
Q : À la suite de quels événements ElastiCache procède-t-il au basculement vers un réplica en lecture ?
ElastiCache procède au basculement vers un réplica en lecture dès lors qu’un des événements suivants se produit :
  • Perte de disponibilité dans la zone de disponibilité du nœud primaire
  • Perte de connectivité réseau avec le nœud primaire
  • Échec d'unité de calcul sur le serveur primaire

Q : En cas de défaillance du nœud primaire, quel réplica en lecture est promu ?
En cas de défaillance de plusieurs réplicas en lecture, le réplica de lecture ayant le plus petit retard de réplication asynchrone par rapport au nœud primaire sera promu.

Q : Suis-je averti lorsqu'un basculement automatique a lieu ?
Oui. ElastiCache crée un événement pour vous informer qu'un basculement automatique a eu lieu. Vous pouvez utiliser l’API DescribeEvents pour renvoyer des informations sur des événements en rapport à votre nœud ElastiCache, ou cliquer sur la section Events de la console de gestion ElastiCache.

Q : Après le basculement, mon nœud primaire se trouve désormais dans une zone de disponibilité différente de celle de mes autres ressources AWS (les instances Amazon EC2, par exemple). Dois-je m’inquiéter de la latence ?
Les zones de disponibilité sont conçues pour fournir une connectivité réseau à faible latence vers les autres zones de disponibilité de la même région. Vous devriez envisager d’architecturer votre application et d’autres ressources AWS avec une redondance sur plusieurs zones de disponibilité afin que votre application soit résiliente en cas d’interruption d’une zone de disponibilité.
 
Q : Où puis-je trouver des informations supplémentaires sur la fonction multi-AZ ?
Pour plus d'informations sur la fonction multi-AZ, consultez la documentation ElastiCache.

Sauvegarde et restauration

Q : En quoi consiste la fonction de sauvegarde et de restauration ?
La fonctionnalité de sauvegarde et de restauration permet aux clients de créer des instantanés de leurs caches ElastiCache for Redis. ElastiCache conserve ces instantanés et les utilisateurs peuvent les exploiter par la suite afin de restaurer leurs caches Redis.

Q : Quelle est l'utilité des instantanés ?
Il peut être utile de créer des instantanés en prévision d'une perte de données consécutive à la défaillance d'un nœud ou d'une panne matérielle, bien que ce dernier cas soit peu probable. Une autre raison courante d'utiliser des sauvegardes est le besoin d'archivage. Les instantanés sont stockés dans Amazon S3.

Q : Quel est le mode opératoire de la fonction de sauvegarde et de restauration ?
Lorsqu’une sauvegarde est lancée, ElastiCache prend un instantané du cluster Redis spécifié à des fins de restauration ou d’archivage. Vous pouvez lancer une sauvegarde quand vous le souhaitez ou définir une sauvegarde quotidienne récurrente, avec une période de conservation des données de 35 jours maximum. Une fois que vous avez choisi l’instantané à partir duquel effectuer la restauration, un cache ElastiCache for Redis est créé et alimenté à partir des données de l’instantané. Les instantanés ElastiCache for Redis sont compatibles avec le format de fichier open source Redis RDB.

Q : Comment puis-je commencer à utiliser la fonctionnalité de sauvegarde et de restauration ?
Vous pouvez utiliser la fonctionnalité de sauvegarde et de restauration via la consol, les API ElastiCache et l’interface de ligne de commande AWS. Vous pouvez désactiver et réactiver cette fonctionnalité à tout moment.

Q : Comment spécifier le cache ou le nœud Redis à sauvegarder ?
La fonctionnalité de sauvegarde et de restauration crée des instantanés sur la base d’un cache. Les utilisateurs peuvent spécifier le cache ElastiCache for Redis à sauvegarder via la console, l’interface de ligne de commande AWS ou l’API ElastiCache. Nous recommandons aux utilisateurs d’activer la sauvegarde sur l’une des réplicas en lecture du cache, afin de minimiser tout impact potentiel sur le nœud primaire. Lorsque vous utilisez ElastiCache Serverless, les sauvegardes sont automatiquement effectuées par rapport aux réplicas en lecture.

Q : Puis-je exporter les instantanés ElastiCache pour Redis vers un compartiment Amazon S3 que je possède ?
Vous pouvez exporter vos instantanés ElastiCache for Redis vers un compartiment S3 autorisé dans la même région que votre cache.

Q : Je dispose de plusieurs comptes AWS utilisant ElastiCache for Redis. Puis-je utiliser les instantanés ElastiCache d'un compte pour effectuer le démarrage à chaud d'un cluster ElastiCache pour Redis au sein d'un autre compte ?
Oui. Vous devez d'abord copier votre instantané dans un compartiment S3 autorisé de votre choix dans la même région, puis accorder des autorisations de compartiment entre comptes à l'autre compte.

Q : Quel est le coût de la fonction de sauvegarde et de restauration ?
ElastiCache offre un espace de stockage gratuit pour un instantané de chacun de vos caches ElastiCache for Redis actifs. Tout stockage supplémentaire vous est facturé selon l'espace utilisé par les instantanés sur la base de 0,085 USD/Go chaque mois (tarif identique dans toutes les régions). Le transfert des données est gratuit dans le cadre de l’utilisation d’instantanés.

Q : Que deviennent mes instantanés si je supprime mon cache ElastiCache for Redis ?
Lorsque vous supprimez un cache ElastiCache for Redis, vos instantanés manuels sont conservés. Vous avez également la possibilité de créer un instantané final de votre cache avant sa suppression. En revanche, les instantanés mis en cache automatiquement ne sont pas conservés.

Moteur amélioré

Q : En quoi le moteur d'ElastiCache for Redis est-il différent du système open source Redis ?
Le moteur d'ElastiCache for Redis est entièrement compatible avec le système open source Redis, mais contient également des améliorations pour une solution plus robuste et plus stable. Certaines de ces améliorations sont les suivantes :

  • Plus de mémoire disponible : vous pouvez désormais allouer en toute sécurité plus de mémoire pour votre application sans risquer d'augmenter l'utilisation de l'espace d'échange lors des synchronisations et des instantanés.
  • Amélioration de la synchronisation : une synchronisation plus robuste sous des charges élevées et lors des récupérations après des déconnexions réseau. De plus, les synchronisations sont plus rapides, car les nœuds principaux et les réplicas n'utilisent plus le disque pour effectuer cette opération.
  • Basculements plus fluides : en cas de basculement, votre partition récupère désormais plus rapidement, car les réplicas ne vident plus leurs données pour procéder à une resynchronisation complète avec le nœud primaire.
  • Déchargement TLS et multiplexage des E/S : ElastiCache est conçu pour mieux utiliser les ressources CPU disponibles en gérant certains processus liés au réseau sur des threads dédiés.

Q : Dois-je modifier mon code d'application pour utiliser le moteur amélioré sur ElastiCache ?
Non. Le moteur amélioré est entièrement compatible avec le système open source Redis. Vous pouvez donc profiter de cette solution plus robuste et plus stable sans avoir à apporter de modifications à votre code d'application.

Q : Quel est le coût d'utilisation du moteur amélioré ?
L'utilisation du moteur amélioré n'implique aucun coût supplémentaire.

Chiffrement

Q : Qu'apporte le chiffrement au repos d'ElastiCache for Redis ?
Le chiffrement au repos fournit des mécanismes de protection contre l'accès non autorisé à vos données. Lorsqu'il est activé, il chiffre les aspects suivants :

  • Le disque pendant les opérations de synchronisation, de sauvegarde et de permutation
  • Les sauvegardes stockées dans Amazon S3

ElastiCache for Redis offre par défaut le chiffrement au repos (service géré), ainsi que la possibilité d'utiliser vos propres clés AWS KMS symétriques gérées par le client dans AWS KMS. Consultez Chiffrement au repos pour en savoir plus.

Q : Qu'apporte le chiffrement en transit d'ElastiCache for Redis ?
La fonctionnalité de chiffrement en transit facilite le chiffrement des communications entre les clients et ElastiCache for Redis, ainsi qu'entre les serveurs Redis ( réplicas primaires et réplicas en lecture). En savoir plus sur le chiffrement en transit d'ElastiCache.

Q : Comment utiliser le chiffrement en transit, au repos et Redis AUTH ?
Le chiffrement en transit, le chiffrement au repos, Redis AUTH et le contrôle d'accès basé sur les rôles (RBAC) sont des fonctionnalités que vous pouvez sélectionner lors de la création de votre cache ElastiCache for Redis. Si vous avez activé le chiffrement en transit, vous pouvez choisir d'utiliser Redis AUTH ou RBAC pour une sécurité et un contrôle d'accès supplémentaires.

Q : Que dois-je faire pour renouveler les certificats TLS ?
Non. ElastiCache gère l'expiration et le renouvellement des certificats en arrière-plan. Aucune action de la part de l'utilisateur n'est requise pour la maintenance des certificats en cours.

Q : L'utilisation du chiffrement entraîne-t-elle des frais supplémentaires ?
Non, l'utilisation du chiffrement n'entraîne aucun frais supplémentaire.

Global Datastore

Q : Qu'est-ce qu'ElastiCache Global Datastore ?
Global Datastore est une fonctionnalité d’ElastiCache for Redis qui permet une réplication entre régions entièrement gérée, rapide, fiable et sécurisée. Avec Global Datastore, vous pouvez écrire dans votre cache ElastiCache for Redis dans une région et disposer des données en lecture dans deux autres clusters de réplicas entre régions, ce qui permet des lectures à faible latence et une reprise après sinistre entre les régions.

Conçu pour les applications en temps réel avec une empreinte mondiale, Global Datastore réplique généralement les données entre les régions en moins d’une seconde, augmentant ainsi la réactivité de vos applications en fournissant des lectures géolocales plus proches des utilisateurs finaux. Dans le cas improbable d'une dégradation régionale, l'un des caches de réplique inter-régions sains peut être promu au rang de cache primaire avec des capacités de lecture et d'écriture complètes. Ce basculement s'effectue généralement en moins d'une minute, ce qui garantit la disponibilité continue de vos applications.

Q. Vers combien de régions AWS puis-je faire une réplication ?
Vous pouvez effectuer une réplication vers jusqu'à deux régions secondaires grâce à Global Datastore. Les caches des régions secondaires peuvent être utilisés pour les lectures locales à faible latence et pour la reprise après sinistre dans le cas improbable d'une dégradation de la région.

Q : Quelles versions du moteur prennent en charge Global Datastore ?
Global Datastore est pris en charge sur les versions 5.0.6 et supérieures d'ElastiCache for Redis.

Q : Comment créer une banque de données mondiale ?
Pour configurer Global Datastore, vous pouvez utiliser un cache existant ou en créer un nouveau afin de l'utiliser en tant que nœud primaire. Vous pouvez créer un Global Datastore en quelques étapes dans la console de gestion ElastiCache ou en téléchargeant la dernière version du kit SDK AWS ou CLI AWS. Global Datastore est pris en charge par AWS CloudFormation.

Q : ElastiCache bascule-t-il automatiquement un Global Datastore pour promouvoir un cluster secondaire dans le cas d'une dégradation du cluster (région) primaire ?
Non, ElastiCache ne promeut pas automatiquement un cluster secondaire dans le cas où un cluster primaire (Région) est dégradé. Vous pouvez initier manuellement le basculement en transformant un cluster secondaire en cluster primaire. Le basculement et la promotion du cluster secondaire se terminent généralement en moins d’une minute.

Q : Comment mes données sont-elles sécurisées en utilisant Global Datastore ?
Global Datastore utilise le chiffrement en transit pour le trafic inter-régions pour conserver vos données en toute sécurité. En outre, vous pouvez également chiffrer vos caches primaires et secondaires à l'aide du chiffrement au repos afin de mieux sécuriser vos données. Chaque cache primaire et secondaire peut disposer d'une clé AWS KMS distincte gérée par le client pour le chiffrement au repos.

Q : Quel objectif de point de reprise (RPO) et quel objectif de délai de reprise (RTO) puis-je espérer avec Global Datastore ?
ElastiCache ne fournit pas de SLA pour RPO et RTO. Le RPO varie selon la latence de réplication entre les régions et dépend de la latence du réseau inter-régions et de la congestion du trafic de réseau inter-régions. Le RPO du Global Datastore est généralement inférieur à une seconde, de sorte que les données écrites dans une région primaire sont disponibles dans les régions secondaires en l'espace d'une seconde. Le RTO de Global Datastore for Redis est généralement inférieur à une minute. Une fois qu'un basculement vers un cluster secondaire est initié, ElastiCache fait généralement passer le cluster secondaire à des capacités de lecture et d'écriture complètes en moins d'une minute.

Q : Quelle est la tarification applicable à Global Datastore ?
ElastiCache ne facture pas de prime pour utiliser Global Datastore for Redis. Vous payez les clusters primaires et secondaires dans votre Global Datastore, ainsi que le Trafic de transfert de données inter-régions.

Hiérarchisation des données

Q : Qu'est-ce que la fonction de hiérarchisation des données d'ElastiCache for Redis ?
La hiérarchisation des données offre une nouvelle option de prix et de performance pour les charges de travail Redis en utilisant des disques durs à état solide (SSD) moins coûteux dans chaque nœud de cluster, en plus du stockage des données en mémoire. Cette solution est idéale pour les charges de travail qui accèdent régulièrement à 20 % de leur jeu de données et pour les applications qui peuvent tolérer une latence supplémentaire lors de l'accès aux données sur SSD. Les nœuds ElastiCache R6gd avec mémoire et disques SSD ont une capacité de stockage totale près de 5 fois supérieure et peuvent vous aider à réaliser plus de 60 % d'économies sur le prix lors d'une utilisation maximale par rapport aux nœuds ElastiCache R6g avec mémoire uniquement.
 
Q : Comment fonctionne la hiérarchisation des données d'ElastiCache for Redis ?
La hiérarchisation des données fonctionne en transférant automatiquement et de manière fluide les éléments les moins récemment utilisés de la mémoire vers les disques SSD NVMe connectés localement lorsque la capacité de mémoire disponible est entièrement consommée. Lorsqu'un élément transféré vers un SSD est utilisé ultérieurement, ElastiCache le replace en mémoire de manière asynchrone avant de répondre à la demande.
 
Q : Quelles performances puis-je espérer en utilisant des clusters avec la hiérarchisation des données ?
La hiérarchisation des données est conçue pour avoir un impact minimal sur les performances des applications. En supposant des valeurs de chaîne de 500 octets, la latence supplémentaire sera de 300 µs en moyenne pour les demandes de données stockées sur SSD par rapport aux demandes de données en mémoire.
 
Q : Quelles versions du moteur prennent en charge la hiérarchisation des données ?
ElastiCache for Redis prend en charge la hiérarchisation des données pour les versions 6.2 et supérieures de Redis.
 
Q : Quels types de nœuds prennent en charge la hiérarchisation des données ?
ElastiCache for Redis prend en charge la hiérarchisation des données sur les clusters Redis utilisant des nœuds R6gd.
 
Q : Quelles sont les fonctions ElastiCache prises en charge pour les clusters utilisant la hiérarchisation des données ?
Toutes les commandes Redis et la plupart des fonctions ElastiCache sont prises en charge lors de l'utilisation de la hiérarchisation des données. Pour obtenir la liste des fonctions qui ne sont pas prises en charge sur les clusters utilisant la hiérarchisation des données, consultez la documentation.
 
Q : Combien coûte la hiérarchisation des données pour ElastiCache for Redis ?
L'utilisation de la hiérarchisation des données n'entraîne pas de coûts supplémentaires en dehors du coût horaire du nœud. Les nœuds utilisant la hiérarchisation des données sont disponibles avec une tarification à la demande et comme nœuds réservés. Pour la tarification, reportez-vous à la page de tarification d'ElastiCache.

Memcached

Fonctionnalités de Memcached

Q : Que puis-je mettre en cache en utilisant ElastiCache for Memcached ?
Vous pouvez mettre en cache divers objets à l’aide d’ElastiCache for Memcached. Ces objets comprennent le contenu des magasins de données persistants (tels que Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB ou les bases de données autogérées hébergées sur Amazon EC2), les pages web générées dynamiquement (avec Nginx, par exemple), ainsi que les données de session transitoires qui peuvent ne pas nécessiter de magasin de sauvegarde persistant. Vous pouvez aussi utiliser ce service pour implémenter des compteurs à haute fréquence afin de déployer un contrôle des admissions dans les applications web à volume élevé.

Q : Puis-je utiliser ElastiCache for Memcached avec un magasin de données persistant AWS tel qu'Amazon RDS ou DynamoDB ?
Oui. ElastiCache est une interface frontale idéale pour les magasins de données comme Amazon RDS ou DynamoDB, fournissant un niveau intermédiaire de haute performance pour les applications avec des taux de requêtes extrêmement élevés ou des exigences de faible latence.

Q : J'utilise actuellement Memcached. Comment puis-je migrer vers ElastiCache ?
ElastiCache est compatible avec le protocole Memcached. Ainsi, vous pouvez utiliser les opérations Memcached standard comme « get », « set », « incr » et « decr » exactement de la même manière que vous le feriez dans vos déploiements Memcached existants. ElastiCache prend en charge à la fois les protocoles texte et binaire. Il prend aussi en charge la plupart des résultats statistiques standards, qui peuvent aussi être affichés sous forme de graphiques via CloudWatch. Ainsi, vous pouvez passer à l'utilisation d'ElastiCache sans recompiler ou relier vos applications ; les bibliothèques que vous utilisez continuent de fonctionner. Pour configurer les serveurs de cache auxquels accèdent votre application, il vous suffit de mettre à jour le fichier « config » Memcached de votre application pour inclure les points de terminaison des serveurs (nœuds) que nous vous fournissons. Vous pouvez simplement utiliser l'option « Copier points de terminaison de nœud » dans la console ou l'API « DescribeCacheClusters » pour obtenir une liste des points de terminaison. Comme pour tout processus de migration, nous recommandons des tests approfondis de votre nouveau déploiement ElastiCache avant de mettre fin à votre solution actuelle.

Vous pouvez accéder aux clusters ElastiCache dans un Amazon VPC depuis le réseau Amazon EC2 ou depuis votre propre centre de données. Reportez-vous aux modèles d'accès Amazon VPC pour plus de détails. ElastiCache utilise des entrées DNS pour permettre aux applications clientes de situer les serveurs (nœuds). Le nom DNS d'un nœud reste constant, mais l'adresse IP d'un nœud peut changer avec le temps, par exemple, quand les nœuds sont remplacés automatiquement après une défaillance sur une installation sans VPC. Consultez ces FAQ pour obtenir des recommandations sur la gestion des échecs des nœuds.

Configuration et mise à l’échelle

Q : Comment sélectionner un type de nœud adapté à mon application ?
Bien qu'il n'y ait pas de réponse précise à cette question, avec ElastiCache, vous n'avez pas besoin de vous inquiéter d'obtenir le nombre exact de nœuds, car vous pouvez très facilement ajouter ou supprimer des nœuds par la suite. Vous pouvez également utiliser ElastiCache Serverless pour simplifier l'exécution d'un cache Memcached à haute disponibilité. Les deux aspects interdépendants suivants peuvent être pris en considération pour le choix de votre configuration initiale :

  • La mémoire totale requise pour que vos données atteignent le taux de réussite de votre cache cible, et
  • Le nombre de nœuds nécessaires pour maintenir une performance acceptable de l'application sans surcharger le backend de la base de données en cas de défaillance d'un nœud.

La quantité de mémoire requise dépend de la taille de votre ensemble de données et des modèles d'accès de votre application. Pour améliorer la tolérance aux pannes, une fois que vous avez une idée approximative de la mémoire totale requise, divisez cette mémoire en suffisamment de nœuds de manière à ce que votre application puisse survivre à la perte d'un ou de deux nœuds. Par exemple, si vous avez besoin d'une mémoire de 13 Go, vous pouvez utiliser deux nœuds cache.m4.large au lieu d'utiliser un nœud cache.m4.xlarge. Il est important que les autres systèmes tels que les bases de données ne soient pas surchargés si le taux de réussite du cache est temporairement réduit pendant une reprise après panne d'un ou de plusieurs nœuds. Pour en savoir plus, voir le Guide de l’utilisateur ElastiCache.

Q : Un cluster peut-il couvrir plusieurs AZ ?
Oui. Lorsque vous créez un cluster ou que vous ajoutez des nœuds à un cluster existant, vous pouvez sélectionner les AZ des nouveaux nœuds. Vous pouvez soit spécifier le nombre de nœuds nécessaire pour chaque AZ, soit sélectionner Répartir les nœuds entre différentes zones. Si le cluster se trouve dans Amazon VPC, les nœuds peuvent uniquement être placés dans les AZ du groupe de sous-réseaux du cache sélectionné. Pour plus d’informations, voir la documentation sur les VPC ElastiCache.

Q : Combien de nœuds par région puis-je exécuter dans ElastiCache Memcached ?
Vous pouvez exécuter au maximum 300 nœuds par région. Si vous avez besoin de plus de nœuds, veuillez remplir le formulaire de demande d'augmentation des limites ElastiCache.

Q : Comment réagit ElastiCache en cas de panne au niveau d'un nœud ?
Le service détectera la défaillance du nœud et réagira en suivant les étapes automatiques suivantes :

  • ElastiCache répare le nœud en acquérant de nouvelles ressources de service et redirige ensuite le nom DNS existant du nœud pour indiquer ces nouvelles ressources de service. Pour les installations Amazon VPC, ElastiCache s'assure que le nom DNS et l'adresse IP du nœud restent identiques lors de la récupération des nœuds après une défaillance. Pour les installations sans Amazon VPC, ElastiCache s'assure que le nom DNS d'un nœud ne change pas. Cependant, son adresse IP sous-jacente peut varier.
  • Si vous associez un sujet SNS à votre cluster, quand le nouveau nœud est configuré et prêt à être utilisé, ElastiCache envoie une notification SNS pour vous faire savoir que la restauration du nœud a eu lieu. Cela vous permet, si vous le souhaitez, de vous organiser pour que vos applications forcent la bibliothèque cliente Memcached à tenter de se reconnecter aux nœuds réparés. Cela peut s'avérer important, car certaines bibliothèques Memcached cessent d'utiliser un serveur (nœud) indéfiniment si elles rencontrent des erreurs de communication ou des dépassements de délai avec ce serveur.

Q : Si j'estime avoir besoin de davantage de mémoire pour prendre en charge mon application, comment puis-je augmenter la mémoire totale avec ElastiCache ?
Vous pouvez ajouter plus de nœuds à votre cluster Memcached existant en utilisant l'option « Add Node » dans l'onglet « Nodes » de votre cluster de cache dans la console ou à l'aide de l'API ModifyCacheCluster.

Compatibilité

Q : Comment est-ce qu’ElastiCache interagit avec les autres services AWS ?
ElastiCache est parfaitement adapté en tant qu’interface frontale pour les services AWS tels qu’Amazon RDS et DynamoDB, offrant une latence extrêmement faible pour les applications à hautes performances et déchargeant une partie du volume de requêtes tandis que ces services assurent la durabilité des données à long terme. Le service peut aussi être utilisé pour améliorer les performances des applications en association avec Amazon EC2 et Amazon EMR.

Q : ElastiCache est-il mieux adapté à un langage de programmation particulier ?
Les bibliothèques clientes Memcached sont disponibles pour beaucoup, si ce n'est tous les langages de programmation. Si vous rencontrez des problèmes avec des clients Memcached spécifiques lors de l'utilisation d'ElastiCache, veuillez nous en informer à travers le forum de la communauté Amazon ElastiCache.

Q : Quelles sont les bibliothèques Memcached les plus populaires compatibles avec ElastiCache ?
ElastiCache ne nécessite pas de bibliothèques clientes spécifiques et fonctionne avec les bibliothèques clientes Memcached existantes sans recompilation ni reconnexion des applications (Memcached 1.4.5 et versions ultérieures). Les exemples incluent LibMemcached (C) et les bibliothèques basées sur celui-ci (par exemple, PHP, Perl, Python), SpyMemcached (Java) et fauna (Ruby).

Détection automatique

Q : En quoi consiste la détection automatique et à quoi sert-elle ?
La détection automatique est une fonctionnalité qui simplifie la tâche des développeurs et leur permet de gagner du temps en réduisant la complexité de leurs applications. La détection automatique permet aux clients de repérer automatiquement les nœuds de cache qui sont ajoutés ou retirés d’un cluster ElastiCache. Jusqu'à présent, pour traiter les changements au niveau de l'appartenance au cluster, les développeurs devaient mettre à jour manuellement la liste des points de terminaison des nœuds de cache. Or, selon l'architecture de l'application client, cette opération nécessitait généralement une réinitialisation du client, en quittant l'application puis en la redémarrant, ce qui impliquait une interruption de l'activité. Grâce à Auto Discovery, ElastiCache élimine cette complexité. Outre une rétrocompatibilité avec le protocole Memcached, la fonctionnalité de détection automatique associée à ElastiCache fournit aux clients des informations concernant l'appartenance au cluster de cache. Tout client capable de traiter les informations supplémentaires se reconfigure, sans aucune initialisation, pour utiliser les nœuds les plus récents d'un cluster ElastiCache.

Q : Comment fonctionne la détection automatique ?
Un cluster ElastiCache peut être créé avec des nœuds auxquels il est possible de s'adresser à travers des points de terminaison nommés. Grâce à la détection automatique, le cluster ElastiCache dispose d'un point de terminaison de configuration unique. Ce point de terminaison correspond à un enregistrement DNS valide pour toute la durée de vie du cluster. Cet enregistrement DNS comprend les noms DNS des nœuds du cluster. ElastiCache s'assure que le point de terminaison de configuration pointe toujours vers un de ces nœuds « cibles » au moins. L'interrogation envoyée au nœud cible renvoie les points de terminaison pour tous les nœuds du cluster considéré. Vous pouvez, ensuite, connecter les nœuds du cluster comme vous le faisiez auparavant et utiliser les commandes du protocole Memcached tel que « get », « set », « incr » et « decr ». Pour en savoir plus, reportez-vous à la documentation. Afin d'exploiter la détection automatique, vous aurez besoin d'un client capable de la prendre en charge. Les clients de détection automatique pour .Net, Java et PHP sont disponibles en téléchargement à partir de la console ElastiCache. Lors de son initialisation, le client détermine automatiquement les membres actuels du cluster ElastiCache par le biais du point de terminaison de configuration. Lorsque vous apportez des modifications à votre cluster de cache en y ajoutant ou en supprimant des nœuds, ou si un nœud est remplacé suite à une défaillance, le client de la détection automatique repère automatiquement ces changements, sans que vous deviez initialiser vos clients manuellement.

Q : Comment commencer à utiliser la détection automatique ?
Pour commencer, téléchargez le client de cluster ElastiCache en cliquant sur le lien « Download ElastiCache Cluster Client » à partir de la console ElastiCache. Afin d'effectuer ce téléchargement, vous devez posséder un compte ElastiCache ; si ce n'est pas déjà le cas, inscrivez-vous sur la page de présentation d'ElastiCache. Une fois le client téléchargé, vous pouvez commencer à configurer et à activer votre cluster ElastiCache à partir de la console ElastiCache. Vous trouverez plus d’informations dans notre documentation.

Q : Si je continue à utiliser mes propres clients Memcached avec mon cluster ElastiCache, pourrai-je utiliser cette fonctionnalité ?
Non. Vous ne pourrez pas utiliser la fonctionnalité de détection automatique avec vos clients Memcached actuels. Afin d'exploiter la fonctionnalité de détection automatique, un client doit pouvoir utiliser un point de terminaison de configuration et déterminer les points de terminaison des nœuds du cluster. Vous pouvez utiliser le client de cluster Amazon ElastiCache ou étendre votre client Memcached actuel afin d'inclure le Jeu de commandes de détection automatique.

Q : Quelle est la configuration matérielle/logicielle requise pour la détection automatique ?
Afin d'exploiter la fonctionnalité de détection automatique, un client prenant en charge cette fonctionnalité doit être utilisé pour se connecter au cluster ElastiCache. ElastiCache prend actuellement en charge les clients de détection automatique pour .Net, Java et PHP. Ils sont téléchargeables à partir de la console ElastiCache. Sachez que vous pouvez créer des clients pour d'autres langages à partir des clients Memcached les plus courants.

Q : Comment puis-je modifier ou écrire mon propre client Memcached pour prendre en charge la détection automatique ?
Vous pouvez utiliser n'importe quelle bibliothèque de clients Memcached et y adjoindre une fonctionnalité prenant en charge la détection automatique. Si vous souhaitez ajouter ou modifier votre propre client pour bénéficier de la détection automatique, consultez la documentation relative au jeu de commandes de détection automatique.

Q : Puis-je continuer à utiliser mon client Memcached actuel si je n'ai pas besoin de la détection automatique ?
Oui. ElastiCache reste compatible avec le protocole Memcached et ne nécessite pas que vous modifiiez vos clients. Toutefois, pour tirer parti de la fonctionnalité Auto Discovery, nous avons amélioré les fonctionnalités du client Memcached. Si vous décidez de ne pas utiliser le client de cluster ElastiCache, vous pouvez continuer avec vos propres clients ou modifier votre bibliothèque de clients afin d'y intégrer le jeu de commandes de détection automatique.

Q : Puis-je utiliser des clients hétérogènes avec la détection automatique ?
Oui. Un même cluster ElastiCache peut être connecté à la fois à un client doté de la détection automatique et à un client Memcached classique. ElastiCache reste compatible à 100 % avec Memcached.

Q : Puis-je arrêter d'utiliser la détection automatique ?
Oui. Vous pouvez cesser d'utiliser la détection automatique à tout moment. Vous pouvez désactiver la détection automatique en précisant le mode de fonctionnement lors de l'initialisation du client de cluster ElastiCache. Par ailleurs, ElastiCache prenant toujours totalement en charge Memcached, vous pouvez utiliser tout client compatible avec le protocole Memcached comme auparavant.

Gestion des versions du moteur

Q : Puis-je contrôler l’éventualité et la date de mise à niveau de la version du moteur du cluster ElastiCache vers les nouvelles versions prises en charge ?
ElastiCache vous permet de contrôler si et quand le logiciel compatible avec le protocole Memcached alimentant votre cluster doit être mis à niveau vers de nouvelles versions prises en charge par ElastiCache. Vous pouvez donc choisir de maintenir la compatibilité avec des versions Memcached spécifiques, de tester les nouvelles versions avec votre application avant le déploiement en production et de réaliser des mises à niveau en fonction de vos propres conditions et délais. Les mises à niveau de version impliquent quelques risques de compatibilité. Par conséquent, elles ne se produiront pas automatiquement et vous devrez donc les lancer vous-même. Cette approche de l'application de patchs de logiciel vous donne le contrôle des mises à niveau de version, mais déleste quand même la tâche de l'application de patchs vers ElastiCache. Vous pouvez en apprendre plus sur la gestion des versions en lisant les FAQ suivantes. Sinon, vous pouvez vous référer au Guide de l'utilisateur ElastiCache. Bien que la fonctionnalité de gestion des versions du moteur soit destinée à vous donner autant de contrôle que possible sur la façon dont les correctifs sont appliqués, nous pouvons corriger votre cluster en votre nom si nous déterminons qu'il y a une vulnérabilité de sécurité dans le système ou le logiciel de cache.

Q : Comment puis-je spécifier quelle version de Memcached mon cluster doit exécuter ?
Vous pouvez spécifier n'importe quelle version actuellement prise en charge (mineure et/ou majeure) lors de la création d'un nouveau cluster. Si vous souhaitez lancer une mise à niveau vers une version de moteur prise en charge, vous pouvez utiliser l'option « Modifier » pour votre cluster. Spécifiez simplement la version que vous souhaitez mettre à niveau via le champ « Cache Engine Version ». La mise à niveau sera alors appliquée en votre nom, soit immédiatement (si l'option « Appliquée immédiatement » est cochée), soit lors de la prochaine fenêtre de maintenance programmée pour votre cluster.

Q : Puis-je tester mon cluster par rapport à une nouvelle version avant de procéder à la mise à niveau ?
Oui. Pour cela, créez un nouveau cluster avec la nouvelle version du moteur. Vous pouvez pointer votre application de développement/travail vers ce cluster, la tester et décider de mettre à niveau ou non votre cluster d'origine.

Q : ElastiCache fournit-il des recommandations concernant la prise en charge de nouvelles versions de et/ou l'obsolescence des versions Memcached actuellement prises en charge ?
Nous prévoyons de prendre en charge d'autres versions de Memcached for Amazon ElastiCache, qu'elles soient majeures ou mineures. Le nombre de nouvelles versions prises en charge dans une année donnée variera en fonction de la fréquence ainsi que du contenu des parutions de version Memcached et du résultat d'un examen approfondi de la version par notre équipe d'ingénierie.

Q : Comment puis-je effectuer une mise à niveau vers la dernière version de Memcached ?
Vous pouvez mettre à niveau votre cluster Memcached existant à l'aide du processus Modify. Lors de la mise à niveau d'une ancienne version de Memcached vers la version 1.4.33 ou une version ultérieure, assurez-vous que la valeur max_chunk_size du paramètre existant répond aux conditions requises pour le paramètre slab_chunk_max. Voir les conditions préalables de mise à niveau.

En savoir plus sur la tarification d’ElastiCache for Redis

Visiter la page de tarification
Prêt à concevoir ?
Démarrer avec ElastiCache for Redis
D’autres questions ?
Contactez-nous