Tutoriel : Utilisation du AWS Glue connecteur pour Elasticsearch - AWS Glue

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.

Tutoriel : Utilisation du AWS Glue connecteur pour Elasticsearch

Elasticsearch est un célèbre moteur open source de recherche et d'analyse qui peut être utilisé, entre autres, pour l'analyse de journaux, la surveillance en temps réel des applications et l'analyse des flux de clics. Vous pouvez l'utiliser OpenSearch comme magasin de données pour vos tâches d'extraction, de transformation et de chargement (ETL) en configurant le AWS Glue connecteur pour Elasticsearch dans. AWS Glue Studio Ce connecteur est disponible gratuitement sur AWS Marketplace.

Note

Le connecteur Elasticsearch Spark AWS Marketplace est devenu obsolète. Veuillez utiliser le connecteur AWS Glue pour Elasticsearch à la place.

Dans ce didacticiel, nous allons vous montrer comment vous connecter à vos nœuds Amazon OpenSearch Service en un minimum d'étapes.

Prérequis

Pour utiliser ce didacticiel, vous devez disposer des éléments suivants :

  • Accès à AWS Glue Studio

  • Accès à un OpenSearch cluster dans le AWS cloud

  • (Facultatif) Accès à AWS Secrets Manager.

Étape 1 : (Facultatif) Créez un AWS secret pour les informations de votre OpenSearch cluster

Pour stocker et utiliser en toute sécurité vos informations d'identification de connexion, enregistrez vos informations d'identification au format AWS Secrets Manager. Le secret que vous créez sera utilisé plus tard dans le didacticiel par la connexion. Les paires clé-valeur d'identification seront introduites dans le AWS Glue Connector for Elasticsearch en tant qu'options de connexion normales.

Pour plus d'informations sur la création de secrets, veuillez consulter la rubrique Création et gestion des secrets avec AWS Secrets Manager dans le Guide de l'utilisateur AWS Secrets Manager .

Pour créer un AWS secret
  1. Connectez-vous à la console AWS Secrets Manager.

  2. Sur la page de présentation du service ou la page de la liste Secrets, sélectionnez Store a new secret (Stocker un nouveau secret).

  3. Sur la page Store a new secret (Stocker un nouveau secret), sélectionnez Other type of secret (Autre type de secret). Cette option signifie que vous devez fournir la structure et les détails de votre secret.

  4. Ajoutez une paire clé/valeur pour le nom d'utilisateur du OpenSearch cluster. Par exemple :

    es.net.http.auth.user: username

  5. Sélectionnez + Add row (+ Ajouter une ligne), puis saisissez une autre paire clé-valeur pour le mot de passe. Par exemple :

    es.net.http.auth.pass: password

  6. Choisissez Suivant.

  7. Saisissez un nom de secret. Par exemple : my-es-secret. Vous pouvez ajouter une description si vous le souhaitez.

    Enregistrez le nom secret, qui sera utilisé plus tard dans ce didacticiel, puis sélectionnez Next (Suivant).

  8. Sélectionnez à nouveau Next (Suivant), puis Store (Stocker) pour créer le secret.

Étape suivante

Étape 2 : S'abonner au connecteur

Étape 2 : S'abonner au connecteur

Le AWS Glue connecteur pour Elasticsearch est disponible gratuitement sur. AWS Marketplace

Pour vous abonner au AWS Glue Connector for Elasticsearch sur AWS Marketplace
  1. Si vous n'avez pas encore configuré votre AWS compte pour utiliser License Manager, procédez comme suit :

    1. Ouvrez la AWS License Manager console à l'adresse https://console.aws.amazon.com/license-manager.

    2. Sélectionnez Create customer managed license (Créer une licence gérée par le client).

    3. Dans la fenêtre IAMdes autorisations (configuration unique), choisissez J'accorde AWS License Manager les autorisations requises, puis choisissez Accorder les autorisations.

      Si vous ne voyez pas cette fenêtre, cela signifie que vous avez déjà configuré les autorisations nécessaires.

  2. Ouvrez la console AWS Glue Studio à l'adresse https://console.aws.amazon.com/gluestudio/.

  3. Dans la AWS Glue Studio console, développez l'icône du menu ( 3 short, horizontal lines in a vertical stack ), puis choisissez Connectors dans le volet de navigation.

  4. Sur la page Connectors (Connecteurs), sélectionnez Go to AWS Marketplace (Accéder à MKT).

  5. Dans AWS Marketplace la section Rechercher des AWS Glue Studio produits, saisissez AWS Glue Connector for Elasticsearch dans le champ de recherche, puis appuyez sur Entrée.

  6. Sélectionnez le nom du connecteur, Connecteur AWS Glue pour Elasticsearch.

  7. Sur la page produit du connecteur, utilisez les onglets pour afficher des informations sur le connecteur. Lorsque vous êtes prêt à continuer, sélectionnez Continue to Subscribe (Continuer pour s'abonner).

  8. Lisez les conditions d'utilisation du logiciel. Cliquez sur Accept Terms (Accepter les conditions d'utilisation).

  9. Une fois le processus d'abonnement terminé, la notification suivante apparaît : « Merci de vous être abonné à ce produit ! Vous pouvez à présent configurer votre logiciel. » Au-dessus de la bannière se trouve le bouton Continue to Configuration (Continuer à configurer). Choisissez Continue to Configuration (Continuer vers Configuration).

  10. Choisissez l'option remplissage sur la page Configure this software (Configurer ce logiciel). Vous pouvez choisir entre AWS Glue 1.0/2.0 ou AWS Glue 3.0. Puis sélectionnez Continue to Launch (Continuer pour lancer).

Étape suivante

Étape 3 : activer le connecteur AWS Glue Studio et créer une connexion

Étape 3 : activer le connecteur AWS Glue Studio et créer une connexion

Après avoir choisi Continuer au lancement, la page Lancer ce logiciel apparaît dans AWS Marketplace. Après avoir utilisé le lien pour activer le connecteur AWS Glue Studio, vous créez une connexion.

Pour déployer le connecteur et créer une connexion dans AWS Glue Studio
  1. Sur la page Lancer ce logiciel dans la AWS Marketplace console, choisissez Instructions d'utilisation, puis cliquez sur le lien dans la fenêtre qui apparaît.

    Votre navigateur est redirigé vers la page de connexion de la AWS Glue Studio console Créer une place de marché.

  2. Saisissez un nom pour la connexion. Par exemple : my-es-connection.

  3. Dans la section Connection access (Accès à la connexion), pour Connection credential type (Type d'informations d'identification de connexion), sélectionnez User name and password (Nom d'utilisateur et mot de passe).

  4. Pour Secret AWS , saisissez le nom de votre secret. Par exemple : my-es-secret.

  5. Dans la section Options réseau, entrez les VPC informations pour vous connecter au OpenSearch cluster.

  6. Sélectionnez Create connection and activate connector (Créer une connexion et activer le connecteur).

Étape suivante

Étape 4 : configurer un IAM rôle pour votre ETL tâche

Étape 4 : configurer un IAM rôle pour votre ETL tâche

Lorsque vous créez la AWS Glue ETL tâche, vous spécifiez un rôle AWS Identity and Access Management (IAM) pour la tâche à utiliser. Le rôle doit accorder l'accès à toutes les ressources utilisées par la tâche, y compris Amazon S3 (pour toutes les sources, cibles, scripts, fichiers de pilotes et répertoires temporaires), ainsi qu'aux AWS Glue Data Catalog objets.

Le IAM rôle assumé pour la AWS Glue ETL tâche doit également avoir accès au secret créé dans la section précédente. Par défaut, le rôle AWS géré AWSGlueServiceRole n'a pas accès au secret. Pour configurer le contrôle d'accès pour vos secrets, consultez les rubriques Authentification et contrôle d'accès pour AWS Secrets Manager et Limiting Access to Specific Secrets.

Pour configurer un IAM rôle pour votre ETL tâche
  1. Configurez les autorisations décrites dans Vérifier IAM les autorisations nécessaires pour les ETL emplois.

  2. Configurez les autorisations supplémentaires nécessaires lors de l'utilisation de connecteurs avec AWS Glue Studio, comme décrit dansAutorisations requises pour l'utilisation de connecteurs.

Étape suivante

Étape 5 : créer une tâche qui utilise la OpenSearch connexion

Étape 5 : créer une tâche qui utilise la OpenSearch connexion

Après avoir créé un rôle pour votre ETL tâche, vous pouvez créer une tâche AWS Glue Studio qui utilise la connexion et le connecteur d'Open Spark ElasticSearch.

Si votre tâche s'exécute dans un Amazon Virtual Private Cloud (AmazonVPC), assurez-vous qu'VPCil est correctement configuré. Pour de plus amples informations, veuillez consulter Configuration d'un VPC pour votre tâche ETL.

Pour créer une tâche qui utilise le connecteur Elasticsearch Spark
  1. Dans AWS Glue Studio, choisissez Connectors.

  2. Dans Your connections (Vos connexions), sélectionnez la connexion que vous venez de créer et sélectionnez Create job (Créer une tâche).

  3. Dans l'éditeur de travail visuel, sélectionnez le nœud Data source (Source de données). Sur la droite, dans l'onglet Data source properties — Connector (Propriétés de la source de données — Connecteur), configurez des informations supplémentaires pour le connecteur.

    1. Sélectionnez Add schema (Ajouter un schéma) et saisissez le schéma de l'ensemble de données dans la source de données. Les connexions n'utilisent pas les tables stockées dans le catalogue de données, ce qui signifie que celui-ci AWS Glue Studio ne connaît pas le schéma des données. Vous devez fournir manuellement ces informations de schéma. Pour obtenir des instructions sur l'utilisation de l'éditeur de schéma, veuillez consulter Modifier le schéma d'un nœud de transformation personnalisé.

    2. Développez Connection options (Options de connexion).

    3. Choisissez Ajouter une nouvelle option et entrez les informations requises pour le connecteur qui n'ont pas été saisies dans le AWS secret :

      • es.nodes : https ://< point de terminaison de OpenSearch domaine>

      • es.port : 443

      • chemin : test

      • es.nodes.wan.only. : true

      Pour en savoir plus sur ces options de connexion, reportez-vous à https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html.

  4. Ajoutez un nœud cible au graphique.

    Votre cible de données peut être Amazon S3, ou elle peut utiliser les informations d'un AWS Glue Data Catalog ou d'un connecteur pour écrire des données dans un emplacement différent. Par exemple, vous pouvez utiliser une table de catalogue de données pour écrire dans une base de données AmazonRDS, ou vous pouvez utiliser un connecteur comme cible de données pour écrire dans des magasins de données qui ne sont pas pris en charge de manière native dans AWS Glue.

    Si vous sélectionnez un connecteur pour votre cible de données, vous devez choisir une connexion créée pour ce connecteur. En outre, si le fournisseur de connecteurs l'exige, vous devez ajouter des options pour fournir des informations supplémentaires au connecteur. Si vous utilisez une connexion contenant des informations relatives à un AWS secret, vous n'avez pas besoin de fournir le nom d'utilisateur et le mot de passe d'authentification dans les options de connexion.

  5. Ajoutez éventuellement des sources de données supplémentaires et un ou plusieurs nœuds de transformation, comme décrit dans Transformez les données grâce AWS Glue à des transformations gérées.

  6. Configurez les propriétés du travail comme décrit dans Modifier les propriétés de tâche, en commençant par l'étape 3, et enregistrez la tâche.

Étape suivante

Étape 6 : Exécuter la tâche

Étape 6 : Exécuter la tâche

Après avoir enregistré votre tâche, vous pouvez exécuter la tâche pour effectuer les ETL opérations.

Pour exécuter le job que vous avez créé pour le AWS Glue Connector for Elasticsearch
  1. À l'aide de la AWS Glue Studio console, sur la page de l'éditeur visuel, choisissez Exécuter.

  2. Dans la bannière de succès, sélectionnez Run Details (Détails de l'exécution), ou l'onglet Runs (Exécutions) de l'éditeur visuel pour afficher des informations sur l'exécution de la tâche.