Migrer une pile ELK vers Elastic Cloud sur AWS - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrer une pile ELK vers Elastic Cloud sur AWS

Créée par Battulga Purevragchaa (AWS), Uday Reddy et Antony Prasad Thevaraj (AWS)

Environnement : Production

Source : Elasticsearch

Cible : Elastic Cloud

Type R : Replateforme

Charge de travail : toutes les autres charges de travail

Technologies : analyse ; sécurité, identité, conformité

Services AWS : Amazon EC2 ; Amazon EC2 Auto Scaling ; Elastic Load Balancing (ELB) ; Amazon S3 ; Amazon Route 53

Récapitulatif

Elastic fournit des services depuis de nombreuses années, ses utilisateurs et clients gérant généralement Elastic eux-mêmes sur site. Elastic Cloud, le service Elasticsearch géré, permet d'utiliser la Suite Elastic (ELK Stack) et les solutions de recherche, d'observabilité et de sécurité en entreprise. Vous pouvez accéder aux solutions Elastic avec des applications telles que Logs, Metrics, APM (surveillance des performances des applications) et SIEM (informations de sécurité et gestion des événements). Vous pouvez utiliser des fonctionnalités intégrées telles que l'apprentissage automatique, la gestion du cycle de vie des index, Kibana Lens (pour les visualisations par glisser-déposer).

Lorsque vous passez d'Elasticsearch autogéré à Elastic Cloud, le service Elasticsearch prend en charge les tâches suivantes :

  • Provisionnement et gestion de l'infrastructure sous-jacente

  • Création et gestion de clusters Elasticsearch

  • Faire évoluer les clusters vers le haut ou vers le bas

  • Mises à niveau, application de correctifs et prise de clichés

Cela vous donne plus de temps pour vous concentrer sur la résolution d'autres défis.

Ce modèle définit comment migrer Elasticsearch 7.13 sur site vers Elasticsearch on Elastic Cloud on Amazon Web Services (AWS). D'autres versions peuvent nécessiter de légères modifications des processus décrits dans ce modèle. Pour plus d'informations, contactez votre représentant Elastic.

Conditions préalables et limitations

Prérequis

Vous devez connaître la taille de vos instantanés et les règles de cycle de vie des index associés sur site avant de lancer votre migration. Pour plus d'informations, contactez Elastic.

Rôles et compétences

Le processus de migration nécessite également les rôles et l'expertise décrits dans le tableau suivant.

Rôle

Expertise

Responsabilités

Assistance pour les applications

Connaissance d'Elastic Cloud et d'Elastic on premise

Toutes les tâches liées à Elastic

Administrateur système ou DBA

Connaissance approfondie de l'environnement Elastic sur site et de sa configuration

Possibilité de provisionner le stockage, d'installer et d'utiliser l'interface de ligne de commande AWS (AWS CLI) et d'identifier toutes les sources de données alimentant Elastic sur site

Administrateur réseau

Connaissance de la connectivité, de la sécurité et des performances du réseau sur site avec AWS

Établissement de liens réseau entre le site et Amazon S3, avec une compréhension de la bande passante de connectivité

Limites

Versions du produit

  • Elasticsearch 7.13

Architecture

Pile technologique source

Elasticsearch 7.13 ou version ultérieure sur site :

  • Instantanés de cluster

  • Instantanés de l'index

  • Configuration de Beats

Architecture de la technologie source

Le schéma suivant montre une architecture locale typique avec différentes méthodes d'ingestion, différents types de nœuds et Kibana. Les différents types de nœuds reflètent le cluster Elasticsearch, ainsi que les rôles d'authentification et de visualisation.

Processus en huit étapes incluant Beats, Logstash, Elasticsearch et Kibana.
  1. Ingestion de Beats vers Logstash

  2. Ingestion depuis Beats vers la file d'attente de messagerie Apache Kafka

  3. Ingestion de Filebeat vers Logstash

  4. Ingestion depuis la file de messagerie Apache Kafka vers Logstash

  5. Ingestion de Logstash vers un cluster Elasticsearch

  6. Cluster Elasticsearch

  7. Nœud d'authentification et de notification

  8. Kibana et nœuds blob

