Composants et fonctions ElastiCache for Redis - Amazon ElastiCache for Redis

Composants et fonctions ElastiCache for Redis

Vous pouvez trouver ci-dessous une présentation des principaux composants d'un déploiement Amazon ElastiCache.

Nœuds ElastiCache

Un nœud est le plus petit élément constitutif d'un déploiement ElastiCache. Un nœud peut exister par lui-même ou en relation avec d'autres nœuds.

Un nœud est un bloc de RAM sécurisée, de dimension fixe et attachée à un réseau. Chaque nœud exécute une instance du moteur et de la version choisis quand vous avez créé le cluster. Si nécessaire, vous pouvez faire évoluer les nœuds d'un cluster vers une instance d'un type différent. Pour plus d’informations, consultez Mise à l'échelle des clusters ElastiCache for Redis.

Chaque nœud dans un cluster est identique aux autres et utilise le même moteur de cache. Chaque nœud de cache a son propre nom DNS et son propre port. Plusieurs types de nœuds de cache sont pris en charge, chacun avec différentes tailles de mémoire associée. Pour obtenir une liste des types d'instances de nœuds pris en charge, consultez Types de nœuds pris en charge.

Vous pouvez acquérir des nœuds à la demande où vous payez uniquement en fonction de votre utilisation. Ou bien vous pouvez acquérir des nœuds réservés à un coût horaire beaucoup plus avantageux. Si votre taux d'utilisation est élevé, vous pouvez faire des économies en achetant des nœuds réservés. Imaginons que votre cluster est utilisé en permanence et que vous ajoutez des nœuds pour faire face aux pics d'utilisation. Dans ce cas, vous pouvez acheter un certain nombre de nœuds réservés à exécuter la plupart du temps. Vous pouvez ensuite acheter des nœuds de paiement à l'utilisation pour les périodes où vous avez occasionnellement besoin d'ajouter des nœuds. Pour plus d'informations sur les nœuds réservés, consultez Nœuds réservés ElastiCache.

Pour plus d'informations sur les nœuds, consultez Gestion des nœuds.

ElastiCache pour les partitions Redis

