RousselTMLEARNING

TP · Elasticsearch : de la découverte à l'expertise

Sauvegarde et restauration

Les prérequis #

Vous devez disposer d'un cluster Elasticsearch avec une instance Kibana connectée à ce cluster. Nous vous invitons à faire le TP sur l'installation d'Elasticsearch si ce n'est pas encore le cas.

Vous devez aussi disposer d'un espace pour stocker les sauvegardes. Pour ce TP on utilisera un dossier partagé qu'on montera sur l'ensemble des conteneurs/VMs.
ATTENTION : Quelque soit le mécanisme utilisé pour stocker les snapshots, il doit disposer d'une politique de backup que vous devez gérer en dehors d'Elasticsearch.

Les espaces de sauvegardes #

  1. Création du stockage

    Vous devez disposer d'un espace de stockage pour vos sauvegardes. Elasticsearch vous propose plusieurs options : Cloud (Azure, GCP et AWS) et autres. Dans ce TP on utilisera l'option 'Shared file system'. Pour cela, il faut donc avoir un montage NFS monté au même endroit sur les noeuds master et data. Cela est déjà fait dans la configuration Docker. Vous pouvez donc utiliser le dossier '/data/backups'.

  2. Déclaration du stockage

    Vous devez déclarer le stockage '/data/backups' dans Elasticsearch

  3. Configuration du stockage

    Vous devez créer un nouveau 'repository' nommé 'monpremierrepo' de type 'shared file system' avec les paramètres suivants :
    • Taille des fichiers: 1 giga
    • vitesse de restauration par seconde : demi giga
  4. Vérification du stockage

    Vous devez tester que l'ensemble des noeuds master et data ont bien accès au repo.

La politique de sauvegarde #

  1. Ma premiere politique

    Vous devez configurer une politique nommée 'mapremierepolicy' qui va générer des snapshots qui portent le nom de 'monpremiersnaphot' et va stocker les sauvegardes dans le 'repository' 'monpremierrepo', sauvegardes les index commençants par mon et s'exécuter tous les jours à 3h du matin avec un roulement sur 3 jours.
    ATTENTION : Il est conseillé de faire plusieurs politiques de sauvegardes en fonction du type de données. Par exemple, il ne sert à rien de sauvegarder un paramètre tous les jours alors qu'il est modifié 1 ou 2 fois par an. A l'inverse vous aurez des index avec des informations critiques qu'il faudra peut être sauvegarder toutes les heures?
  2. Test de ma politique

    Vous devez forcer l'exécution de la politique.

Et ensuite #

A ce stade, on a mis en place notre snaphot avec sa politique. On va donc tester un restauration. Mais pour vérifier la restauration on va simuler des actions involontaires.

  1. Erreur sur index

    Vous devez supprimer l'index 'mon-deuxieme-index'

  2. Erreur sur document

    Vous devez supprimer dans l'index 'mon-second-index' le document qui a l'id 4.

  3. Retour arrière

    Vous devez restaurer le dernier snapshot réalisé.

  4. Retour arrière ciblé

    Vous devez restaurer uniquement l'index 'mon-deuxieme-index'

Niveau de difficulté : ●●●●○ (4/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 1 h 10

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Glossaire de la formation

Observabilité

La capacité à connaître l'état interne d'un système à partir des données qu'il émet.Ces données sont classées en 3 piliers : logsmétriquestracesprofil...

Elastic Common Schema (ECS)

Une spécification open source qui permet de structurer vos données de manière homogène dans l'écosystème Elastic.

RBAC (Role-Based Access Control)

Contrôle d'accès basé sur les rôles. Les permissions sont attribuées à des rôles spécifiques (ex: admin, lecteur) plutôt qu'directement aux utilisateu...

Authentification

Processus permettant de vérifier et valider l'identité d'un utilisateur ou d'un système (ex: login/mot de passe, jeton, biométrie).

Autorisation

Processus intervenant après l'authentification pour déterminer si l'entité a les droits et privilèges nécessaires pour accéder à une ressource.

API Key

Clé d'API. Code alphanumérique unique utilisé pour identifier, authentifier et autoriser l'accès à une interface de programmation (API).

Architecture

Conception globale et structurelle d'un système informatique, définissant ses différents composants, leurs relations et les principes guidant son évol...

Repository

Dépôt de stockage centralisé. Peut désigner un dépôt de code source (ex: Git) ou un dépôt d'artefacts et binaires (ex: Harbor, Nexus, Artifactory).

Articles recommandés

Snapshot Lifecycle Management : sauvegardes automatisées, restauration et reprise après sinistre

Protéger les données Elasticsearch : dépôts de snapshots (S3, GCS, Azure, système de fichiers), p...

Architecture distribuée Elasticsearch : rôles des nœuds, shards, répliques et allocation

Comprendre le fonctionnement distribué d'Elasticsearch : rôles des nœuds, nœuds master et quorum,...

Automatisation et infrastructure as code pour Elasticsearch : API, Terraform, Ansible et CI/CD

Automatiser l'administration d'Elasticsearch : API REST et clients, fournisseur Terraform elastic...

Cross-cluster search et cross-cluster replication : architectures multi-clusters Elasticsearch

Concevoir des architectures multi-clusters Elasticsearch : clusters distants, cross-cluster searc...

Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex

Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs...

Administrer Kibana : espaces, rôles, utilisateurs et supervision

Organiser Kibana pour plusieurs équipes : espaces, rôles et privilèges sur les index et les fonct...

Monitoring et troubleshooting Elasticsearch : santé, shards non assignés, JVM, hot threads et slow logs

Diagnostiquer un cluster Elasticsearch : cluster health et CAT APIs, shards non assignés et alloc...

Sécurité avancée Elasticsearch : TLS, certificats, clés d'API, FLS, DLS et audit

Sécuriser Elasticsearch en profondeur : TLS transport et HTTP, gestion des certificats avec elast...

OpenSearch en production : ISM, sauvegardes, sécurité et bonnes pratiques

Automatiser le cycle de vie avec ISM, sauvegarder par snapshots, gérer les rôles et dimensionner ...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !