Didacticiel : Utilisation du connecteur AWS Glue 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 utiliser OpenSearch comme un magasin de données pour vos tâches Extraction, transformation et chargement (ETL) en configurant le connecteur AWS Glue pour Elasticsearch dans AWS Glue Studio. Ce connecteur est disponible gratuitement sur AWS Marketplace
Note
Le connecteur Elasticsearch Spark AWS Marketplace
Dans ce didacticiel, nous montrerons comment vous connecter à vos nœuds Amazon OpenSearch Service avec un nombre minimal d'étapes.
Rubriques
Prérequis
Pour utiliser ce didacticiel, vous devez disposer des éléments suivants :
-
Accès à AWS Glue Studio
-
Accès à un cluster OpenSearch dans le Cloud AWS
-
(Facultatif) Accès à AWS Secrets Manager.
Étape 1 : (Facultatif) Créer un secret AWS pour les informations de votre cluster OpenSearch
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 des informations d'identification seront introduites dans le connecteur AWS Glue pour Elasticsearch en tant qu'options de connexion standard.
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 secret AWS
-
Connectez-vous à la console AWS Secrets Manager
. -
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).
-
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.
-
Ajoutez une paire clé et valeur pour le nom d'utilisateur du cluster OpenSearch. Par exemple :
es.net.http.auth.user:nom d'utilisateur -
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:mot de passe -
Choisissez Suivant.
-
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).
-
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 connecteur AWS Glue pour Elasticsearch est disponible gratuitement sur AWS Marketplace
Pour vous abonner au connecteur AWS Glue pour Elasticsearch dans AWS Marketplace, procédez comme suit :
-
Si vous n'avez pas encore configuré votre compte AWS pour utiliser License Manager, procédez comme suit :
-
Ouvrez la console AWS License Manager à l'adresse https://console.aws.amazon.com/license-manager
. -
Sélectionnez Create customer managed license (Créer une licence gérée par le client).
-
Dans la fenêtre IAM permissions (one-time setup) (Autorisations IAM [configuration unique]), sélectionnez I grant AWS License Manager the required permissions, (J'accorde les autorisations LIC requises), puis Grant permissions (Accorder les autorisations).
Si vous ne voyez pas cette fenêtre, cela signifie que vous avez déjà configuré les autorisations nécessaires.
-
Ouvrez la console AWS Glue Studio à l'adresse https://console.aws.amazon.com/gluestudio/
. -
Dans la console AWS Glue Studio, développez l'icône de menu (
), puis choisissez Connectors (Connecteurs) dans le panneau de navigation. -
Sur la page Connectors (Connecteurs), sélectionnez Go to AWS Marketplace (Accéder à MKT).
-
Dans AWS Marketplace, dans la section Rechercher des produits AWS Glue Studio, saisissez Connecteur AWS Glue pour Elasticsearch dans le champ de recherche, puis appuyez sur Entrée.
-
Sélectionnez le nom du connecteur, Connecteur AWS Glue pour Elasticsearch.
-
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).
-
Lisez les conditions d'utilisation du logiciel. Cliquez sur Accept Terms (Accepter les conditions d'utilisation).
-
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).
-
Choisissez l'option remplissage sur la page Configure this software (Configurer ce logiciel). Vous avez le choix 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 dans AWS Glue Studio et créer une connexion
Étape 3 : Activer le connecteur dans AWS Glue Studio et créer une connexion
Après avoir sélectionné Continue to Launch (Continuer à lancer), vous voyez la page Launch this software (Lancer ce logiciel) dans AWS Marketplace. Après avoir utilisé le lien pour activer le connecteur dans AWS Glue Studio, vous créez une connexion.
Pour déployer le connecteur et créer une connexion dans AWS Glue Studio
-
Dans la page Launch this software (Lancer ce logiciel) dans la console AWS Marketplace, sélectionnez Usage Instructions (Instructions d'utilisation), puis sélectionnez le lien dans la fenêtre qui s'affiche.
Votre navigateur est redirigé vers la console AWS Glue Studio Create marketplace connection (Créer une connexion de site de vente).
-
Saisissez un nom pour la connexion. Par exemple :my-es-connection.
-
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).
-
Pour Secret AWS, saisissez le nom de votre secret. Par exemple :my-es-secret.
-
Dans la section Network options (Options réseau), saisissez les informations de VPC pour vous connecter au cluster OpenSearch.
-
Sélectionnez Create connection and activate connector (Créer une connexion et activer le connecteur).
Étape suivante
Étape 4 : Configurer un rôle IAM pour votre tâche ETL
Étape 4 : Configurer un rôle IAM pour votre tâche ETL
Lorsque vous créez la tâche ETL AWS Glue, vous spécifiez un rôle AWS Identity and Access Management (IAM) à utiliser pour la tâche. 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 pilote et répertoires temporaires), ainsi qu'aux objets AWS Glue Data Catalog.
Le rôle IAM endossé pour la tâche ETL AWS Glue doit également avoir accès au secret qui a été créé dans la section précédente. Par défaut, le rôle AWSGlueServiceRole géré par AWS 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 rôle IAM pour votre tâche ETL
-
Configurez les autorisations décrites dans Examinez les autorisations IAM nécessaires pour les tâches ETL.
-
Configurez les autorisations supplémentaires nécessaires lors de l'utilisation de connecteurs avec AWS Glue Studio, comme décrit dans Autorisations requises pour l'utilisation de connecteurs.
Étape suivante
Étape 5 : Créer une tâche qui utilise la connexion OpenSearch
Étape 5 : Créer une tâche qui utilise la connexion OpenSearch
Après avoir créé un rôle pour votre tâche ETL, vous pouvez créer une tâche dans AWS Glue Studio qui utilise la connexion et le connecteur pour Open Spark ElasticSearch.
Si votre tâche est exécutée dans un Amazon Virtual Private Cloud (Amazon VPC), assurez-vous que le VPC est correctement configuré. Pour de plus amples informations, consultez Configuration d'un VPC pour votre tâche ETL.
Pour créer une tâche qui utilise le connecteur Elasticsearch Spark
-
Dans AWS Glue Studio, choisissez Connectors (Connecteurs).
-
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).
-
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.
-
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 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é.
-
Développez Connection options (Options de connexion).
-
Sélectionnez Add new option (Ajouter une nouvelle option) et saisissez les informations nécessaires pour le connecteur qui n'ont pas été renseignées dans le secret AWS :
-
es.nodes: https://<OpenSearch domain endpoint>
-
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
. -
-
-
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 Data Catalog pour écrire dans une base de données dans Amazon RDS, 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 qui contient des informations pour un secret AWS, vous n'avez pas besoin de fournir le nom d'utilisateur et l'authentification par mot de passe dans les options de connexion.
-
Ajoutez éventuellement des sources de données supplémentaires et un ou plusieurs nœuds de transformation, comme décrit dans Transformation de données avec des transformations gérées par AWS Glue.
-
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
Après avoir enregistré votre tâche, vous pouvez exécuter la tâche pour effectuer les opérations ETL.
Pour exécuter la tâche que vous avez créée pour le connecteur AWS Glue pour Elasticsearch, procédez comme suit :
-
Utilisation de la console AWS Glue Studio, sur la page de l'éditeur visuel, choisissez Run (Exécuter).
-
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.