Pile technologique cible

Elastic Cloud est déployé sur votre compte SaaS dans plusieurs régions AWS avec réplication entre clusters.

  • Instantanés de cluster

  • Instantanés de l'index

  • Configurations Beats

  • Cloud élastique

  • Network Load Balancer

  • Amazon Route 53

  • Amazon S3

Architecture cible

Les points de terminaison Route 53 acheminent le trafic vers des environnements multi-AZ dans deux régions différentes.

L'infrastructure Elastic Cloud gérée est la suivante :

Étapes de migration de haut niveau

Elastic a développé sa propre méthodologie prescriptive pour la migration d'Elastic Cluster sur site vers Elastic Cloud. La méthodologie Elastic est directement alignée et complémentaire sur les conseils et les meilleures pratiques d'AWS en matière de migration, notamment Well-Architected Framework et AWS Migration Acceleration Program (MAP). Généralement, les trois phases de migration vers AWS sont les suivantes :

  • Évaluation

  • Mobilisation

  • Migration et modernisation

Elastic suit des phases de migration similaires avec une terminologie complémentaire :

  • Initier

  • Plan

  • Mettre en œuvre

  • Livrer

  • Fermer

Elastic utilise la méthodologie de mise en œuvre Elastic pour faciliter l'obtention des résultats du projet. Cela est inclusif dès la conception afin de garantir que Elastic, les équipes de conseil et les équipes clients travaillent ensemble avec clarté pour obtenir conjointement les résultats escomptés.

La méthodologie Elastic combine le phasage en cascade traditionnel avec Scrum au cours de la phase de mise en œuvre. Les configurations des exigences techniques sont fournies de manière itérative de manière collaborative tout en minimisant les risques.

Schéma illustrant les cinq étapes de la méthodologie de mise en œuvre élastique.

Outils

Services AWS

  • Amazon Route 53 — Amazon Route 53 est un service Web de système de noms de domaine (DNS) hautement disponible et évolutif. Vous pouvez utiliser Route 53 pour effectuer trois fonctions importantes dans n'importe quelle combinaison : l'enregistrement de domaine, le routage DNS et la surveillance de l'état.

  • Amazon S3 — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets. Vous pouvez utiliser Amazon S3 pour stocker et récupérer n'importe quelle quantité de données, n'importe quand et depuis n'importe quel emplacement sur le Web. Ce modèle utilise un compartiment S3 et Amazon S3 Transfer Acceleration.

  • Elastic Load Balancing — Elastic Load Balancing distribue automatiquement votre trafic entrant sur plusieurs cibles, telles que les instances EC2, les conteneurs et les adresses IP, dans une ou plusieurs zones de disponibilité.

Autres outils

  • Beats — Beats envoie des données depuis Logstash ou Elasticsearch

  • Elastic Cloud — Elastic Cloud est un service géré d'hébergement d'Elasticsearch.

  • Elasticsearch — Elasticsearch est un moteur de recherche et d'analyse qui utilise la Suite Elastic pour stocker de manière centralisée vos données à des fins de recherche et d'analyse évolutives. Ce modèle utilise également la création de snapshots et la réplication entre clusters.

  • Logstash — Logstash est un pipeline de traitement de données côté serveur qui ingère des données provenant de plusieurs sources, les transforme, puis les envoie vers votre espace de stockage de données.

Épopées

TâcheDescriptionCompétences requises

Identifiez les serveurs exécutant la solution Elastic sur site.

Vérifiez que la migration élastique est prise en charge.

Propriétaire de l'application

Comprenez la configuration du serveur sur site.

Pour comprendre la configuration du serveur nécessaire pour gérer correctement les charges de travail sur site, déterminez l'encombrement matériel du serveur, la configuration réseau et les caractéristiques de stockage actuellement utilisées

