Redis - Architecture

Redis est déployable en self-service via notre outil de gestion de plateforme cloud : ITCare.

Topologies

Deux topologies sont disponibles :

  • Instance autonome

  • Cluster Sentinel

Dans les deux cas, vous pouvez choisir de faire persister ou non les données sur le disque lors de la demande de création, voir Persistance.

Instance autonome

L'instance autonome, une fois déployée, est accessible sur le port d'écoute 6379.

Cluster Sentinel

Le cluster Redis Sentinel est déployé sur 3 instances répartis sur toutes les Zones de disponibilité d'une Area.

Le cluster, une fois déployé, est accessible sur le port d'écoute 6379.

Particularités en mode cluster

  • Chaque instance exécute les processus Redis et Sentinel

  • Port d'écoute Sentinel : 26379

  • Sur les 3 instances, l'une d'elle est primaire et les deux autres sont des répliques

  • Les répliques sont ouvertes en lecture seule

Persistance

La persistance fait référence à l'écriture de données sur un support durable, tel qu'un disque SSD (solid-state disk). Redis propose une série d'options de persistance.

  • RDB (Redis Database) : La persistance RDB réalise des instantanés ponctuels de votre ensemble de données à des intervalles spécifiés.

  • AOF (Append Only File) : La persistance AOF enregistre chaque opération d'écriture reçue par le serveur. Ces opérations peuvent ensuite être rejouées au démarrage du serveur, reconstituant ainsi l'ensemble de données d'origine. Les commandes sont enregistrées dans le même format que le protocole Redis lui-même.

  • Pas de persistance : Vous pouvez désactiver complètement la persistance. Cette option est parfois utilisée pour la mise en cache.

  • RDB + AOF : Vous pouvez également combiner AOF et RDB dans la même instance.

ScénarioParamètrage

Si Persistance RDB activée

  • save 3600 1

  • save 300 100

  • save 60 10000

Si Persistance AOF activée

  • append fsync every sec

Résilience

Si l'instance primaire tombe en panne, une réplique sera automatiquement promue en tant que nouveau primaire. La réplique sera reconfigurée automatiquement pour suivre le nouveau primaire.

Sentinel fournit les informations concernant l'instance primaire et les instances répliques.

Fonctionnalités

Cette section énumère les fonctionnalités disponibles pour le client, ainsi que la manière de les demander ou de les exécuter :

Libre service

Le client peut effectuer une action de manière autonome.

Sur demande

Le client peut demander à l'équipe de support de cegedim.cloud de prendre les mesures nécessaires.

FonctionnalitésLibre serviceSur demandeCommentaires

Accès SSH

L'accès SSH est désactivé et réservé aux administrateurs de cegedim.cloud.

Modifier le fichier de configuration

Sur demande via un billet.

Accès à Redis/Sentinel

Le client peut se connecter avec un compte à Redis et Sentinel (mot de passe défini par le client dans l'assistant de provisionnement).

Diagramme de haut niveau

Configuration

Configuration du produit

ParamètreValeur personnaliséeEnforcéCommentaires

bind

@IP 127.0.0.1

Adresse d'écoute

timeout

300

Fermer la connexion après qu'un client soit inactif pendant N secondes (0 pour désactiver)

logfile

/var/log/redis/redis-server.log

Chemin du fichier journal

supervised

systemd

Interaction de supervision

Si la persistance AOF est active, les paramètres suivants seront appliqués :

ParamètreValeur personnaliséeEnforcé

appendonly

oui

dir

/var/lib/redis/persistance

appendfsync

everysec

si RDB est actif, les paramètres suivants seront appliqués :

ParamètreValeur personnaliséeEnforcé

save

3600 1

save

300 100

save

60 10000

rdb_compression

oui

rdbchecksum

oui

dir

/var/lib/redis/persistance

Configuration Kernel

Les paramètres noyau suivants ont été modifiés afin d'optimiser les performances du système d'exploitation pour Redis :

  • vm.overcommit_memory = 1

  • vm.swappiness = 1

  • net.core.somaxconn = 65535

Sécurité

Authentification

Le mode d'authentification utilisé est le mode interne : Redis 6 ACL.

Les mots de passe sont hashés avec SHA-256 et n’apparaissent pas en clair dans le fichier ACL.

Autorisations

Les ACL de Redis 6 sont utilisées pour gérer les autorisations.

Sur Sentinel, le compte client dédié a les droits sur :

~* &* +@all -@dangerous +ACL|GETUSER +INFO +sentinel|GET-MASTER-ADDR-BY-NAME +sentinel|IS-MASTER-DOWN-BY-ADDR +sentinel|MASTER +sentinel|MASTERS +sentinel|MYID +sentinel|REPLICAS +sentinel|SLAVES +sentinel|SENTINELS

Sur Redis, le compte client dédié a les droits sur :

~* &* +@all -@dangerous +ACL|GETUSER +INFO +CONFIG|GET +CONFIG|HELP

Transport sécurisé

Le client peut choisir d'activer le non le transport TLS lors de la demande de création en libre-service via ITCare.

Mots de passe

Cette section énumère la gestion des mots de passe :

Mot de passeStocké par cegedim.cloudStocké par le clientEnforcéAlgorithme de hash

compte du client

SHA-256

TOUT autre compte

SHA-256

compte cgdm_admin

SHA-256

compte cgdm_monitor

SHA-256

Surveillance

Les éléments suivants sont surveillés et sont accessibles dans ITCare.

AlertesDescription

DBS_REDIS_CLI_CLIENTS

Vérifier le nombre de clients connectés

DBS_REDIS_CLI_AOF_STATUS

Vérifier l'état de l'aof

DBS_REDIS_CLI_COMMANDS

Nombre de commandes traitées

DBS_REDIS_CLI_CONNECTIONS

Nombre de connexions

DBS_REDIS_CLI_CPU

Utilisation du CPU

DBS_REDIS_CLI_MEMORY

Utilisation de la mémoire

DBS_REDIS_CLI_REPL_REPLICAS_COUNT

Vérifier le nombre de répliques

DBS_REDIS_CLI_RDB_STATUS

Statut de la RDB

DBS_REDIS_PING

Vérifie la disponibilité du nœud

DBS_REDIS_SENTINEL_MASTER_UP

Vérifie l'état du maître à partir de Sentinel

DBS_REDIS_SENTINEL_SLAVES_COUNT

Vérifier le nombre de répliques à partir de Sentinel

DBS_REDIS_SENTINEL_SENTINELS_COUNT

Vérifier Sentinelscount

DBS_REDIS_SENTINEL_QUORUM

Vérifier l'état du quorum

TLS_REDIS_CERT_EXPIRATION

Vérifier l'expiration du certificat Redis

TLS_SENTINEL_CERT_EXPIRATION

Vérifier l'expiration du certificat Sentinel

Dernière mise à jour