Q : Qu'est-ce qu'Amazon ElastiCache ?

Amazon ElastiCache est un service Web qui simplifie le déploiement et l'exécution de nœuds de serveur compatibles avec Memcached ou Redis dans le cloud. Amazon ElastiCache améliore les performances des applications web en vous permettant de récupérer des informations depuis un système en mémoire rapide et géré, au lieu de vous en remettre entièrement à des bases de données lentes basées 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 Amazon 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.

Amazon ElastiCache automatise les tâches administratives courantes nécessaires à l'exploitation d'un environnement clé/valeur distribué. Grâce à Amazon 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 AWS Management Console. Une fois le cluster mis en service, Amazon ElastiCache détecte et remplace automatiquement les nœuds en échec, fournissant ainsi un système résilient pour diminuer le risque de bases de données surchargées, lesquelles ralentissent les temps de chargement des sites Web et applications. Grâce à l'intégration à la surveillance Amazon CloudWatch, Amazon ElastiCache fournit une visibilité améliorée sur les métriques de performance clé associées à vos nœuds. Amazon 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. Grâce à la prise en charge de la configuration en cluster dans Amazon ElastiCache, vous profitez des avantages d'un service rapide, évolutif et facile à utiliser qui peut répondre aux besoins de vos applications les plus exigeantes. A l'instar de tous les services AWS, il n'y a pas d'investissement initial à réaliser et vous ne payez que les ressources que vous utilisez.

Q : En quoi consiste la mise en cache en mémoire et quel en est l'intérêt pour mes applications ?

La mise en cache en mémoire fournie par Amazon ElastiCache peut être utilisée pour améliorer significativement la latence et le débit depuis plusieurs tâches de travail d'application à lecture intensive, (tels que les réseaux sociaux, le jeu, le partage de média et les portails Q&A) ou les tâches de travail de calcul intensif (tel que les moteurs de recommandations). La mise en cache en mémoire améliorer la performance de l'application en stockant les pièces de données critiques dans la 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 : Puis-je utiliser Amazon ElastiCache pour d'autres applications que la mise en cache ?

R : Oui. ElastiCache for Redis peut être utilisé comme un magasin de données clé/valeur en mémoire principal, offrant des performances rapides (inférieures à la milliseconde) en matière de données, une haute disponibilité et une évolutivité jusqu'à 16 nœuds et jusqu'à 5 réplicas en lecture, chacun(e) offrant jusqu'à 3,55 Tio de données en mémoire. Cliquez ici pour consulter les autres cas d'utilisation, tels que les classements, la limitation de vitesse, les files d'attente et les discussions.

Q : Puis-je utiliser Amazon ElastiCache via AWS CloudFormation ?

AWS CloudFormation simplifie la mise en service et la gestion en fournissant des templates AWS CloudFormation pour assurer le dimensionnement rapide et fiable des services ou applications. AWS CloudFormation assure une prise en charge complète d'Amazon ElastiCache en fournissant des templates pour créer un cluster (MemCached et Redis) et des groupes de réplication. Les templates sont mis à jour avec la dernière annonce d'ElastiCache Redis pour la configuration Redis en cluster et offrent flexibilité et facilité d'utilisation aux clients d'Amazon ElastiCache.

Q : Quelles sont les tâches qu'Amazon ElastiCache gère à ma place ?

Amazon ElastiCache gère les tâches liées à la configuration d'un environnement en mémoire distribué, de la mise en service des ressources serveur demandées à l'installation du logiciel. Une fois que votre environnement est opérationnel, le service automatise les tâches administratives courantes telles que la détection des pannes et la restauration, ainsi que l'application des patchs de logiciel. Amazon ElastiCache fournit des métriques de surveillance détaillées associées à vos nœuds, 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 : Que sont les nœuds, les partitions et les clusters d'Amazon ElastiCache ?

Un nœud est la plus petite composante d'un déploiement Amazon ElastiCache. C'est une partie à taille fixe de RAM sécurisée attachée au réseau. Chaque nœud exécute une instance du service compatible avec le protocole Memcached ou Redis et possède un nom DNS et un port DNS qui lui sont propres. Plusieurs types de nœuds sont pris en charge, chacun avec différentes tailles de mémoire associées. Une partition Redis est un sous-ensemble de l'espace de clés du cluster qui peut comprendre un nœud principal et zéro ou plusieurs réplicas en lecture. Pour en savoir plus sur les déploiements Redis, consultez la section « Redis » ci-dessous. Les partitions s'ajoutent pour former un cluster.

Q : Quels sont les moteurs pris en charge par Amazon ElastiCache ?

Amazon ElastiCache pour Memcached prend actuellement en charge Memcached 1.4.5, 1.4.14, 1.4.24, 1.4.33 et 1.4.34

Amazon ElastiCache for Redis prend actuellement en charge Redis 2.8.21, 2.8.22, 2.8.23, 2.8.24, 3.2.4, 3.2.6 et 3.2.10.

Q : Comment démarrer avec Amazon ElastiCache ?

Si vous n'êtes pas déjà inscrit à Amazon ElastiCache, vous pouvez cliquer sur le bouton "Inscrivez-vous maintenant" sur la page détail Amazon ElastiCache et terminer la procédure d'inscription. Vous devez posséder un compte Amazon Web Services ; dans le cas contraire, vous serez invité à en créer un au début de la procédure d'inscription à Amazon ElastiCache. Après vous être inscrit à ElastiCache, consultez la documentation Amazon ElastiCache, qui inclut notre manuel Getting Started Guide.

Une fois familiarisé avec Amazon ElastiCache, vous pouvez lancer un cluster en quelques minutes à l'aide d'AWS Management Console ou des API Amazon ElastiCache.

Q : Comment créer un cluster ?

Pour créer des clusters, il suffit d'utiliser AWS Management Console, les API Amazon ElastiCache ou les outils de ligne de commande. Pour lancer un cluster à l'aide d'AWS Management Console, cliquez sur le bouton « Create » dans l'onglet « Memcached » ou « Redis ». Il vous suffit ensuite de spécifier l'identifiant de votre cluster ainsi que le type et le nombre de nœuds, afin de créer un cluster avec la quantité de mémoire dont vous avez besoin. Vous pouvez également créer votre cluster à l'aide de l'API CreateCacheCluster ou de la commande elasticache-create-cache-cluster. Si vous ne spécifiez aucune zone de disponibilité lors de la création d'un cluster, AWS procède automatiquement à son placement en fonction de vos exigences de mémoire et de la capacité disponible.

Q : Quels types de nœuds puis-je sélectionner ?

Amazon ElastiCache prend en charge les types de nœuds suivants :

Nœuds de la génération actuelle :

  • cache.m3.medium : 2.78 Go
  • cache.m3.large : 6,05 Go
  • cache.m3.xlarge : 13.3 Go
  • cache.m3.2xlarge : 27.9 Go
  • cache.m4.large : 6,42 Go
  • cache.m4.xlarge : 14,28 Go
  • cache.m4.2xlarge : 29,7 Go
  • cache.m4.4xlarge : 60,78 Go
  • cache.m4.10xlarge : 154,64 Go
  • cache.r3.large : 13,5 Go
  • cache.r3.xlarge : 28,4 Go
  • cache.r3.2xlarge : 58,2 Go
  • cache.r3.4xlarge : 118 Go
  • cache.r3.8xlarge : 237 Go
  • cache.t2.micro : 555 Mo
  • cache.t2.small : 1,55 Go
  • cache.t2.medium : 3,22 Go
 
Nœuds de la génération précédente :
 
  • cache.m1.small : 1,3 Go
  • cache.m1.medium : 3,35 Go
  • cache.m1.large : 7,1 Go
  • cache.m1.xlarge : 14,6 Go
  • cache.m2.xlarge : 16.7 Go
  • cache.m2.2xlarge : 33.8 Go
  • cache.m2.4xlarge : 68 Go
  • cache.t1.micro : 213 Mo
  • cache.c1.xlarge : 6,6 Go

Pour chaque type de nœud ci-dessus, la mémoire disponible pour Memcached ou Redis est indiquée après avoir pris en compte le logiciel système Amazon ElastiCache. La quantité totale de mémoire dans le cluster est un multiple entier de la mémoire disponible dans chaque partition. Par exemple, un cluster constitué de dix partitions de 6 Go chacune fournit une mémoire totale de 60 Go.

Q : Comment accéder à mes nœuds ?

Une fois votre cluster disponible, vous pouvez retrouver vos points de terminaison de nœuds en suivant les étapes ci-dessous dans AWS Management Console :

  • Naviguez dans l'onglet "Amazon ElastiCache".
  • Cliquez sur le lien "(Nombre de) Nœuds" et naviguez dans l'onglet "Nœuds".
  • Cliquez sur le bouton "Copier point de terminais de Nœud".

Autrement, vous pouvez utiliser l'API DescribeCacheClusters pour récupérer la liste des points de terminaison.

Vous pouvez ensuite configurer votre client Memcached ou Redis avec cette liste de points de terminaison et utiliser votre langage de programmation favori pour ajouter ou supprimer des données sur vos nœuds ElastiCache. Pour permettre les demandes réseau vers vos nœuds, vous devez autoriser l'accès. Pour une explication détaillée sur comment démarrer, veuillez vous référer à notre Manuel de mise en route.

Q : Qu'est-ce qu'une fenêtre de maintenance ? Mes nœuds seront-ils disponibles pendant la maintenance du logiciel ?

Vous pouvez envisager la fenêtre de maintenance Amazon ElastiCache comme à une opportunité de contrôler quand les patchs logiciel ont lieu, dans le cas soit qu'ils soient demandés soit qu'ils soit nécessaires. Si un évènement de « maintenance » est planifié pour une semaine donnée, il sera déclenché et terminé à un moment donné pendant la fenêtre de maintenance de 60 minutes que vous identifiez.

Vos nœuds peuvent subir quelques ralentissements durant votre créneau de maintenance si l'application d'un patch logiciel est prévue. Pour plus d'informations, consultez le document « Engine Version Management ». Le patch peut être demandé par l'utilisateur – par exemple la mise à niveau du logiciel de mise en cache, ou déterminée comme nécessaire (si nous identifions des vulnérabilités de sécurité dans le système ou le logiciel de mise en cache). Ce type de correction a lieu peu fréquemment (en général une fois à quelques mois d'intervalle) et devrait rarement nécessiter plus d'une fraction de votre fenêtre de maintenance. Si vous ne spécifiez pas un créneau de maintenance hebdomadaire préféré lors de la création de votre cluster, une valeur par défaut de 60 minutes est attribuée. Si vous souhaitez modifier la planification de la maintenance, vous pouvez le faire en modifiant votre instance DB dans AWS Management Console ou en utilisant l'API ModifyCacheCluster. Si vous le souhaitez, vous pouvez attribuer un créneau de maintenance préféré différent à chacun de vos clusters.


Q : Comment mon utilisation d'Amazon ElastiCache me sera-t-elle facturée ?

Vous payez uniquement ce que vous utilisez et il n'y a pas de frais minimum. La tarification est basée sur le nombre d'heures de nœud consommées pour chaque type de nœud. Les heures de Nœud partielles consommées sont facturées en tant qu'heures entières. Il n'y a pas de frais pour les transferts de données entre Amazon EC2 et Amazon ElastiCache au sein de la même zone de disponibilité. Alors que des frais de transfert de données régionales standard Amazon EC2 s'appliquent lors du transfert des données entre une instance Amazon EC2 et un nœud Amazon ElastiCache dans différentes zones de disponibilité de la même région, vous n'êtes facturé que pour le transfert de données entrant ou sortant de l'instance Amazon EC2. Il n'y a pas de frais de transfert de données Amazon ElastiCache pour le trafic entrant ou sortant du nœud Amazon ElastiCache lui-même. Pour plus d'informations, consultez la page relative à la tarification.

Q : Quelles sont les dates de fin et de début de facturation pour mes nœuds Amazon ElastiCache ?

La facturation d'un nœud commence dès qu'il est disponible. La facturation se poursuit jusqu'à ce que le nœud soit arrêté, ce qui est le cas lors de sa suppression.

Q : Comment sont définies les heures d'utilisation facturables des nœuds ElastiCache ?

Des heures de nœud vous sont facturées dès que l'état de vos nœuds indique qu'ils sont disponibles. Si vous ne souhaitez plus être facturé pour un nœud, vous devez y mettre fin pour éviter que des heures d'utilisation supplémentaires ne vous soient facturées.

Q : vos prix sont-ils toutes taxes comprises ?

Sauf indication contraire, nos prix n'incluent pas les taxes et redevances applicables, y compris la TVA et les taxes sur les ventes applicables. Pour les clients dont l'adresse de facturation est située au Japon, l'utilisation de services AWS est soumise à la taxe sur la consommation applicable dans ce pays. En savoir plus.


Q : Que sont les nœuds réservés Amazon ElastiCache ?

Avec les nœuds réservés, vous pouvez désormais effectuer un paiement initial unique pour souscrire une réservation d'un ou trois ans dans le but d'exécuter votre nœud dans une région spécifique et de recevoir une réduction importante sur le coût d'utilisation horaire continu. Il existe trois types de nœuds réservés (nœuds réservés d'utilisation légère, modérée et intensive) qui permettent d'équilibrer le montant payé à l'avance avec votre prix horaire effectif.

Q : En quoi les nœuds réservés sont-ils différents des nœuds à la demande ?

Pour ce qui est de leur fonctionnalité, les nœuds réservés et les nœuds à la demande sont exactement identiques. La seule différence est la manière dont vos nœuds sont facturés ; avec les nœuds réservés, vous effectuez un paiement initial unique et profitez d'un tarif d'utilisation horaire continu inférieur (par rapport aux nœuds à la demande) pendant la durée de la période de réservation.

Q : Comment acheter et créer des nœuds réservés ?

Vous pouvez utiliser l'option « Purchase Reserved Nodes » dans AWS Management Console. Autrement, vous pouvez utiliser les outils API pour afficher la liste des réservations disponibles à l'achat avec la méthode API DescribeReservedCacheNodesOfferings et ensuite acheter une réservation de nœud de cache en appelant la méthode PurchaseReservedCacheNodesOffering.

La création d'un nœud réservé est semblable au lancement d'un nœud à la demande. Il vous suffit de préciser la classe et la région du nœud que vous avez réservé. Si votre achat de réservation a été réalisé correctement, Amazon ElastiCache applique un tarif horaire réduit au nouveau nœud.

Q : Y aura-t-il toujours des réservations disponibles à l'achat ?

Oui. Les nœuds réservés sont achetés pour une région plutôt que pour une zone de disponibilité. Cela signifie que, même si la capacité est limitée dans une zone de disponibilité donnée, les réservations peuvent toujours être achetées dans cette région et utilisées dans une zone de disponibilité différente au sein de cette région.

Q : Combien de nœuds de cache réservés puis-je acheter ?

Vous pouvez acheter jusqu'à 20 nœuds réservés. Si vous souhaitez exécuter plus de 20 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 et dans la même région que le nœud que vous exécutez actuellement et que vous aimeriez réserver. Une fois la réservation terminée, Amazon ElastiCache applique automatiquement le nouveau coût d'utilisation horaire à 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 tarif associés à un nœud réservé sont activés une fois que votre demande a été reçue, lorsque 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 d'Amazon ElastiCache permettant de créer, modifier et supprimer les nœuds ne font pas la distinction entre les nœuds à la demande et réservés ; vous pouvez donc les utiliser ensemble sans difficulté. Lors du calcul de votre facture, notre système applique automatiquement vos réservations, afin que tous les nœuds éligibles soient facturés au tarif horaire inférieur dont bénéficient les nœuds de cache réservés.

Q : Puis-je déplacer un nœud réservé depuis une région ou une zone de disponibilité 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 ?

Le paiement unique pour les nœuds réservés n'est pas remboursable. Toutefois, vous pouvez choisir de mettre fin à votre nœud à tout moment. Aucun coût d'utilisation horaire ne vous sera alors facturé dans le cas de nœuds réservés d'utilisation légère ou modérée.


Q : Comment puis-je contrôler l'accès à Amazon ElastiCache ?

Lorsque vous n'utilisez pas le VPC, Amazon ElastiCache vous permet de contrôler l'accès à vos clusters par le biais de groupes de sécurité du cache. Un groupe de sécurité agit comme un pare-feu contrôlant l'accès du réseau à votre cluster. Par défaut, l'accès au réseau est désactivé pour vos clusters. Si vous souhaitez que vos applications accèdent à votre cluster, vous devez explicitement activer l'accès depuis les hôtes dans des groupes de sécurité EC2 spécifiques. Ce processus est appelé entrée.

Pour autoriser l'accès réseau à votre cluster, créez un groupe de sécurité et liez-y les groupes de sécurité EC2 désirés (qui, en retour, spécifient les instances EC2 autorisées). Le groupe de sécurité peut être associé à votre cluster au moment de sa création ou à l'aide de l'option « Modifier » dans AWS Management Console.

Veuillez noter que le contrôle d'accès basé sur la plage d'adresses IP est actuellement non activé pour les clusters. Tous les clients d'un cluster doivent figurer au sein du réseau EC2 et être autorisés via les groupes de sécurité comme décrit ci-dessus.

Si vous utilisez le VPC, cliquez ici pour en savoir plus.

Q : Les programmes exécutés sur les serveurs de mon propre centre de données peuvent-ils accéder à Amazon ElastiCache ?

Non. Actuellement, tous les clients d'une Grappe ElastiCache doivent être au sein du réseau EC2, et autorisés via les groupes de sécurité comme décrit ici.

Q : Les programmes s'exécutant sur les instances EC2 d'un VPC peuvent-ils accéder à Amazon ElastiCache ?

Oui, les instances EC2 d'un VPC peuvent accéder à Amazon ElastiCache si le cluster ElastiCache a été créé dans le VPC. Pour en savoir plus sur la procédure permettant de créer un cluster Amazon ElastiCache dans un VPC, cliquez ici.

Q : Qu'est-ce qu'Amazon Virtual Private Cloud (VPC) et pourquoi devrais-je l'utiliser avec Amazon ElastiCache ?

Amazon VPC vous permet de créer un environnement de réseau virtuel dans une section privée et isolée du cloud Amazon Web Services (AWS), où vous pouvez exercer un contrôle total sur les aspects tels que les plages d'adresses IP privées, les sous-réseaux, les tables de routage et les passerelles réseau. Avec Amazon VPC, vous pouvez définir une topologie de réseau virtuel et personnaliser la configuration réseau afin qu'elle ressemble étroitement à un réseau IP classique que vous pourriez exploiter dans votre propre centre de données.

Vous pouvez, en particulier, utiliser Amazon ElastiCache dans un VPC si vous souhaitez exécuter une application Web destinée au grand public, tout en continuant à exploiter des serveurs dorsaux non accessibles au public dans un sous-réseau privé. Vous pouvez créer un sous-réseau destiné au grand public pour vos serveurs Web avec accès à Internet et placer votre infrastructure dorsale au sein d'un sous-réseau privé sans accès à Internet. Votre infrastructure backend peut, par exemple, contenir des instances DB RDS et un cluster Amazon ElastiCache qui fournit la couche en mémoire. Pour en savoir plus sur Amazon VPC, consultez le manuel Amazon Virtual Private Cloud User Guide.

Q : Comment créer un cluster Amazon ElastiCache dans VPC ?

Pour consulter un exemple détaillant la procédure de création d'un cluster Amazon ElastiCache dans VPC, reportez-vous au manuel Amazon ElastiCache User Guide.

Vous trouverez ci-après les prérequis à la création d'un cluster dans un VPC :

  • Vous devez disposer d'un VPC configuré avec au moins un sous-réseau. Pour en savoir plus sur la création d'une instance Amazon VPC et de sous-réseaux (subnets), reportez-vous au manuel Getting Started Guide for Amazon VPC.
  • Un groupe de sous-réseaux doit être défini pour votre VPC.
  • Un groupe de sécurité VPC doit être défini pour votre VPC (vous pouvez également utiliser le groupe fourni par défaut).
  • De plus, vous devez allouer des blocs d'adresse CIDR de taille égale à chacun de vos sous-réseaux de sorte qu'il y ait suffisamment d'adresses IP de rechange à disposition d'Amazon ElastiCache pendant les opérations de maintenance (par exemple, remplacement du nœud de cache).

Q : Comment créer un cluster Amazon ElastiCache dans une instance existante de VPC ?

La procédure de création d'un cluster Amazon ElastiCache dans un VPC existant est identique à celle réalisée dans un nouveau VPC. Pour en savoir plus, cliquez ici.

Q : Comment se connecter à un nœud ElastiCache dans VPC ?

Les nœuds Amazon ElastiCache déployés dans un VPC sont accessibles par les instances EC2 déployées dans le même VPC. Si ces instances EC2 sont déployées dans un sous-réseau public avec des adresses IP Elastic associées, vous pouvez accéder aux instances EC2 sur Internet.

Si vous souhaitez accéder aux nœuds Amazon ElastiCache, déployés dans un VPC, depuis l'Internet ou depuis des instances EC2 à l'extérieur du VPC, veuillez suivre les directives figurant ici.