Support pour les applications

Collectez les informations relatives aux comptes des utilisateurs et des applications.

Identifiez les noms d'utilisateur et les noms d'applications utilisés par l'environnement Elastic sur site.

Administrateur système, support des applications

Documentez la configuration de Beats et de l'expéditeur de données.

Pour documenter les configurations, examinez les sources de données et les récepteurs existants. Pour plus d'informations, consultez la documentation Elastic.

Assistance pour les applications

Déterminez la vélocité et le volume des données.

Établissez une base de référence pour la quantité de données traitée par le cluster.

Administrateur système, support des applications

Documentez les scénarios RPO et RTO.

Documentez les scénarios d'objectif de point de reprise (RPO) et d'objectif de temps de restauration (RTO) en termes de pannes et d'accords de niveau de service (SLA).

Propriétaire de l'application, administrateur système, assistance de l'application

Déterminez les paramètres de cycle de vie des instantanés optimaux.

Définissez la fréquence à laquelle les données doivent être sécurisées en utilisant des instantanés Elastic pendant et après la migration.

Propriétaire de l'application, administrateur système, assistance de l'application

Définissez les attentes en matière de performances après la migration.

Générez des métriques sur l'actualisation actuelle et attendue de l'écran, les temps d'exécution des requêtes et les comportements de l'interface utilisateur.

Administrateur système, support des applications

Documentez les exigences en matière de transport, de bande passante et de disponibilité de l'accès à Internet.

Vérifiez la vitesse, la latence et la résilience des connexions Internet pour copier des instantanés vers Amazon S3.

Administrateur réseau

Documentez les coûts actuels de l'exécution sur site pour Elastic.

Assurez-vous que le dimensionnement de l'environnement cible AWS est conçu pour être à la fois performant et rentable.

DBA, administrateur système, support des applications

Identifiez les besoins en matière d'authentification et d'autorisation.

Les fonctionnalités de sécurité d'Elastic Stack fournissent des domaines intégrés tels que le protocole LDAP (Lightweight Directory Access Protocol), le langage SAML (Security Assertion Markup Language) et OpenID Connect (OIDC).

DBA, administrateur système, support des applications

Comprenez les exigences réglementaires spécifiques en fonction de la situation géographique.

Assurez-vous que les données sont exportées et cryptées conformément à vos exigences et à toutes les exigences nationales pertinentes.

DBA, administrateur système, support des applications
TâcheDescriptionCompétences requises

Préparez la zone de transit sur Amazon S3.

Pour recevoir des instantanés sur Amazon S3, créez un compartiment S3 et un rôle AWS Identity and Access Management (IAM) temporaire avec un accès complet à votre compartiment nouvellement créé. Pour plus d'informations, consultez Création d'un rôle pour déléguer des autorisations à un utilisateur IAM. Utilisez le service AWS Security Token Service pour demander des informations d'identification de sécurité temporaires. Protégez l'identifiant de la clé d'accès, la clé d'accès secrète et le jeton de session.

Activez Amazon S3 Transfer Acceleration sur le compartiment.

Administrateur AWS

Installez l'AWS CLI et le plug-in Amazon S3 sur site.

Sur chaque nœud Elasticsearch, exécutez la commande suivante.

sudo bin/elasticsearch-plugin install repository-s3

Redémarrez ensuite le nœud.

Administrateur AWS

Configurez l'accès client Amazon S3.

Ajoutez les clés créées précédemment en exécutant les commandes suivantes.

elasticsearch-keystore add s3.client.default.access_key
elasticsearch-keystore add s3.client.default.secret_key
elasticsearch-keystore add s3.client.default.session_token
Administrateur AWS

Enregistrer un référentiel de snapshots pour Elastic Data

Utilisez les outils de développement Kibana pour indiquer au cluster local sur site dans quel compartiment S3 distant il doit écrire.

Administrateur AWS