Une partition Redis (nommée groupe de nœuds dans l'API et la CLI) est un groupe d'un à six nœuds associés. Un cluster Redis (mode cluster désactivé) a toujours une partition.

Les clusters Redis (mode cluster activé) peuvent avoir jusqu'à 500 partitions avec les données du cluster partitionnées sur celles-ci. La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux. Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

Une partition avec plusieurs nœuds implémente la réplication avec un nœud principal en lecture/écriture et de 1 à 5 nœuds de réplica. Pour plus d’informations, consultez Haute disponibilité avec les groupes de réplication.

Pour plus d'informations sur les partitions, consultez Utilisation de partitions.

Clusters ElastiCache for Redis

Un cluster Redis est un groupe logique d'un ou de plusieurs ElastiCache pour les partitions Redis. Les données sont partitionnées entre les partitions d'un cluster Redis (mode cluster activé).

De nombreuses opérations ElastiCache concernant les clusters :

  • Création d'un cluster

  • Modification d'un cluster

  • Réalisation d'instantanés d'un cluster (toutes les versions de Redis)

  • Suppression d'un cluster

  • Affichage des éléments d'un cluster

  • Ajout ou suppression des balises de répartition des coûts vers et depuis un cluster

Pour en savoir plus, consultez les rubriques connexes suivantes :

Configurations de clusters classiques

Voici des configuration de cluster classiques.

Clusters Redis

Les clusters Redis (mode cluster activé) peuvent avoir jusqu'à 500 partitions avec les données du cluster partitionnées sur celles-ci. La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux. Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

Les clusters Redis (mode cluster désactivé) contiennent toujours une seule partition (un groupe de nœuds dans l'API et la CLI). Une partition Redis contient entre 1 et 6 nœuds. S'il y a plus d'un nœud dans une partition, celle-ci prend en charge la réplication. Dans ce cas, un nœud est le nœud primaire en lecture/écriture et les autres sont des nœuds de réplica en lecture seule.

Pour une meilleure tolérance aux pannes, nous vous recommandons d'avoir au moins deux nœuds dans un cluster Redis et d'activer Multi-AZ. Pour plus d’informations, consultez Atténuation des défaillances.

À mesure que la demande sur votre cluster Redis (mode cluster désactivé), vous pouvez le mettre à l’échelle en l’augmentant ou le réduisant. Pour ce faire, déplacez votre cluster vers un type d'instance de nœud différent. Si votre application est en lecture intensive, nous vous recommandons d'ajouter des réplicas en lecture seule Redis (mode cluster désactivé) cluster. En faisant cela, vous pouvez répartir les lectures sur un nombre plus approprié de nœuds.

Vous pouvez également utiliser la hiérarchisation des données. Les données les plus fréquemment consultées sont stockées en mémoire et les données les moins fréquemment consultées sont stockées sur disque. L'avantage de l'utilisation de la hiérarchisation des données est qu'elle réduit les besoins en mémoire. Pour plus d’informations, consultez Mise à niveau des données.

ElastiCache permet de remplacer de façon dynamique le type de nœud Redis (mode cluster désactivé) par un type de nœud de plus grande capacité. Pour plus d'informations sur le dimensionnement, consultez Mise à l'échelle des clusters à nœud unique pour Redis (Mode Cluster désactivé) ou Mise à l'échelle des clusters Redis (mode cluster désactivé) avec des nœuds de réplica.

Réplication ElastiCache for Redis

Avant de poursuivre votre lecture ici, consultez Outils de gestion de votre implémentation pour mieux comprendre les différences entre la terminologie employée dans la console ElastiCache et celle utilisée dans l'API ElastiCache et l'AWS CLI.

La réplication est mise en œuvre par groupe de deux à six nœuds dans une partition (nommée groupe de nœuds dans l'API et la CLI). L'un de ces nœuds est le nœud principal en lecture/écriture. Tous les autres nœuds sont des nœuds de réplica en lecture seule.

Chaque nœud de réplica conserve une copie des données du nœud principal. Les nœuds de réplica utilisent des mécanismes de réplication asynchrones pour maintenir les réplicas en lecture synchronisés avec le nœud principal. Les applications peuvent lire à partir de n'importe lequel des nœuds du cluster, mais peuvent écrire uniquement dans le cluster principal. Les réplicas en lecture améliorent l'adaptabilité en répartissant les lectures sur plusieurs points de terminaison. Les réplicas en lecture améliorent également la tolérance aux pannes en conservant plusieurs copies des données de Le fait de répartir les réplicas en lecture sur plusieurs Zones de disponibilité permet d'améliorer davantage la tolérance aux pannes. Pour plus d'informations sur la tolérance aux pannes, consultez Atténuation des défaillances.

Les clusters Redis (mode cluster désactivé) prennent en charge une partition (appelée un groupe de nœuds dans l'API et la CLI).

Les clusters Redis (mode cluster activé) peuvent avoir jusqu'à 500 partitions avec les données du cluster partitionnées sur celles-ci. La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux. Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

La réplication du point de vue de l'API et de la CLI utilise une terminologie différente pour assurer la compatibilité avec les versions antérieures, mais les résultats sont identiques. Le tableau suivant présente les termes employés par l'API et la CLI pour l'implémentation de la réplication.

Comparaison de la réplication : Redis (mode cluster désactivé) et Redis (mode cluster activé)

Dans le tableau suivant, vous trouverez une comparaison des fonctions des groupes de réplication Redis (mode cluster désactivé) et Redis (mode cluster activé).

Redis (Mode cluster désactivé) Redis (mode cluster activé)
Partitions (groupes de nœuds) 1 1–500  

Les clusters Redis (mode cluster activé) peuvent avoir jusqu'à 500 partitions avec les données du cluster partitionnées sur celles-ci. La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à l'augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d'autres clusters. Pour plus d’informations, consultez Création d'un groupe de sous-réseaux. Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.

Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.

Répliques pour chaque partition (groupe de nœuds) 0–5 0–5
Partitionnement de données Non Oui
Ajouter/supprimer des réplicas Oui Oui
Ajouter/supprimer des groupes de nœuds Non Oui
Prend en charge l’augmentation d’échelle Oui Oui
Prend en charge les mises à niveau du moteur Oui Oui
Promouvoir le réplica en primaire Oui Automatic
Multi-AZ Facultatif Obligatoire
Sauvegarder/restaurer Oui Oui
Remarques:
Si un primaire n'a pas de réplicas et qu’il échoue, vous perdez toutes les données de ce primaire.
Vous pouvez utiliser la sauvegarde et la restauration pour migrer vers Redis (mode cluster activé).
Vous pouvez utiliser la sauvegarde et la restauration pour redimensionner votre cluster Redis (mode cluster activé).

Toutes les partitions (dans l'API et la CLI, groupes de nœuds) et tous les nœuds doivent résider dans la même région AWS. Cependant, vous pouvez allouer des nœuds individuels dans plusieurs zones de disponibilité au sein de cette région AWS.

Les réplicas en lecture évitent les pertes de données potentielles car les données sont répliquées sur deux ou plusieurs nœuds, le principal et un ou plusieurs réplicas en lecture. Pour une plus grande fiabilité et une récupération plus rapide, nous vous recommandons de créer une ou plusieurs répliques de lecture dans différentes zones de disponibilité. En outre, activez Multi-AZ au lieu d'utiliser Redis Append Only File (AOF). AOD est désactivé lorsque Multi-AZ est activé. Pour plus d’informations, consultez Réduction des temps d'arrêt dans ElastiCache for Redis avec Multi-AZ.

Vous pouvez également tirer parti des banques de données mondiales. Avec la fonction Global Datastore for Redis, vous pouvez profiter d'une réplication dans les régions AWS entièrement gérée, rapide, fiable et sécurisée. Grâce à cette fonction, vous pouvez créer des clusters de réplicas en lecture entre régions pour ElastiCache for Redis afin de permettre les lectures à faible latence et la reprise après sinistre dans les régions AWS. Pour plus d’informations, consultez .

Réplication : limites et exclusions

  • AOF n'est pas pris en charge sur le type de nœud cache.t1.micro et cache.t2. Pour ces types de nœuds, la valeur du paramètre appendonly est ignorée.

  • Multi-AZ n'est pas pris en charge sur les types de nœuds T1.

Pour plus d'informations sur AOF et Multi-AZ, consultez Atténuation des défaillances.

AWSRégions et Zones de disponibilité

Amazon ElastiCache est disponible dans plusieurs régions AWS du monde. Par conséquent, vous pouvez lancer des clusters ElastiCache dans des régions qui répondent à vos exigences professionnelles. Par exemple, vous pouvez lancer des instances dans la région AWS la plus proche de vos clients ou dans une région répondant à certaines exigences légales.

Par défaut, les kits SDK AWS, la AWS CLI, l'API ElastiCache et la console ElastiCache font référence à la région USA Ouest (Oregon). Comme ElastiCache étend sa disponibilité à de nouvelles régions AWS, les nouveaux points de terminaison de ces régions AWS peuvent être également utilisés. Vous pouvez les utiliser dans vos requêtes HTTP, kits SDK AWS, la AWS CLI et la console ElastiCache.

Chaque région AWS est conçue pour être complètement isolée des autres régions AWS. Chaque région contient plusieurs zones de disponibilité. En lançant vos nœuds dans différentes zones de disponibilité, vous pouvez obtenir la plus grande tolérance aux pannes possible. Pour plus d'informations sur les régions et les zones de disponibilité AWS, veuillez consulter Choix des régions et des zones de disponibilité. Dans le diagramme suivant, vous pouvez voir une vue d'ensemble du fonctionnement des régions AWS et des zones de disponibilité.


					Image : régions et zones de disponibilité AWS

Pour plus d'informations sur les régions AWS prises en charge par ElastiCache et leurs points de terminaison, veuillez consulter Régions et points de terminaison pris en charge.

ElastiCache pour les points de terminaison Redis

Un point de terminaison est l'adresse unique que votre application utilise pour se connecter à un nœud ou un cluster ElastiCache.

Points de terminaison à nœud unique for Redis (mode cluster désactivé)

Le point de terminaison d'un cluster Redis avec un seul nœud est utilisé pour se connecter au cluster, aussi bien en écriture qu'en lecture.

Points de terminaison à plusieurs nœuds for Redis (mode cluster désactivé)

Un cluster Redis à plusieurs nœuds (mode cluster désactivé) a deux types de points de terminaison. Le point de terminaison principal se connecte toujours au nœud principal du cluster, même si le rôle du nœud spécifique dans le principal change. Utilisez le point de terminaison principal pour toutes les écritures dans le cluster.

Le point de terminaison en lecture d'un cluster Redis (mode cluster désactivé) pointe toujours vers un nœud spécifique. Chaque fois que vous ajoutez ou supprimez un réplica en lecture, vous devez mettre à jour le point de terminaison du nœud associé dans votre application.

Points de terminaison Redis (mode cluster activé)

Un cluster Redis (mode cluster activé) possède un seul point de terminaison de configuration. En se connectant au point de terminaison de configuration, votre application est en mesure de découvrir les points de terminaison principal et de lecture pour chaque partition du cluster.

Pour plus d’informations, consultez Recherche de points de terminaison de connexion.

Paramètres de groupe ElastiCache

Les groupes de paramètres de cache sont un moyen simple de gérer les paramètres d'exécution pour le logiciel de moteur pris en charge. Les paramètres permettent de contrôler l'utilisation de la mémoire, les règles d'expulsion, la taille des objets, etc. Un groupe de paramètres Elasticache est une collection nommée de paramètres spécifiques au moteur que vous pouvez appliquer à un cluster. En faisant cela, vous vous assurez que tous les nœuds de ce cluster sont configurés exactement de la même manière.

Pour une liste des paramètres pris en charge, leurs valeurs par défaut et ceux qui peuvent être modifiés, consultez DescribeEngineDefaultParameters (CLI : describe-engine-default-parameters).

Pour en savoir plus sur les groupes de paramètres ElastiCache, veuillez consulter Configuration des paramètres de moteur à l'aide de groupes de paramètres.

Sécurité ElastiCache for Redis

Pour une sécurité optimale, l'accès au nœud ElastiCache for Redis est limité aux applications qui s'exécutent sur les instances Amazon EC2 que vous autorisez. Vous pouvez contrôler les instances Amazon EC2 qui peuvent accéder à votre cluster en utilisant des groupes de sécurité.

Par défaut, tous les nouveaux clusters ElastiCache for Redis sont lancés dans un environnement Amazon Virtual Private Cloud (Amazon VPC). Vous pouvez utiliser des groupes de sous-réseaux pour accorder l'accès au cluster à partir d'instances Amazon EC2 s'exécutant sur des sous-réseaux spécifiques. Si vous choisissez d'exécuter votre cluster en dehors d'Amazon VPC, vous pouvez créer des groupes de sécurité. Ceux-ci vous permettent d'autoriser les instances Amazon EC2 s'exécutant dans des groupes de sécurité Amazon EC2 spécifiques.

En plus de restreindre l'accès à vos nœuds, ElastiCache for Redis prend en charge TLS et le chiffrement sur place pour les nœuds exécutant des versions spécifiées d’ElastiCache for Redis. Pour plus d'informations, consultez les ressources suivantes :

Groupes de sécurité ElastiCache

Note

Les groupes de sécurité ElastiCache s'appliquent uniquement aux clusters qui sont pas en cours d'exécution dans un environnement Amazon Virtual Private Cloud (VPC). Si vous exécutez vos nœuds ElastiCache dans un Virtual Private Cloud (VPC) basé sur Amazon VPC, vous contrôlez l'accès à vos clusters de cache avec les groupes de sécurité Amazon VPC. Ceux-ci sont différents des groupes de sécurité ElastiCache. Pour plus d'informations sur l'utilisation d'ElastiCache avec Amazon VPC, veuillez consulter . Sécurité des VPC Amazon et ElastiCache.

ElastiCache vous permet de contrôler l'accès à vos clusters à l'aide des groupes de sécurité. Un groupe de sécurité agit comme un pare-feu, contrôlant les accès réseau à votre cluster. Par défaut, les accès réseau à vos clusters sont désactivés. Si vous souhaitez que vos applications accèdent à votre cluster, vous devez activer explicitement l'accès depuis les hôtes dans des groupes de sécurité Amazon EC2 spécifiques. Une fois les règles de trafic entrant sont configurées, les mêmes règles s'appliquent à tous les clusters associés à ce groupe de sécurité.

Pour permettre l'accès réseau à votre cluster, créez tout d'abord un groupe de sécurité. Utilisez ensuite l'action d'API AuthorizeCacheSecurityGroupIngress ou la commande authorize-cache-security-group-ingress AWS CLI pour autoriser le groupe de sécurité Amazon EC2 souhaité. Cette opération indique les instances Amazon EC2 autorisées. Vous pouvez associer le groupe de sécurité à votre cluster au moment de la création. Pour ce faire, utilisez également la console de gestion ElastiCache, l'opération d’API ModifyCacheCluster ou la commande de la AWS CLI modify-cache-cluster.

Important

Le contrôle d'accès basé sur les plages d'adresses IP n'est actuellement pas activé pour les clusters. Tous les clients d'un cluster doivent être membres d'un réseau Amazon EC2 et être autorisés grâce à des groupes de sécurité, comme indiqué précédemment.

Pour plus d'informations sur les groupes de sécurité, consultez Groupes de sécurité : EC2-Classic.

Groupes de sous-réseaux ElastiCache

Un groupe de sous-réseaux est un ensemble de sous-réseaux (généralement privés) que vous pouvez utiliser pour vos clusters fonctionnant dans un environnement de VPC Amazon.

Si vous créez un cluster dans un Amazon VPC, vous devez spécifier un groupe de sous-réseaux de cache. ElastiCache utilise ce groupe de sous-réseaux de cache pour sélectionner un sous-réseau et des adresses IP au sein de celui-ci à associer à vos nœuds de cache.

Pour plus d'informations sur l'utilisation du groupe de sous-réseaux de cache dans un environnement Amazon VPC, consultez les ressources suivantes :

ElastiCache pour les sauvegardes Redis

Une sauvegarde est une copie à un moment donné d'un cluster Redis. Les sauvegardes peuvent être utilisées pour restaurer un cluster existant ou pour amorcer un nouveau cluster. Les sauvegardes sont constituées de toutes les données d'un cluster, plus quelques métadonnées.

Selon la version de Redis exécutée sur votre cluster, le processus de sauvegarde requiert différentes quantités de mémoire réservée pour réussir. Pour plus d'informations, consultez les ressources suivantes :

Événements ElastiCache

Lorsque des événements importants se produisent sur un cluster de cache, ElastiCache envoie une notification à une rubrique Amazon SNS spécifique. Ces événements peuvent inclure des éléments tels que l'échec ou la réussite de l'ajout d'un nœud, une modification du groupe de sécurité, etc. En surveillant les événements clés, vous pouvez connaître l'état actuel de vos clusters et, dans de nombreux cas, prendre des actions correctives.

Pour plus d'informations sur les événements ElastiCache, veuillez consulter Surveillance des événements ElastiCache.