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énario | Paramètrage |
---|---|
Si Persistance RDB activée |
|
Si Persistance AOF activée |
|
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és | Libre service | Sur demande | Commentaires |
---|---|---|---|
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ètre | Valeur personnalisée | Enforcé | 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ètre | Valeur personnalisée | Enforcé |
---|---|---|
appendonly | oui | |
dir | /var/lib/redis/persistance | |
appendfsync | everysec |
si RDB est actif, les paramètres suivants seront appliqués :
Paramètre | Valeur personnalisée | Enforcé |
---|---|---|
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 :
Sur Redis, le compte client dédié a les droits sur :
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 passe | Stocké par cegedim.cloud | Stocké par le client | Enforcé | 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.
Alertes | Description |
---|---|
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 |
Last updated