Configurez la politique de capture instantanée.

Pour configurer la gestion du cycle de vie des snapshots, dans l'onglet Politiques de Kibana, choisissez la politique SLM et définissez les heures, les flux de données ou les index à inclure, ainsi que les noms à utiliser.

Configurez une politique qui prend fréquemment des instantanés. Les instantanés sont incrémentiels et permettent une utilisation efficace du stockage. Faites correspondre votre décision d'évaluation de l'état de préparation. Une politique peut également spécifier une politique de rétention et supprimer automatiquement les instantanés lorsqu'ils ne sont plus nécessaires.

Assistance pour les applications

Vérifiez que les instantanés fonctionnent.

Dans Kibana Dev Tools, exécutez la commande suivante.

GET _snapshot/<your_repo_name>/_all
administrateur AWS, support des applications,

Déployez un nouveau cluster sur Elastic Cloud.

Connectez-vous à Elastic et choisissez un cluster pour « l'observabilité, la recherche ou la sécurité » en fonction des résultats de l'évaluation du niveau de préparation de votre entreprise.

Administrateur AWS, support des applications

Configurez l'accès au magasin de clés du cluster.

Le nouveau cluster doit accéder au compartiment S3 qui stockera les instantanés. Sur la console Elasticsearch Service, choisissez Security, puis entrez les clés d'accès et secrètes IAM que vous avez créées précédemment.

Administrateur AWS

Configurez le cluster hébergé par Elastic Cloud pour accéder à Amazon S3.

Configurez un nouvel accès de cluster au référentiel de snapshots créé précédemment dans Amazon S3. À l'aide de Kibana, procédez comme suit :

  1. Choisissez Stack Management, Snapshot Settings, RegisterRepo.

  2. Dans le champ Alias, entrez le nom du référentiel.

  3. Pour le nom du client S3, choisissez secondaire.

  4. Ajoutez le compartiment S3 que vous avez créé précédemment au référentiel.

  5. Choisissez Compresser l'instantané.

  6. Pour les paramètres de chiffrement, conservez les valeurs par défaut.

Administrateur AWS, Support des applications

Vérifiez le nouveau référentiel Amazon S3.

Assurez-vous de pouvoir accéder à votre nouveau référentiel hébergé dans le cluster Elastic Cloud.

Administrateur AWS

Initialisez le cluster de services Elasticsearch.

Sur l'Elasticsearch Service Console, initialisez le cluster de services Elasticsearch à partir du snapshot S3.

Exécutez les commandes suivantes en tant que POST.

*/_close?expand_wildcards=all
/_snapshot/<your-repo-name>/ <your-snapshot-name>/_restore
*/_open?expand_wildcards=all
Support pour les applications
TâcheDescriptionCompétences requises

Vérifiez que la restauration du snapshot a réussi.

À l'aide de Kibana Dev Tools, exécutez la commande suivante.

GET _cat/indices
Assistance pour les applications

Redéployez les services d'ingestion.

Connectez les points de terminaison de Beats et Logstash au nouveau point de terminaison du service Elasticsearch.

Assistance pour les applications
TâcheDescriptionCompétences requises

Validez l'environnement du cluster.

Une fois l'environnement de cluster Elastic sur site migré vers AWS, vous pouvez vous y connecter et utiliser vos propres outils de test d'acceptation utilisateur (UAT) pour valider le nouvel environnement.

Assistance pour les applications

Nettoyez les ressources.

Après avoir vérifié que le cluster a bien migré, supprimez le compartiment S3 et le rôle IAM utilisés pour la migration.

Administrateur AWS

Ressources connexes

Références élastiques

Articles de blog Elastic

Documentation élastique

Vidéo et webinaire Elastic

Références AWS

Informations supplémentaires

Si vous envisagez de migrer des charges de travail complexes, faites appel à Elastic Consulting Services. Si vous avez des questions de base concernant les configurations et les services, contactez l'équipe du Support Elastic.