Nous vous recommandons vivement d'utiliser le nom DNS pour la connexion à votre nœud ElastiCache, car l'adresse IP sous-jacente peut être amenée à changer (par exemple, après le remplacement d'un nœud du cache).

Q : Qu'est-ce qu'un groupe de sous-réseaux et pourquoi en ai-je besoin ?

Un groupe de sous-réseaux est un ensemble de sous-réseaux que vous devez attribuer à votre cluster Amazon ElastiCache dans un VPC. La création d'un groupe de sous-réseaux s'effectue à partir de la console Amazon ElastiCache. Chaque groupe de sous-réseaux doit disposer d'au moins un sous-réseau. Amazon ElastiCache utilise ce groupe de sous-réseaux pour sélectionner un sous-réseau. Les adresses IP du sous-réseau sélectionné sont ensuite associées aux points de terminaison du nœud. En outre, Amazon ElastiCache crée des interfaces réseau Elastic et les associe aux nœuds correspondant aux adresses IP précédemment mentionnées.

Il est fortement recommandé d'utiliser les noms DNS pour la connexion à vos nœuds, car l'adresse IP sous-jacente peut être amenée à changer (par exemple, après le remplacement d'un nœud du cache).

Q : Est-il possible de changer le groupe de sous-réseaux de mon cluster ElastiCache ?

Un groupe de sous-réseaux existant peut être mis à jour afin d'ajouter des sous-réseaux supplémentaires soit pour les zones de disponibilité existantes, soit pour les nouvelles zones de disponibilité ajoutées depuis la création du cluster ElastiCache. Toutefois, la modification d'un tel groupe de sous-réseaux d'un cluster déployé n'est actuellement pas autorisée.

Q : En quoi l'utilisation d'Amazon ElastiCache diffère-t-elle selon qu'elle se fait au sein ou en dehors d'un VPC ?

La fonctionnalité initiale d'Amazon ElastiCache reste identique, que vous utilisiez un VPC ou non. Amazon ElastiCache prend en charge l'identification automatique des pannes, la récupération, le dimensionnement, la détection automatique et l'application de correctifs logiciels, que votre cluster ElastiCache se trouve à l'intérieur ou à l'extérieur d'un VPC.

Au sein d'un VPC, les nœuds d'un cluster ElastiCache sont uniquement associés à une adresse IP privée (au sein d'un sous-réseau que vous définissez). En dehors d'un VPC, l'accès au cluster ElastiCache peut être contrôlé à l'aide des groupes de sécurité, selon la procédure décrite ici.

Q : Puis-je déplacer mon cluster ElastiCache actuellement situé hors de VPC vers mon VPC ?

Non, il n'est pas possible de déplacer vers le VPC un cluster Amazon ElastiCache actuellement hors du VPC. Vous devez créer un autre cluster Amazon ElastiCache au sein du VPC.

Q : Puis-je déplacer mon cluster ElastiCache actuellement situé dans le VPC hors de celui-ci ?

Actuellement, la migration directe des clusters ElastiCache depuis l'intérieur vers l'extérieur d'un VPC n'est pas prise en charge. Vous devez créer un autre cluster Amazon ElastiCache en dehors du VPC.

Q : Comment contrôler les accès réseau à mon cluster ?

Amazon ElastiCache vous permet de contrôler l'accès à votre cluster et donc, aux nœuds, à partir des groupes de sécurité qui ne sont pas inclus dans un déploiement VPC. Un groupe de sécurité fonctionne comme un pare-feu contrôlant l'accès du réseau à votre nœud. Par défaut, l'accès réseau est désactivé pour vos nœuds. Si vous souhaitez que vos applications accèdent à votre nœud, vous pouvez configurer votre groupe de sécurité pour autoriser l'accès depuis les instances EC2 avec des groupes de sécurité EC2 ou des plages d'adresses IP spécifiques. Ce processus est appelé entrée. Une fois que l'entrée est configurée pour un groupe de sécurité, les mêmes règles sont appliquées à tous les nœuds associés à ce groupe. Les groupes de sécurité peuvent être configurés à partir de la section « Security Groups » de la console Amazon ElastiCache ou à l'aide des API d'Amazon ElastiCache.

Dans le cas des déploiements VPC, l'accès à vos nœuds est contrôlé par le groupe de sécurité VPC et le groupe de sous-réseaux. Le groupe de sécurité VPC est l'équivalent du groupe de sécurité, au sein du VPC.

Q : Quelles précautions dois-je prendre pour m'assurer que mes nœuds ElastiCache situés dans le VPC sont accessibles par mon application ?

Vous avez la responsabilité de modifier les tables de routage et les listes de droits d'accès réseau dans votre VPC, afin de vous assurer que vos nœuds ElastiCache sont accessibles depuis vos instances clientes du VPC. Pour en savoir plus, consultez la documentation relative à Amazon ElastiCache.

Q : Puis-je utiliser les groupes de sécurité pour configurer les clusters faisant partie de mon VPC ?

Non, les groupes de sécurité ne sont pas utilisés dans le cas de l'exploitation du cache au sein d'un VPC. En revanche, ils sont utilisés dans les paramètres hors VPC. Lorsque vous créez un cluster dans un VPC, vous devez utiliser les groupes de sécurité VPC.

Q : Puis-je associer un groupe de sécurité EC2 classique à un cluster lancé au sein d'un VPC ?

Non, vous pouvez seulement associer des groupes de sécurité VPC appartenant au même VPC que votre cluster.

Q : Les nœuds d'un cluster ElastiCache peuvent-ils être répartis sur plusieurs sous-réseaux ?

Oui, les nœuds d'un cluster Amazon ElastiCache peuvent être répartis sur plusieurs sous-réseaux, à condition que ces sous-réseaux appartiennent au même groupe de sous-réseaux que celui associé au cluster ElastiCache au moment de la création.


Q : Que sont 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 Amazon ElastiCache par défaut optimisés pour le cluster que vous exécutez. Toutefois, si vous voulez que votre cluster soit exécuté avec vos valeurs de configuration de moteur sur mesure, il vous suffit de créer un nouveau groupe de paramètres et de modifier les paramètres souhaités et le cluster pour utiliser 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 au groupe de paramètres. Pour plus d'informations sur la configuration des groupes de paramètres, consultez le manuel Amazon ElastiCache User Guide.

Q : Comment choisir les bons paramètres de configuration pour mes clusters ?

Amazon ElastiCache choisit par défaut les paramètres de configuration optimaux pour votre cluster, en prenant en compte les capacités de mémoire/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 ; ceci 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, consultez le manuel Amazon ElastiCache User Guide.

Q : Comment puis-je voir la configuration actuelle de mes paramètres pour un groupe de paramètres donné ?

Vous pouvez utiliser AWS Management Console, les API d'Amazon ElastiCache ou les outils de ligne de commande pour voir les informations concernant vos groupes de paramètres et la manière dont leurs paramètres sont configurés.


Q : Que puis-je mettre en cache en utilisant Amazon ElastiCache pour Memcached ?

Vous pouvez mettre en cache diverses objets en utilisant le service, depuis le contenu des banques de données persistantes (telles que Amazon RDS, DynamoDB, ou des bases de données gérées personnellement et hébergées sur EC2) jusqu'aux pages web générées dynamiquement (avec Nginx par exemple), ou les données de session transitoire qui ne nécessitent pas un stockage 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 Amazon ElastiCache pour Memcached avec un magasin de données persistant AWS tel Amazon RDS or Amazon DynamoDB ?

Oui, Amazon ElastiCache est une interface frontale idéale pour les magasins de données comme Amazon RDS or Amazon DynamoDB, fournissant un niveau intermédiaire à hautes performances pour les applications avec des vitesses de requêtes extrêmement élevées et/ou des exigences de faible latence.

Q : J'utilise déjà Memcached. Comment puis-je migrer vers Amazon ElastiCache ?

Amazon 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. Amazon ElastiCache supporte à la fois les protocoles texte et binaire. Il supporte aussi la plupart des résultats statistiques standards, qui peuvent aussi être affichés sous forme de graphiques via CloudWatch. En conséquences, vous pouvez basculer pour Amazon ElastiCache sans recompiler ou relier votre application – les bibliothèques que vous utilisez continueront à fonctionner. Pour configurer les serveurs 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 point de terminaison de Nœud" dans AWS Management 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 Amazon ElastiCache avant de mettre fin à votre solution actuelle.

Veuillez noter que Amazon ElastiCache permet actuellement l'accès uniquement depuis le réseau Amazon EC2, vous devez disposer de vos serveurs d'application dans Amazon EC2.

Amazon 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.


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 Amazon 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. Les deux aspects interdépendants suivants peuvent être considérés pour le choix de votre configuration initiale :

  • La mémoire totale requise pour que vos données atteignent votre hit-rate du cache cible, et
  • Le nombre de nœuds requis pour maintenir une performance d'application acceptable sans surcharger le backend de base de données en cas de panne des nœuds.

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 hit-rate du cache est temporairement réduit pendant une reprise après panne d'un ou de plusieurs nœuds. Pour en savoir plus, consultez le manuel Amazon ElastiCache User Guide.

Q : Un cluster peut-il s'étendre sur plusieurs zones de disponibilité ?

Oui. Lorsque vous créez un cluster ou que vous ajoutez des nœuds à un cluster existant, vous pouvez sélectionner les zones de disponibilité des nouveaux nœuds. Vous pouvez soit spécifier le nombre de nœuds nécessaire pour chaque zone de disponibilité, soit sélectionner « Spread nodes across zones » (répartir les nœuds sur les différentes zones). Si le cluster se trouve dans un VPC, les nœuds peuvent uniquement être placés dans les zones de disponibilité du groupe de sous-réseaux du cache sélectionné. Pour plus d'informations, consultez la documentation sur les VPC ElastiCache.

Q : Combien de nœuds par région puis-je exécuter dans Amazon ElastiCache ?

Vous pouvez exécuter un maximum de 100 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 Amazon ElastiCache en cas de panne au niveau d'un nœud ?

Le service détecte la panne et réagit en effectuant les actions automatiques suivantes :

  • Amazon 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 pointer vers ces nouvelles ressources de service. Pour les installations à 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 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é, Amazon 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 cesseront d'utiliser un serveur (nœud) indéfiniment si elles rencontrent des erreurs de communication ou des dépassements de délais 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 Amazon 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 AWS Management Console ou à l'aide de l'API ModifyCacheCluster.


Q : Comment Amazon ElastiCache interagit avec les autres solutions Amazon Web Services ?

Amazon ElastiCache convient parfaitement en tant qu'interface frontale pour les solutions Amazon Web Services telles qu'Amazon RDS et Amazon SimpleDB, fournissant une latence extrêmement faible pour les applications à haute performance et déchargeant une partie du volume de requêtes tandis que ces solutions assurent la durabilité des données sur le très long terme. Le service peut aussi être utilisé pour améliorer les performances des applications en association avec Amazon EC2 et EMR.

Q : Amazon 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. Pour plus d'informations sur les clients Memcached, consultez cette page. Si vous rencontrez n'importe quel problème avec des clients Memcached spécifiques lors de l'utilisation d'Amazon ElastiCache, veuillez nous le faire savoir via le forum de la communauté Amazon ElastiCache.

Q : Quelles sont les bibliothèques Memcached les plus populaires qui sont compatibles avec Amazon ElastiCache ?

Amazon ElastiCache ne requiert pas de bibliothèques clientes spécifiques et fonctionne avec les bibliothèques clientes Memcached existantes sans recompilation ni reconnexion d'application (Memcached 1.4.5 et versions ultérieures). Vous pouvez par exemple utiliser libMemcached (C) et ses dérivés (notamment PHP, Perl et Python), spyMemcached (Java) et fauna (Ruby).


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. Elle permet aux clients de repérer automatiquement les nœuds de cache qui sont ajoutés ou retirés d'un cluster Amazon 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 à la détection automatique, cette complication est résolue. Outre une rétrocompatibilité avec le protocole Memcached, la fonctionnalité de détection automatique associée à Amazon ElastiCache fournit aux clients des informations concernant l'appartenance au cluster de cache. Tout client capable de traiter ces informations supplémentaires peut alors effectuer une reconfiguration automatique, sans passer par une réinitialisation, afin d'utiliser les nœuds les plus à jour du cluster Amazon ElastiCache.

Q : Comment fonctionne la détection automatique ?

Un cluster Amazon ElastiCache peut être créé avec des nœuds auxquels il est possible de s'adresser via des points de terminaison nommés. Avec la détection automatique, le cluster Amazon 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. Amazon 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 (par exemple, get, set, incr et decr). Pour en savoir plus, cliquez ici. Afin d'exploiter la fonctionnalité de détection automatique, vous devez utiliser un client capable de la prendre en charge. Les clients de détection automatique pour Java et PHP sont disponibles en téléchargement à partir de la console Amazon ElastiCache. Lors de son initialisation, le client détermine automatiquement les membres actuels du cluster Amazon 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 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 Amazon ElastiCache en cliquant sur le lien « Download ElastiCache Cluster Client » à partir de la console Amazon ElastiCache. Afin d'effectuer ce téléchargement, vous devez posséder un compte Amazon ElastiCache ; si ce n'est pas déjà le cas, inscrivez-vous sur la page de présentation d'Amazon ElastiCache. Une fois le client téléchargé, vous pouvez commencer à configurer et à activer votre cluster Amazon ElastiCache à partir de la console Amazon ElastiCache. Pour en savoir plus, cliquez ici.

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 soit utiliser le client de cluster Amazon ElastiCache, soit é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 Amazon ElastiCache. Amazon ElastiCache prend actuellement en charge les clients de détection automatique à la fois pour Java et PHP. Vous pouvez les télécharger à partir de la console Amazon 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 afin de 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, Amazon ElastiCache reste compatible avec le protocole Memcached et ne nécessite pas que vous modifiiez vos clients. Néanmoins, pour bénéficier des avantages offerts par la fonctionnalité de détection automatique, nous avons dû renforcer les capacités du client Memcached. Si vous décidez de ne pas utiliser le client de cluster Amazon ElastiCache, vous pouvez continuer avec vos propres clients ou modifier votre bibliothèque de clients afin d'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 Amazon ElastiCache peut être connecté à la fois à un client doté de la détection automatique et à un client Memcached classique. Amazon 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 Amazon ElastiCache. Par ailleurs, Amazon ElastiCache prenant toujours totalement en charge Memcached, vous pouvez utiliser tout client compatible avec le protocole Memcached comme auparavant.


Q : Puis-je contrôler si et quand la version du moteur alimentant le cluster Amazon ElastiCache doit être mise à niveau vers de nouvelles versions prises en charge ?

Amazon 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 Amazon 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écharge quand même la tâche de l'application de patchs vers Amazon ElastiCache. Vous pouvez en apprendre plus sur la gestion des versions en lisant les FAQ suivantes. Autrement, vous pouvez vous référer au manuel Amazon ElastiCache User Guide. Même si la fonctionnalité de gestion des versions du moteur a pour but de vous donner autant de contrôle que possible sur l'application des patchs, nous nous réservons la possibilité de mettre à niveau votre cluster à votre place dès lors que nous identifions une faille de sécurité dans le logiciel système ou 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 « Modify » pour votre cluster. Spécifiez simplement la version que vous souhaitez mettre à niveau via le champ « Cache Engine Version ». La mise à niveau est ensuite appliquée en votre nom soit immédiatement (si l'option « Applied Immediately » est cochée), soit pendant le prochain créneau de maintenance programmé 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 : Amazon 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 ?

Avec le temps, nous prévoyons de prendre en charge des versions de Memcached supplémentaires pour Amazon ElastiCache, à la fois mineures et majeures. Le nombre de nouvelles versions prises en charge dans une année donnée variera en fonction de la fréquence et du contenu des parutions de version Memcached, et du résultat d'un examen approfondi de la version par notre équipe d'ingénierie. Toutefois, en règle générale, nous souhaitons prendre en charge de nouvelles versions Memcached dans les 3 à 5 mois après leur disponibilité générale.

Q : Quelle version du protocole filaire de Memcached est prise en charge par Amazon ElastiCache ?

Amazon ElastiCache prend en charge le protocole texte et binaire Memcached des versions 1.4.5, 1.4.14, 1.4.24, 1.4.33 et 1.4.34 de Memcached.

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 depuis 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. Consultez les prérequis de mise à niveau ici.


Q : En quoi consiste Amazon ElastiCache pour Redis ?

Amazon ElastiCache pour Redis est un service Web qui simplifie le déploiement et l'exécution de nœuds de serveur compatibles avec le protocole Redis dans le cloud. Ce service permet de gérer, surveiller et exécuter un nœud Redis. Ainsi, la création, la suppression et la modification d'un nœud peuvent s'effectuer via la console ElastiCache, l'interface de ligne de commande ou les API du service Web. Amazon ElastiCache pour Redis prend en charge la réplication maître/esclave Redis.

Q : La version Amazon ElastiCache pour Redis est-elle compatible avec le protocole du système Redis à code source libre ?

Oui, la version Amazon ElastiCache pour Redis est compatible avec le protocole du système Redis à code source libre. Le code, les applications, les pilotes et les outils actuellement utilisés par un client dans son magasin de données Redis autonome existant continuent de fonctionner avec ElastiCache pour Redis et aucune modification ne doit être apportée au code pour les déploiements Redis actuels lors de leur migration vers ElastiCache pour Redis, sauf indication contraire. Nous prenons actuellement en charge Redis 2.8.21, 2.8.22, 2.8.23, 2.8.24 et 3.2.4.

Q : Que sont les nœuds et les partitions d'Amazon ElastiCache for Redis ?

Un nœud Amazon ElastiCache est la plus petite composante d'un déploiement ElastiCache for Redis Cluster. Chaque nœud prend en charge le protocole Redis avec les améliorations d'Amazon et possède un point de terminaison et un port qui lui sont propres. Plusieurs types de nœuds sont pris en charge, chacun ayant des quantités variables de capacité CPU et de mémoire.

Une partition est un ensemble comprenant un ou plusieurs nœuds, responsable d'une partie de l'espace de clés logique. Au sein d'une partition, un nœud peut exister par lui-même ou dans le cadre d'une relation nœud principal/réplica avec d'autres nœuds. Si une partition abrite plusieurs nœuds, l'un des nœuds joue le rôle de nœud principal en lecture/écriture et tous les autres nœuds jouent le rôle de réplica en lecture seule.

Q : La version Amazon ElastiCache for Redis prend-elle en charge la persistance du système Redis ?

Oui, vous pouvez obtenir la persistance en réalisant un instantané de vos données Redis à l'aide de la fonctionnalité Sauvegarde et restauration. Cliquez ici pour en savoir plus.

Q : Comment passer d'Amazon ElastiCache pour Memcached à Amazon ElastiCache pour Redis et inversement ?

Nous ne prenons actuellement pas en charge la migration automatique entre Memcached et Redis. Toutefois, vous pouvez utiliser un client Memcached pour lire à partir d'un cluster Memcached et un client Redis pour écrire sur un cluster Redis. De même, vous pouvez lire à partir d'un cluster Redis à l'aide d'un client Redis et utiliser un client Memcached pour écrire sur un cluster Memcached. Assurez-vous de prendre en compte les différences de format de données entre les deux moteurs, ainsi que la configuration des clusters.

Q : La version Amazon ElastiCache pour Redis permet-elle un fonctionnement multi-AZ ?

Oui, avec Amazon ElastiCache pour Redis, vous pouvez créer un réplica en lecture dans une autre zone de disponibilité AWS. En cas de panne du nœud principal, nous mettons en service un nouveau nœud principal. Dans le cas où il est impossible de mettre en service le nœud principal, vous pouvez décider quel réplica en lecture promouvoir en tant que nouveau nœud principal. Pour en savoir plus sur la prise en charge des pannes de nœud, cliquez ici.

Q : Quelles sont les options fournies par Amazon ElastiCache pour Redis en cas de panne sur un nœud ?

Amazon ElastiCache pour Redis répare le nœud en acquérant de nouvelles ressources de service et redirige ensuite le nom DNS existant du nœud afin qu'il pointe vers ces nouvelles ressources de service. Ainsi, le nom DNS du nœud Redis reste constant, mais son adresse IP peut changer. En cas de panne, si vous disposez d'un groupe de réplication composé d'un ou plusieurs réplicas en lecture et que Multi-AZ est activé, ElastiCache détectera automatiquement la panne, choisira un réplica et le définira comme le nouveau nœud principal. Il propagera également le DNS, afin que vous puissiez continuer à utiliser le point de terminaison principal. Une fois le nouveau nœud défini, le DNS redirigera vers celui-ci. Pour plus de détails, consultez la section Multi-AZ de cette FAQ. En cas de panne du nœud principal, si l'option de réplication Redis est sélectionnée, mais que Multi-AZ est désactivé, vous pourrez choisir de lancer un basculement vers un nœud de réplica en lecture. La cible du basculement peut figurer dans la même zone ou dans une zone différente. Pour un basculement vers la zone d'origine, vous devez promouvoir le réplica en lecture au sein de la zone d'origine en tant que nœud principal. Vous pouvez opter pour une architecture de votre application qui oblige la bibliothèque du client Redis à se reconnecter au nœud de serveur Redis réparé. Cela peut être utile, car certaines bibliothèques Redis cessent définitivement d'utiliser un serveur dès lors qu'elles rencontrent des erreurs ou des dépassements de délais de communication.

Q : Comment le basculement fonctionne-t-il ?

Pour les groupes de réplication pour lesquels Multi-AZ est activé, le comportement de basculement est décrit dans la section Multi-AZ de cette FAQ.

Si vous choisissez de ne pas activer Multi-AZ, Amazon ElastiCache surveille le nœud principal. Si le nœud n'est plus disponible ou ne répond plus, Amazon ElastiCache pour Redis répare alors le nœud en acquérant de nouvelles ressources de service, puis redirige le nom DNS existant du nœud afin qu'il pointe vers ces nouvelles ressources de service. Ainsi, le nom DNS du nœud Redis reste constant, mais son adresse IP peut changer. Cependant, si le nœud principal ne peut pas être réparé (et si votre Multi-AZ est désactivé), vous pouvez décider de promouvoir un des réplicas en lecture en tant que nouveau nœud principal. Pour en savoir plus sur la sélection du nouveau nœud principal, cliquez ici. L'enregistrement DNS du point de terminaison du nœud principal est alors mis à jour afin de pointer vers le nœud de réplica en lecture promu. Un nœud de réplica en lecture est créé au sein de la zone de disponibilité d'origine du nœud principal en tant que réplica en lecture dans la partition et suit les modifications apportées au nouveau nœud principal. 

Q : Mes réplicas en lecture sont-ils disponibles en cas de panne du nœud principal ?

Oui, en cas de panne du nœud principal, les réplicas en lecture continuent de répondre aux requêtes. Toutefois, une fois le nœud principal restauré (soit après réparation, soit par promotion d'un réplica en lecture), les réplicas en lecture ne peuvent répondre à aucune requête durant un court laps de temps pendant lequel ils synchronisent les informations de cache à partir du nœud principal.

Q : Comment configurer les paramètres de mes nœuds Amazon ElastiCache pour Redis ?

Vous pouvez configurer votre installation Redis à l'aide d'un groupe de paramètres que vous devez obligatoirement spécifier pour un cluster Redis. Tous les clusters de réplicas en lecture utilisent le groupe de paramètres de leur cluster principal. Un groupe de paramètres Redis agit en tant que « conteneur » pour les valeurs de configuration Redis qui peuvent être appliquées à un ou plusieurs clusters principaux Redis. Si vous créez un cluster principal Redis sans spécifier de groupe de paramètres, celui par défaut est utilisé. Ce groupe par défaut contient les valeurs par défaut pour le type de nœud que vous souhaitez exécuter. Toutefois, si vous voulez que votre cluster principal Redis soit exécuté avec des valeurs de configuration spécifiques, il vous suffit de créer un nouveau groupe de paramètres de cache et de modifier les paramètres souhaités ainsi que le cluster Redis principal pour utiliser le nouveau groupe de paramètres.

Q : Puis-je accéder à Redis via la console Amazon ElastiCache ?

Oui, Redis figure comme une option de moteur dans la console ElastiCache. Vous pouvez créer un cluster de cache Redis avec l'assistant Launch Wizard en sélectionnant le moteur Redis. Vous pouvez également modifier ou supprimer un cluster Redis existant à partir de la console ElastiCache.

Q : Est-il possible de créer des clusters Amazon ElastiCache pour Redis dans un VPC Amazon ?

Oui, de la même manière que vous pouvez créer des clusters Memcached au sein d'un VPC, vous pouvez créer des clusters Redis au sein d'un VPC. Si votre compte correspond à un compte VPC par défaut, vos clusters Redis sont créés au sein du VPC par défaut associé à votre compte. A partir de la console ElastiCache, vous pouvez spécifier un autre VPC lorsque vous créez votre cluster.

Q : La fonctionnalité Redis de gestion des mots de passe est-elle prise en charge par Amazon ElastiCache pour Redis ?

Non, Amazon ElastiCache pour Redis ne prend pas en charge les mots de passe Redis. Cela s'explique par les limitations inhérentes aux mots de passe stockés dans un fichier de configuration. Au lieu de se baser sur les mots de passe Redis, les clusters ElastiCache pour Redis sont associés à un groupe de sécurité EC2 et seuls les clients figurant au sein d'un groupe de sécurité ont accès au serveur Redis.

Q : Comment passer à une version plus récente du moteur ?

Vous pouvez facilement passer à une version plus récente du moteur à l'aide des API ModifyCacheCluster ou ModifyReplicationGroup et en spécifiant votre version préférée du moteur pour le paramètre EngineVersion. Dans la console ElastiCache, vous pouvez sélectionner un cluster et cliquer sur « Modify ». Dans la fenêtre « Modify », sélectionnez votre version préférée du moteur parmi les options disponibles. Le processus de mise à niveau du moteur met tout en œuvre pour conserver vos données existantes et nécessite, pour ce faire, l'option de réplication Redis. Cliquez ici pour en savoir plus.

Q : Puis-je revenir à une ancienne version du moteur ?

Non. Il est impossible de revenir à une version précédente du moteur.

Q : Comment passer à un type de nœud d'une taille supérieure ?

Vous pouvez facilement passer à un type de nœud d'une taille supérieure à l'aide des API ModifyCacheCluster ou ModifyReplicationGroup et en spécifiant votre type de nœud préféré moteur pour le paramètre CacheNodeType. Dans la console ElastiCache, vous pouvez sélectionner un cluster de cache ou un groupe de réplications et cliquer sur « Modify ». Dans la fenêtre « Modify », sélectionnez votre type de nœud préféré parmi les options disponibles. Le processus de mise à l'échelle met tout en œuvre pour conserver vos données existantes et nécessite, pour ce faire, l'option de réplication Redis. Cliquez ici pour en savoir plus.

Q : Puis-je passer à un type de nœud d'une taille inférieure ?

Il est actuellement impossible de passer à un type de nœud d'une taille inférieure.


Q : En quoi consiste l'exécution d'un nœud Redis en tant que réplica en lecture ?

Dans Redis, les réplicas en lecture sont utilisés de deux manières :

  • gestion des pannes
  • dimensionnement en lecture

Lorsque vous exécutez un nœud avec un réplica en lecture, le « nœud principal » sert à la fois pour la lecture et l'écriture. Le réplica en lecture sert de nœud de « secours », qui est « promu » dans le cadre des scénarios de basculement. Après le basculement, le nœud de secours devient le nœud principal et accepte vos opérations de cache. Les réplicas en lecture facilitent également la mise à l'échelle basée sur Elastic au-delà des contraintes de capacité d'un seul nœud, afin d'exécuter les charges de travail du cache qui nécessitent de très nombreuses lectures.

Q : Quand envisager l'utilisation d'un réplica en lecture Redis ?

Il existe divers scénarios où le déploiement d'un ou plusieurs réplicas en lecture pour un nœud principal donné est recommandé. Les principales raisons d'un déploiement de réplica en lecture sont les suivantes :

  • Le dimensionnement au-delà de la capacité de calcul ou d'E/S d'un seul nœud principal pour des charges de travail à forte densité de lectures. Ce trafic en lecture excessif peut alors être dirigé vers un ou plusieurs réplicas en lecture.
  • La prise en charge du trafic en lecture en cas d'indisponibilité du nœud principal. Si votre nœud principal ne peut pas prendre en charge les demandes d'E/S (par ex. en raison de la suspension des E/S à des fins de sauvegarde ou de maintenance planifiée), vous pouvez diriger le trafic en lecture vers vos réplicas en lecture. Dans ce type de cas d'utilisation, gardez à l'esprit le fait que les données sur le réplica en lecture peuvent être « périmées », étant donné que le nœud principal est indisponible. Le réplica en lecture peut aussi servir à relancer un préchauffage du nœud principal en échec.
  • A des fins de protection des données et dans le cas peu probable d'une défaillance du nœud principal ou d'une indisponibilité de la zone de disponibilité dans laquelle réside votre nœud principal, vous pouvez promouvoir, en tant que nouveau nœud principal, un réplica en lecture figurant dans une autre zone de disponibilité.

Q : Comment déployer un nœud de réplica en lecture pour un nœud principal spécifique ?

Vous pouvez créer un réplica en lecture en quelques minutes au moyen de l'API CreateReplicationGroup ou en quelques clics sur Amazon ElastiCache Management Console. Lorsque vous créez un cluster, vous spécifiez la valeur MasterCacheClusterIdentifier. Cette valeur MasterCacheClusterIdentifier est l'identifiant du cluster de cache du nœud « principal », à partir duquel vous souhaitez effectuer la réplication. Vous pouvez ensuite créer le cluster de réplica en lecture au sein de la même partition en appelant l'API CreateCacheCluster et en spécifiant les valeurs ReplicationGroupIdentifier et CacheClusterIdentifier du nœud maître. De même que pour un cluster standard, vous pouvez également définir la zone de disponibilité. Lorsque vous lancez la création d'un réplica en lecture, Amazon ElastiCache prend un instantané de votre nœud principal dans une partition et commence la réplication. En conséquence, vous rencontrerez une brève suspension des E/S sur votre nœud principal au moment où l'instantané est pris. Cette suspension des E/S ne dure généralement qu'une minute environ.

Les réplicas en lecture sont aussi faciles à supprimer qu'à créer : il vous suffit d'utiliser la console de gestion d'Amazon ElastiCache ou d'appeler l'API DeleteCacheCluster (en spécifiant la valeur CacheClusterIdentifier du réplica en lecture que vous souhaitez supprimer).

Q : Puis-je créer simultanément un nœud principal et des réplicas en lecture ?

Oui. Vous pouvez créer un cluster de cache et des réplicas en lecture en quelques minutes à l'aide de l'API CreateReplicationGroup ou de l'assistant « Create » et de l'option « Multi-AZ Replication » sur Amazon ElastiCache Management Console. Lors de la création du cluster, indiquez un identifiant, le nombre total de partitions souhaité dans un cluster et de réplicas en lecture par partition, ainsi que les paramètres de création du cache tels que le type de nœud, la version du moteur, etc. Vous pouvez également spécifier la zone de disponibilité de chaque partition du cluster.

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

Vous pouvez vous connecter à un réplica en lecture de la même manière qu'à un nœud de cache principal, en utilisant l'API DescribeCacheClusters ou AWS Management Console pour récupérer votre/vos point(s) de terminaison vers votre/vos réplica(s) en lecture. Si vous avez plusieurs réplicas en lecture, c'est votre application qui détermine comment le trafic en lecture sera distribué entre eux.

Q : Combien de réplicas en lecture puis-je créer pour un nœud principal donné ?

A l'heure actuelle, Amazon ElastiCache vous permet de créer jusqu'à cinq (5) réplicas en lecture pour un nœud principal 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 : Puis-je créer un réplica en lecture d'un autre réplica en lecture ?

La création du réplica en lecture d'un autre réplica en lecture n'est pas prise en charge.

Q : Puis-je transformer mon réplica en lecture en nœud principal « autonome » ?

Non, cette fonctionnalité n'est pas prise en charge. En revanche, vous pouvez prendre un instantané de votre nœud ElastiCache pour Redis (vous pouvez sélectionner le nœud principal ou l'un de ses réplicas en lecture). Vous pouvez ensuite utiliser cet instantané (snapshot) pour créer un nouveau nœud principal Amazon ElastiCache pour Redis.

Q : Mon réplica en lecture sera-t-il tenu à jour par rapport à son nœud principal ?

Les mises à jour appliquées au nœud principal sont immédiatement répliquées sur les réplicas en lecture associés. Toutefois, avec la technologie de réplication asynchrone de Redis, un réplica en lecture peut prendre du retard par rapport à son nœud de cache principal pour diverses raisons. Les raisons typiques incluent :

  • Le volume des E/S en écriture sur le nœud de cache principal 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 entre le nœud de cache principal 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 « incohérence » possible. Vous pouvez surveiller ce retard potentiel par le biais de la métrique Cloud Watch « Retard de réplication », accessible par le biais de la console et l'API ElastiCache, ainsi que celles du service CloudWatch.

Q. Comment gagner en visibilité sur les réplicas en lecture actifs ?

Vous pouvez utiliser l'API DescribeCacheClusters standard pour renvoyer la liste de tous les clusters de cache que vous avez déployés (y compris les réplicas en lecture), ou cliquer simplement sur l'onglet « Redis » d'Amazon ElastiCache Management Console.

Amazon ElastiCache surveille le statut de réplication de vos réplicas en lecture et met à jour le champ Replication State avec la valeur Error si la réplication est interrompue pour une raison quelconque. Vous pouvez consulter les détails de l'erreur en question, renvoyée par le moteur Redis, dans le champ Replication Error et, ainsi, effectuer l'opération de récupération appropriée. Pour en savoir plus sur la résolution des problèmes de réplication, consultez la section Troubleshooting a Read Replica problem du manuel Amazon ElastiCache User Guide. Lorsqu'une erreur de réplication est résolue, le champ Replication State présente la valeur Replicating.

Amazon ElastiCache vous permet de voir à quel point un réplica en lecture a pris du retard par rapport au nœud principal par le biais de la mesure Amazon CloudWatch (« Replica Lag ») accessible à partir d'AWS Management Console ou des API Amazon CloudWatch.

Q : Mon réplica en lecture a pris beaucoup de retard par rapport à son nœud principal. Que dois-je faire ?

Comme évoqué dans les questions précédentes, une « incohérence » ou un retard entre un réplica en lecture et son nœud principal est courant avec la réplication asynchrone Redis. Si un réplica en lecture a pris beaucoup trop de retard et ne satisfait plus à vos exigences, vous pouvez le redémarrer. Gardez également à l'esprit le fait que le retard du réplica peut augmenter et diminuer naturellement avec le temps, en fonction du modèle d'utilisation continue de votre nœud principal.

Q : Comment supprimer un réplica en lecture ? Sera-t-il supprimé automatiquement si son nœud principal est supprimé ?

Vous pouvez facilement supprimer un réplica en lecture en quelques clics sur AWS Management Console ou en transmettant l'identifiant de son cluster de cache à l'API DeleteCacheCluster. Si vous souhaitez supprimer le réplica en lecture en plus du nœud de cache principal, vous devez utiliser l'API DeleteReplicationGroup ou AWS Management Console.

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 standard et aux mêmes tarifs. Comme pour un nœud standard, le tarif par « heure de nœud » pour un réplica en lecture est déterminé par sa classe de nœud ; consultez la page de présentation d'Amazon 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 principal et le réplica en lecture ne vous sont pas facturés. La facturation du réplica en lecture débute dès sa création (c.-à-d. lorsque le statut indiqué est « active »). Le réplica en lecture continuera de vous être facturé aux tarifs horaires d'un nœud de cache Amazon 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 Amazon ElastiCache afin que vous puissiez reprendre vos activités aussi rapidement que possible. Lors du basculement, Amazon ElastiCache modifie simplement l'enregistrement DNS de votre nœud afin qu'il pointe vers le réplica en lecture, lequel est alors promu comme nouveau nœud principal. Nous vous encourageons à suivre les bonnes pratiques et à implémenter une nouvelle tentative de connexion au nœud de cache au niveau de la couche applicative. Du début à la fin, le basculement dure généralement trois à six minutes.

Q : Puis-je créer un réplica en lecture dans une région différente de celle de mon nœud principal ?

Non. Votre réplica en lecture peut uniquement être mis en service au sein d'une zone de disponibilité (identique ou non) appartenant à la même région que celle de votre nœud de cache principal.

Q : Puis-je voir dans quelle zone de disponibilité mon nœud principal est situé actuellement ?

Oui, vous pouvez avoir accès à l'emplacement du nœud principal actuel en utilisant AWS Management Console ou l'API DescribeCacheClusters.

Après un basculement, mon instance principale se trouve désormais dans une zone de disponibilité différente de mes autres ressources AWS (par ex. instances EC2).

Q : Dois-je m'inquiéter des temps de latence ?

Les zones de disponibilité sont conçues pour fournir une connectivité de réseau à faible latence vers les autres zones de disponibilité dans la même région. En outre, vous pourriez envisager d'avoir une architecture avec redondance pour votre application et d'autres ressources AWS parmi des zones de disponibilité multiples, afin que votre application soit résiliente en cas de défaillance d'une zone de disponibilité.


Q : Qu'est-ce que la fonction Multi-AZ pour ElastiCache for Redis ?

Une partition ElastiCache for Redis est composée d'un nœud principal et d'un maximum de cinq réplicas en lecture. Redis réplique de manière asynchrone les données du nœud principal vers les réplicas en lecture. Lors de certains types de maintenance planifiée ou dans le cas peu probable d'une panne de nœud ElastiCache ou d'une défaillance de zone de disponibilité, Amazon ElastiCache détecte automatiquement la panne d'un nœud principal, sélectionne un réplica en lecture et le promeut en tant que nœud principal. 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 principal, aucune modification du point de terminaison n'est donc nécessaire.

Q : Quels sont les avantages de l'utilisation de la fonction multi-AZ ?

Les principaux avantages de l'exécution d'ElastiCache pour Redis en mode multi-AZ résident dans l'amélioration de la disponibilité et des tâches d'administration moins nombreuses. Si un nœud principal ElastiCache pour Redis tombe en panne, l'impact sur les opérations en lecture/écriture sur le nœud principal 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 for Redis et disposez d'une partition composée d'un nœud principal et d'un ou de 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. Lorsque le paramètre cluster_mode est désactivé, 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 principal. Lorsque le paramètre cluster_mode est activé, ElastiCache met à jour la carte des nœuds du cluster. 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 principal défaillant. En cas de défaillance du nœud principal 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 : Des réplicas peuvent-ils se trouver dans la même zone de disponibilité que le nœud principal ?

Oui. Le placement du nœud principal et du ou des réplicas dans une même zone de disponibilité ne permet toutefois pas de rendre votre groupe de réplications ElastiCache pour Redis résilient en cas de défaillance d'une zone de disponibilité.

Q : A la suite de quels événements Amazon ElastiCache procède-t-il au basculement vers un réplica en lecture ?

Amazon 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 principal
  • Perte de connectivité réseau avec le serveur principal
  • Échec d'unité de calcul sur le serveur principal

Q : Dans quel cas dois-je utiliser la fonction multi-AZ ?

L'utilisation conjointe de la réplication Redis et de la fonction multi-AZ améliore la disponibilité et la tolérance aux pannes. Les déploiements de ce type constituent un choix naturel pour les environnements de production. Lorsqu'ElastiCache for Redis Cluster est exécuté alors que le mode cluster est activé, si vos partitions possèdent un ou plusieurs réplicas en lecture, la fonction Multi-AZ est automatiquement activée.

Q : Comment puis-je créer un groupe de réplications ElastiCache for Redis avec la fonction multi-AZ activée ?

Vous pouvez créer un nœud principal ElastiCache for Redis et des réplicas en lecture en cliquant sur « Create » dans ElastiCache Management Console. Vous pouvez également appeler l'API CreateReplicationGroup. Pour les clusters existants (Redis 2.8.6, 2.8.19, 2.8.21, 2.8.22, 2.8.23, 2.8.24 et 3.2.4 avec cluster_mode=disabled) vous pouvez activer la fonction multi-AZ en procédant comme suit : sélectionnez un cluster et cliquez sur « Modify » dans ElastiCache Management Console ou utilisez l'API ModifyReplicationGroup. Faire basculer un groupe de réplication vers Multi-AZ ne perturbe pas vos données Redis et n'interfère pas avec la capacité de vos nœuds à répondre aux demandes.

Q : En cas de défaillance du nœud principal, quel réplica en lecture est promu ?

S'il existe plusieurs réplicas en lecture, c'est celui dont le retard de réplication asynchrone est le plus court sur le nœud principal qui est promu.

Q : Que coûte l'utilisation de la fonction multi-AZ ?

La fonction multi-AZ est gratuite. Vous ne payez des frais que pour les nœuds ElastiCache que vous utilisez.

Q : Quelles sont les répercussions de la fonction multi-AZ sur les performances ?

ElastiCache utilise actuellement la réplication asynchrone native du moteur Redis et profite de ses points forts, mais subit aussi ses limites. En particulier, lorsqu'un réplica en lecture se connecte à un nœud principal pour la première fois, ou si le nœud principal change, le réplica en lecture effectue une synchronisation complète des données du nœud principal, imposant ainsi la charge au nœud principal et à lui-même. Pour obtenir des informations supplémentaires au sujet de la réplication Redis, cliquez ici

Q : Quels types de nœuds prennent en charge la fonction multi-AZ ?

Tous les types de nœuds disponibles dans ElastiCache prennent en charge la fonction Multi-AZ, avec une exception. Lorsque Redis 2.8x ou Redis 3.x est utilisé avec cluster_mode=disabled, la famille T2 ne prend pas en charge la fonction multi-AZ.

Q : Serai-je averti lorsqu'un basculement automatique a lieu ?

Oui, Amazon 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 d'ElastiCache Management Console.

Q : Après un basculement, mon instance principale se trouve désormais dans une zone de disponibilité différente de celle de mes autres ressources AWS (instances EC2, par exemple). Dois-je m'inquiéter des temps de 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 pourriez envisager d'adopter une architecture avec redondance sur plusieurs zones de disponibilité pour votre application et d'autres ressources AWS, afin que votre application soit résiliente en cas de défaillance sur une zone de disponibilité spécifique.

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.

Q : Puis-je tester la fonctionnalité Multi-AZ ?

Oui. Si la fonction « Multi-AZ » est activée sur un cluster ou un groupe de réplication avec un ou plusieurs réplicas en lecture, vous pouvez déclencher un basculement. ElastiCache répondra de la même manière que dans un scénario de défaillance réelle, en détectant la défaillances, en promouvant le réplica en lecture le plus à jour pour qu'il devienne le nouveau nœud principal, puis en remplaçant le nœud principal défaillant, en l'attachant en tant que nouveau réplica en lecture à la place de celui promu. Pour plus d'informations sur le test du basculement, veuillez consulter la documentation.


Q : En quoi consiste la fonction de sauvegarde et de restauration ?

La fonction de sauvegarde et de restauration permet aux clients de créer des instantanés de leurs clusters Amazon ElastiCache pour Redis. ElastiCache conserve ces instantanés et les utilisateurs peuvent les exploiter par la suite afin de restaurer leurs clusters Redis.

Q : Qu'est-ce qu'un instantané ?

Un instantané est une copie de l'ensemble de votre cluster Redis à un moment donné.

Q : Quel est l'intérêt des instantanés ?

Il peut être utile de créer des instantanés pour faire face à la perte de données suite à la défaillance d'un nœud ou dans le cas peu probable d'une panne matérielle. Les sauvegardes sont aussi souvent utilisées à des fins d'archivage. Les instantanés sont conservés dans Amazon S3, qui garantit un stockage durable. Cela signifie que, même en cas de panne d'alimentation, vos données ne sont pas perdues.

Q : Que puis-je faire avec un instantané ?

Vous pouvez utiliser des instantanés pour effectuer le démarrage à chaud d'un cluster ElastiCache pour Redis incluant des données préchargées.

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 nouveau cluster ElastiCache pour Redis est créé et alimenté à partir des données de l'instantané. Vous pouvez ainsi créer plusieurs clusters ElastiCache pour Redis à partir d'un même instantané.

Actuellement, ElastiCache utilise le mécanisme natif de Redis pour créer et stocker un fichier RDB en tant qu'instantané.

Q : Où sont stockés les instantanés ?

Les instantanés sont conservés dans Amazon S3.

Q : Comment lancer la fonction de sauvegarde et de restauration ?

Vous pouvez lancer la fonction de sauvegarde et de restauration via AWS Management Console, les API ElastiCache (CreateCacheCluster, ModifyCacheCluster et ModifyReplicationGroup) ou l'interface de ligne de commande. Vous pouvez désactiver et réactiver cette fonction à tout moment.

Q : Comment spécifier le cluster ou le nœud Redis à sauvegarder ?

La fonction de sauvegarde et de restauration crée des instantanés sur la base d'un cluster. Il est possible de définir le cluster ElastiCache pour Redis à sauvegarder à partir d'AWS Management Console, ou en utilisant l'interface de ligne de commande ou l'API CreateSnapshot. Au sein d'un groupe de réplication, vous pouvez choisir de sauvegarder le cluster principal ou l'un des clusters de réplicas en lecture. Nous recommandons d'activer la fonction de sauvegarde sur l'un des réplicas en lecture, afin d'éviter tout impact négatif en termes de temps de latence sur le nœud principal Redis.

Q : ElastiCache pour Memcached prend-il en charge la fonction de sauvegarde et de restauration ?

Non, la capture d'instantanés est uniquement possible avec ElastiCache pour Redis.

Q : Comment préciser quand la sauvegarde doit être lancée ?

Vous pouvez préciser quand lancer une sauvegarde ponctuelle ou une sauvegarde récurrente dans AWS Management Console, ou en utilisant l'interface de ligne de commande ou les API. Voici les différentes opérations possibles :

  • Vous pouvez prendre immédiatement un instantané (bouton « Backup » dans l'onglet « Redis » de la console ou API CreateSnapshot)
  • Vous pouvez configurer une sauvegarde quotidienne automatique. La sauvegarde s'effectuera durant la plage de sauvegarde préconisée. Cette option peut être paramétrée lors de la création/modification du cluster via la console ou à l'aide des API CreateCacheCluster, ModifyCacheCluster ou ModifyReplicationGroup.

Q : Qu'est-ce qu'une plage de sauvegarde et pourquoi en ai-je besoin ?

La plage de sauvegarde préconisée est une période définie par l'utilisateur durant laquelle la sauvegarde de votre cluster ElastiCache pour Redis se lance. Elle vous est utile si vous souhaitez que la sauvegarde intervienne à une heure précise ou qu'elle ne se lance pas lors de périodes d'utilisation particulièrement intensive.

Q : Quel est l'impact sur les performances lors de la capture d'un instantané ?

Lors de la capture d'un instantané, il est possible que vous observiez, au niveau du nœud, des temps de latence supérieurs durant un court laps de temps. Les instantanés exploitent la commande BGSAVE intégrée à Redis et profitent donc de ses atouts, mais sont aussi limités par ses faiblesses. Ainsi, le processus Redis se subdivise, le parent continuant à répondre aux requêtes, tandis que l'enfant sauvegarde les données sur le disque avant de se fermer. Cette subdivision augmente l'utilisation de la mémoire durant la génération de l'instantané. Lorsque l'utilisation de la mémoire dépasse la mémoire disponible du nœud, une permutation peut être déclenchée, ralentissant encore davantage le nœud. C'est pourquoi nous recommandons de générer les instantanés à partir de l'un des réplicas en lecture (et non du nœud principal). De plus, nous vous suggérons de définir le paramètre relatif à la mémoire réservée afin de minimiser l'utilisation de la permutation. Cliquez ici pour en savoir plus.

Q : Puis-je créer un instantané à partir d'un réplica en lecture ElastiCache pour Redis ?

Oui. La création d'un instantané à partir d'un réplica en lecture ElastiCache pour Redis est même le meilleur moyen de sauvegarder vos données tout en limitant l'impact sur les performances.

Q : Dans quelles régions la fonction de sauvegarde et de restauration est-elle disponible ?

La fonction de sauvegarde et de restauration est disponible dans toutes les régions où le service ElastiCache est disponible.

Q : Puis-je exporter les instantanés ElastiCache pour Redis vers un compartiment que je possède ?

Oui. Vous pouvez exporter vos instantanés (snapshots) ElastiCache pour Redis vers un bucket (compartiment) S3 autorisé dans la même région que votre cluster. Pour plus d'informations sur l'exportation d'instantanés et la configuration des permissions nécessaires, reportez-vous à cette page.

Q : Puis-je copier des instantanés d'une région vers une autre ?

Oui. Vous devez tout d'abord copier votre instantané (snapshot) vers un bucket (compartiment) S3 autorisé de votre choix dans la même région, puis utiliser l'API S3 PUT object- Copy pour le copier vers un bucket dans une autre région. Pour plus d'informations sur la copie d'objets S3, veuillez consulter cette page.

Q : Je dispose de plusieurs comptes AWS utilisant ElastiCache pour 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é (snapshot) dans un bucket (compartiment) S3 autorisé dans la même région, puis accorder des permissions de bucket inter-comptes à l'autre compte. Pour plus d'informations sur les permissions S3 inter-comptes, veuillez consulter cette page. Enfin, vous pouvez préciser l'emplacement S3 de votre fichier RDB lors de la création du cluster, via l'assistant Launch Cache Cluster de la console, ou par l'API CreateCacheCluster.

Q : Quel est le coût de la fonction de sauvegarde et de restauration ?

Amazon ElastiCache offre un espace de stockage gratuit pour un instantané de chacun de vos clusters ElastiCache pour 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 : En quoi consiste la période de rétention ?

La période de rétention correspond à la durée pendant laquelle les instantanés automatiques sont conservés. Par exemple, si la période de rétention est définie sur 5, un instantané pris aujourd'hui est conservé durant 5 jours avant d'être supprimé. Vous pouvez choisir de copier un ou plusieurs instantanés automatiques afin de les stocker comme des instantanés manuels qui ne seront pas supprimés à l'issue de la période de rétention.

Q : Comment gérer la rétention de mes instantanés automatiques ?

Vous pouvez utiliser AWS Management Console ou l'API ModifyCluster pour gérer la période pendant laquelle vos sauvegardes automatiques sont conservées via le paramètre RetentionPeriod. Si vous souhaitez désactiver complètement les sauvegardes automatiques, vous pouvez définir la période de rétention sur 0 (bien que cette option ne soit pas recommandée).

Q : Que deviennent mes instantanés si je supprime mon cluster ElastiCache pour Redis ?

Lorsque vous supprimez un cluster Amazon ElastiCache pour Redis, vos instantanés manuels sont conservés. Vous avez également la possibilité de créer un instantané final de votre cluster avant sa suppression. En revanche, les instantanés automatiquement ne sont pas conservés.

Q : Quels types de nœud prennent en charge la fonction de sauvegarde et de restauration ?

Hormis les nœuds de type t1.micro et t2, tous les nœuds exécutant une instance ElastiCache for Redis prennent en charge la fonction de sauvegarde et de restauration :

Nœuds de la génération actuelle :

  • cache.m3.medium
  • cache.m3.large
  • cache.m3.xlarge
  • cache.m3.2xlarge
  • cache.m4.large
  • cache.m4.xlarge
  • cache.m4.2xlarge
  • cache.m4.4xlarge
  • cache.m4.10xlarge
  • cache.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge

Nœuds de la génération précédente :

  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large
  • cache.m1.xlarge
  • cache.m2.xlarge
  • cache.m2.2xlarge
  • cache.m2.4xlarge
  • cache.c1.xlarge

Q : Puis-je utiliser mes propres instantanés RDB stockés dans S3 pour effectuer le démarrage à chaud d'un cluster ElastiCache pour Redis ?

Oui. Vous pouvez préciser l'emplacement S3 de votre fichier RDB lors de la création du cluster, via l'assistant « Create Cluster » de la console, ou à l'aide de l'API CreateCacheCluster.

Q : Puis-je utiliser la fonction de sauvegarde et de restauration si j'exécute ElastiCache dans un VPC ?

Oui.


Q : Qu'est-ce qu'ElastiCache for Redis Cluster ?

ElastiCache for Redis Cluster permet aux clients de créer et d'exécuter des clusters Redis gérés avec plusieurs partitions. Le service est compatible avec le système open source Redis 3.2 et intègre un certain nombre d'améliorations pour offrir une expérience plus stable et plus fiable (consultez la section « Moteur amélioré » ci-dessous pour en savoir plus sur ces améliorations).

Q : Pourquoi devrais-je mettre à l'échelle l'environnement Redis ?

Trois principaux scénarios sont possibles pour exécuter un environnement Redis mis à échelle. Premièrement, si la taille totale de la mémoire de vos données Redis dépasse ou devrait dépasser la capacité de mémoire d'une machine virtuelle unique. Deuxièmement, si le débit d'écriture de votre application dans Redis dépasse la capacité d'une machine virtuelle unique. Troisièmement, si vous souhaitez répartir les données entre plusieurs partitions afin que tout problème potentiel rencontré avec un nœud ait un impact moindre sur l'environnement Redis global.

Q : Pourquoi exécuter ma charge de travail Redis Cluster sur Amazon ElastiCache ?

Amazon ElastiCache offre un environnement Redis en mémoire distribué et entièrement géré, de la mise en service des ressources de serveur à l'installation du logiciel du moteur et à l'application des paramètres de configuration que vous choisissez. Le service utilise les améliorations apportées au moteur Redis développé par Amazon pour offrir une expérience plus fiable et plus stable (consultez la section « Moteur amélioré » pour en savoir plus). Une fois que votre environnement est opérationnel, le service automatise les tâches administratives courantes telles que la détection des pannes et la restauration, et l'application des patchs de logiciel. Il offre également une solution Multi-AZ fiable avec basculement automatique. En cas de défaillance d'un ou de plusieurs nœuds principaux de votre cluster, Amazon ElastiCache détecte automatiquement la défaillance et y répond en promouvant le réplica le plus à jour au poste de nœud principal. Ce processus est automatisé et n'exige aucune intervention manuelle de votre part. Amazon ElastiCache fournit également des métriques de surveillance détaillées associées à vos nœuds ElastiCache, ce qui vous permet de diagnostiquer et de réagir aux problèmes très rapidement.

Q : Le service ElastiCache for Redis Cluster est-il compatible avec le système open source Redis ?

Oui, Amazon ElastiCache for Redis Cluster est compatible avec le système open source Redis 3.2. Vous pouvez utiliser les clients Redis Cluster open source pour accéder à des clusters mis à l'échelle sur ElastiCache for Redis.

Q : Est-il possible de modifier le nombre de partitions une fois le cluster créé ?

A l'heure actuelle, il est impossible de modifier le nombre de partitions d'un cluster une fois ce dernier créé.

Q : Quelle est la marche à suivre pour passer de la version actuelle d'ElastiCache for Redis (version 2.8.x) à ElastiCache for Redis Cluster (version 3.2.4)?

Si vous utilisez Redis 3.2 avec le paramètre cluster_mode désactivé, il vous suffit de choisir le nœud ou le cluster que vous souhaitez mettre à niveau et de modifier la version du moteur. ElastiCache met en service un cluster Redis 3.2.4 et migre vos données vers ce dernier, tout en conservant le point de terminaison.

Si vous utilisez Redis 3.2 avec le paramètre cluster_mode activé, vous pouvez migrer vers Redis Cluster en créant d'abord un instantané de vos données à l'aide de la fonction de sauvegarde ou de restauration. Sélectionnez ensuite l'instantané créé et cliquez sur « Restore Snapshot » pour créer un cluster Redis 3.2 à l'aide des données de l'instantané. Enfin, mettez à jour le nouveau point de terminaison sur votre client. Notez que pour utiliser Redis 3.2 en mode cluster, vous devrez passer à un client Redis Cluster.

Q : La tarification de la configuration en cluster est-elle différente de celle de la configuration sans cluster ?

Non. Amazon ElastiCache for Redis donne la possibilité d'opter pour une configuration en cluster ou sans cluster au même prix. Les clients peuvent désormais profiter de la fonctionnalité du moteur amélioré dans Amazon ElastiCache for Redis et utiliser la prise en charge complète de la fonctionnalité pour bénéficier d'une configuration en cluster et d'une excellente évolutivité au même prix.  

Q : Qu'est-ce que la fonction Multi-AZ pour ElastiCache for Redis Cluster ?

Chaque partition d'un cluster ElastiCache for Redis comprend un nœud principal et jusqu'à cinq réplicas en lecture. Redis réplique de manière asynchrone les données du nœud principal vers les réplicas en lecture. Lors de certains types de maintenance planifiée ou dans le cas peu probable d'une panne de nœud ElastiCache ou d'une défaillance de zone de disponibilité, Amazon ElastiCache détecte automatiquement la panne d'un nœud principal, sélectionne un réplica en lecture et le promeut en tant que nœud principal.

ElastiCache for Redis Cluster apporte des améliorations et assure la gestion des environnements Redis 3.x. Lors de l'exécution d'un environnement Redis non géré, en cas de défaillance du nœud principal, le cluster s'appuie sur une majorité de nœuds maîtres pour déterminer et exécuter un basculement. En l'absence d'une telle majorité, le cluster se met en état d'échec et rejette toutes les lectures et écritures ultérieures. Cela peut avoir un impact important sur l'application en termes de disponibilité et exiger une intervention humaine pour récupérer manuellement le cluster. La fonction Multi-AZ d'ElastiCache for Redis est conçue pour prendre en charge tous les cas de basculement pour Redis Cluster avec fiabilité et efficacité.

Q : En quoi la fonction Multi-AZ d'ElastiCache for Redis Cluster est-elle différente de celle des versions 2.8.x d'ElastiCache for Redis ?

Redis 3.x fonctionne avec des clients intelligents qui stockent une carte des nœuds avec tous les points de terminaison des nœuds de cluster. Au cours d'un basculement, le client met à jour la carte des nœuds avec le point de terminaison IP du nouveau nœud principal. Cela permet de profiter d'un temps de basculement jusqu'à 4 fois plus rapide par rapport aux versions 2.8.x d'ElastiCache for Redis.

Q : Comment l'option Multi-AZ fonctionne-t-elle pour Redis Cluster ?

Vous pouvez utiliser la fonction Multi-AZ si vous utilisez ElastiCache for Redis Cluster avec chaque partition possédant un ou plusieurs réplicas en lecture. En cas de défaillance du nœud principal d'une partition, 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. Le client Redis 3.x met à jour le réplica promu en tant que nœud principal ; aucun changement d'application n'est nécessaire. 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 principal défaillant. En cas de panne du nœud principal en raison d'une défaillance de la zone de disponibilité, le nouveau réplica est lancé une fois la zone de disponibilité remise en service.

Q : En quoi consiste une sauvegarde dans ElastiCache for Redis Cluster ?

Une sauvegarde ElastiCache for Redis Cluster est une série d'instantanés des partitions du cluster, stockés ensemble pour conserver une copie de toutes vos données Redis pendant une certaine période.

Q : En quoi la sauvegarde dans ElastiCache for Redis Cluster est-elle différente d'un instantané dans ElastiCache for Redis ?

Etant donné qu'un environnement ElastiCache for Redis sans cluster possède un seul nœud principal, une sauvegarde est un fichier unique qui contient une copie des données Redis. ElastiCache for Redis Cluster peut disposer d'une ou de plusieurs partitions. Ainsi, une sauvegarde peut contenir plusieurs fichiers.

Q : Comment spécifier les nœuds ElastiCache for Redis qui doivent être sauvegardés dans chaque partition ?

Vous ne pouvez pas spécifier manuellement le nœud qui doit être sauvegardé dans chaque partition. Lors du lancement d'une sauvegarde, ElastiCache sélectionne automatiquement le réplica en lecture le plus à jour dans chaque partition et prend un instantané de ses données.

Q : Comment fonctionnent la sauvegarde et la restauration d'ElastiCache for Redis Cluster ?

Lorsqu'une sauvegarde est lancée, ElastiCache prend un instantané du cluster spécifié à des fins de restauration ou d'archivage. La sauvegarde inclut une copie de chacune des partitions du cluster. Une sauvegarde complète contient donc une série de fichiers. 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 la sauvegarde à partir de laquelle effectuer la restauration, un nouveau cluster ElastiCache pour Redis est créé et alimenté à partir des données de la sauvegarde. Vous pouvez également utiliser cette fonction pour migrer aisément vers un cluster Redis géré sur ElastiCache. Si vous exécutez une installation Redis autogérée sur EC2, vous pouvez prendre des instantanés RDB ou vos charges de travail existantes (aussi bien vos clusters Redis que des partitions Redis uniques) et les stocker dans S3. Il suffit alors de les configurer comme des entrées pour créer un cluster Redis partitionné sur ElastiCache avec le nombre de partitions désiré. ElastiCache s'occupe du reste.

Actuellement, ElastiCache utilise le mécanisme natif de Redis pour créer et stocker un fichier RDB pour chaque partition en tant que sauvegarde.

Q : La sauvegarde dans ElastiCache for Redis Cluster est-elle un instantané à un moment donné ?

Lorsque vous lancez une sauvegarde, ElastiCache déclenche des sauvegardes simultanées de toutes les partitions de votre cluster. Dans de rares cas, il peut être nécessaire de reprendre un instantané d'un ou de plusieurs nœuds qui n'ont pas abouti la première fois. ElastiCache le fait automatiquement et aucune intervention n'est requise de la part de l'utilisateur. Cependant, dans ce cas, bien que chaque instantané soit une représentation ponctuelle du nœud concerné, tous les instantanés du cluster ne sont pas pris au même moment.

Q : Comment préciser quand la sauvegarde doit être lancée ?

Vous pouvez préciser quand lancer une sauvegarde ponctuelle ou une sauvegarde récurrente dans AWS Management Console, ou en utilisant l'interface de ligne de commande ou les API. Voici les différentes opérations possibles :

  • Vous pouvez effectuer immédiatement une sauvegarde (bouton « Create Snapshot » de la console ou API CreateSnapshot)
  • Vous pouvez configurer une sauvegarde quotidienne automatique. La sauvegarde s'effectuera durant la plage de sauvegarde préconisée. Cette option peut être paramétrée lors de la création/modification du cluster via la console ou à l'aide des API CreateReplicationGroup et ModifyReplicationGroup.

Q : Puis-je utiliser mes propres instantanés RDB stockés dans S3 pour préamorcer le dimensionnement de l'environnement ElastiCache for Redis Cluster ?

Oui. Vous pouvez préciser l'emplacement S3 de votre fichier RDB lors de la création du cluster, via l'assistant Create Cluster de la console, ou à l'aide de l'API CreateReplicationGroup. ElastiCache analyse automatiquement l'espace de clés Redis de l'instantané RDB et le redistribue entre les partitions du nouveau cluster.


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. Voici certaines de ces améliorations :

  • 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 principal.

Q : Comment utiliser le moteur amélioré ?

Pour utiliser le moteur amélioré à partir d'Amazon ElastiCache Management Console, il vous suffit de sélectionner un moteur compatible avec la version 2.8.22 ou une version ultérieure du moteur Redis lors de la création d'un cluster. Vous utiliserez alors le moteur amélioré. Vous pouvez également utiliser le moteur amélioré via l'API ElastiCache ou l'interface de ligne de commande AWS en spécifiant la version du moteur lors de l'exécution de l'API CreateCacheCluster.

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. Comme toujours, seuls les nœuds utilisés vous seront facturés.



Q : Qu'est-ce que le redimensionnement de cluster en ligne ?

Amazon ElastiCache for Redis donne la possibilité d'ajouter et supprimer des fragments de clusters en cours d'exécution. Vous pouvez dimensionner de manière dynamique vos charges de travail de clusters Redis pour les adapter aux fluctuations de la demande. ElastiCache redimensionnera le cluster en ajoutant ou en supprimant des fragments et en redistribuant uniformément des emplacements de hachage sur la nouvelle configuration de fragments, le tout pendant que le cluster reste en ligne et continue d'exécuter des demandes.

Q : Quels sont les avantages du redimensionnement de cluster en ligne ?

La possibilité de redimensionner de manière dynamique un cluster peut vous aider à gérer la variabilité d'une application et répondre aux demandes fluctuantes. Vous pouvez dimensionner correctement vos clusters en ajoutant ou en supprimant des fragments pour adapter les performances et la capacité en mémoire. Cette fonctionnalité élimine le besoin de surapprovisionner des clusters en fonction des pics de demande, aide à améliorer l'efficacité et réduit les coûts.

Q : Comment utiliser le redimensionnement de cluster en ligne ?

Le redimensionnement de cluster en ligne est disponible avec la version 3.2.10 du moteur Redis. Pour refragmenter votre cluster, sélectionnez le cluster et indiquez si vous souhaitez ajouter ou supprimer des fragments. Lorsque vous redimensionnez le cluster pour une augmentation, ElastiCache ajoute des fragments et migre des emplacements depuis les fragments existants de sorte que les emplacements soient uniformément répartis (en nombre) sur les fragments. De la même manière, lors du redimensionnement du cluster pour une diminution, ElastiCache migre des emplacements vers les fragments restants pour distribuer uniformément les emplacements et supprime les fragments spécifiés.

Q : Combien de temps prend le redimensionnement de cluster en ligne ?

Le temps pris par le redimensionnement dépend de plusieurs facteurs, comme le nombre d'emplacements devant être migrés sur les fragments, la taille des données et le taux de demandes entrantes sur le cluster. Toutefois, le flux de travail est optimisé de façon à paralléliser la migration d'emplacements, ce qui réduit le temps nécessaire pour l'ajout de fragments pour l'augmentation du cluster.

Q : Est-ce que le cluster peut être utilisé pendant son redimensionnement ?

Oui. Le cluster reste en ligne continue et d'exécuter les demandes entrantes pendant la refragmentation. Cela dit, la prise d'instantané d'un cluster pendant sa refragmentation n'est pas prise en charge pour éviter toute augmentation de charge sur ce cluster.

Q : Cette opération a-t-elle un impact sur les performances du cluster ?

Le redimensionnement de cluster en ligne permet une augmentation ou une diminution sans temps d'arrêt, il reste une opération exigeante en matière de calcul et peut augmenter la latence de la connexion de votre client. Pour réduire la charge sur le cluster pendant l'opération, nous vous recommandons de suivre les bonnes pratiques (décrites dans la documentation).

Q : Comment suivre la progression d'une refragmentation en ligne ?

Il est possible de suivre une refragmentation en regardant l'état du cluster, des fragments et des nœuds. Pendant l'opération, le cluster, les fragments et les nœuds garderont le statut « en cours de modification ». De la même manière, lorsque les fragments sont créés, supprimés ou participent à la migration d'emplacements, les statuts individuels des fragments reflètent ces statuts pour indiquer la progression. De plus, le statut de l'opération bout en bout peut également être suivi grâce à l'indicateur de progression pour la refragmentation, qui montre le pourcentage d'achèvement et donne des informations sur le temps restant pour l'opération. Enfin, les messages d'événements indiquent la progression en décrivant les actions réalisées (création de fragments, migration d'emplacements, etc.) lors de cette opération.

Q : Quelle est l'opération de rééquilibrage pour le cluster ElastiCache for Redis ?

Le rééquilibrage peut être utilisé pour redistribuer les emplacements parmi les fragments existants pour obtenir une distribution uniforme. Cette opération est utile lorsqu'un cluster est créé avec une distribution des emplacements manuelle inégale ou lorsqu'une opération de dimensionnement laisse le cluster avec une distribution inégale. A supposer que les emplacements sont identiques en mémoire et en exigences E/S, la distribution uniforme d'emplacements par nombre représente un moyen simple d'équilibrer la charge sur les fragments.

Q : Comment fonctionne le balisage lors de l'augmentation d'un cluster ?

Lorsque des nœuds sont ajoutés en vue d'une augmentation d'un cluster, ces derniers portent le même type de balises, commun à tous les nœuds existants. De plus, les utilisateurs peuvent modifier les balises sur tous les nœuds et continuer d'utiliser le même balisage.

Q : Des modifications du côté du client ou de l'application sont-elles nécessaires pour utiliser le redimensionnement de cluster en ligne ?

Non. La distribution d'emplacements améliorée utilisée pour le flux de travail de redimensionnement de cluster est cohérente avec le comportement du client de cluster de Redis et ne requiert aucune modification d'application. ElastiCache conserve les points de terminaison de cluster, ce qui vous permet de continuer d'utiliser les clients existants sans la moindre modification.

Q : Quel est le coût d'utilisation du moteur Redis amélioré ?

L'utilisation du moteur Redis amélioré n'implique aucun coût supplémentaire. Comme toujours, seuls les nœuds utilisés vous seront facturés.


Q : Qu'apporte le chiffrement en transit d'ElastiCache for Redis ?

Le chiffrement en transit permet de chiffrer toutes les communications entre les clients et le serveur Redis ainsi qu'entre les serveurs Redis (nœuds primaires et de réplicas en lecture).

Q : Qu'apporte le chiffrement au repos d'ElastiCache for Redis ?

Le chiffrement au repos permet le chiffrement des données lors de la sauvegarde et la restauration. Les données sauvegardées et restaurées sur disque et via Amazon S3 sont chiffrées.

Q : Comment utiliser le chiffrement en transit, au repos et Redis AUTH ?

Le chiffrement en transit, au repos et Redis AUTH sont des fonctionnalités à sélectionner. Au moment de la création des clusters Redis via la console ou l'interface de ligne de commande, vous pouvez spécifier l'activation ou non du chiffrement et de Redis AUTH pour ensuite procéder au provisionnement d'un jeton d'authentification pour la communication avec le cluster Redis. Une fois le cluster configuré et le chiffrement activé, ElastiCache gère en toute transparence l'expiration et le renouvellement des certificats sans nécessiter d'actions supplémentaires de la part de l'application. De plus, les clients Redis doivent prendre en charge TLS pour que le trafic chiffré en transit soit activé.

Q : Existe-t-il un client Amazon ElastiCache for Redis que je dois utiliser lorsque j'utilise le chiffrement en transit ou au repos ?

Non. Le chiffrement en transit nécessite des clients prenant en charge TLS. La plupart des clients Redis populaires (Lettuce, Predis, go-Redis, par exemple) prennent en charge TLS avec certains paramètres de configuration. Vous devez vous assurer que le client Redis que vous choisissez est configuré pour prendre en charge TLS et continuer d'utiliser ElastiCache for Redis comme avant.

Q : Puis-je activer le chiffrement en transit et au repos sur mes clusters ElastiCache for Redis existants ?

Non. La prise en charge du chiffrement en transit et au repos n'est disponible que pour les nouveaux clusters. Il n'est pas pris en charge sur les clusters ElastiCache for Redis existants. ElastiCache for Redis version 3.2.6 est la première version à prendre en charge ces fonctionnalités.

Q : Dois-je faire quelque chose pour renouveler les certificats ?

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 : Puis-je utiliser mes certificats pour le chiffrement ?

Non. Actuellement, ElastiCache ne donne pas la possibilité d'utiliser vos certificats. ElastiCache gère en toute transparence vos certificats.

Q : Quels types d'instances sont pris en charge pour le chiffrement en transit et au repos ?

Toutes les générations d'instances actuelles sont prises en charge pour le chiffrement en transit et au repos.

Q : L'utilisation du chiffrement entraîne-t-elle des frais supplémentaires ?

L'utilisation du chiffrement n'entraîne aucuns frais supplémentaires.


Q : Est-ce qu'Amazon ElastiCache for Redis est éligible pour HIPAA ?

Oui. Amazon ElastiCache for Redis est un service éligible HIPAA qui a été ajouté à l'AWS Business Associate Addendum (BAA). Cela signifie que vous pouvez utiliser ElastiCache for Redis pour vous aider à traiter, entretenir et stocker des données de santé protégées (PHI) et des applications de santé d'alimentation.

Q : Que dois-je faire pour utiliser ElastiCache for Redis éligible pour HIPAA ?

Si vous disposez d'un accord de partenariat (BAA) avec AWS, vous pouvez dès à présent utiliser ElastiCache for Redi pour concevoir des applications conformes HIPAA. Si vous n'avez pas de BAA ou si vous avez d'autres questions sur l'utilisation d'AWS avec des applications conformes HIPAA, contactez-nous pour obtenir plus d'informations. Pour savoir comment configurer les services éligibles à HIPAA de façon à stocker, traiter et transmettre les PHI, reportez-vous au livre blanc Architecture de la sécurité et de la conformité HIPAA dans Amazon Web Services.

Q : Quels programmes de conformité sont pris en charge par ElastiCache for Redis ?

ElastiCache for Redis prend en charge des programmes de conformité comme SOC 2, SOC 3, SOC 5, ISO, MTCS, C5 et HIPAA. Consultez la section Services concernés par le programme de conformité pour avoir une liste à jour des programmes de conformité pris en charge.

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é.