Tutorial: Verwenden des AWS Glue-Konnektors für Elasticsearch
Elasticsearch ist ein häufig verwendetes Open-Source-Such- und Analysemodul für die Protokollanalyse, Echtzeitüberwachung von Anwendungen, Clickstream-Analyse und ähnliche Anwendungsfälle. Sie können OpenSearch als Datenspeicher für Ihre Extract, Transform, Load (ETL)-Aufträge verwenden, indem Sie den AWS Glue-Konnektor für Elasticsearch in AWS Glue Studio konfigurieren. Dieser Konnektor kann kostenlos von AWS Marketplace
Anmerkung
Der AWS Marketplace Elasticsearch Spark Connector
In diesem Tutorial zeigen wir, wie Sie in möglichst wenig Schritten eine Verbindung zu Ihren Amazon-OpenSearch-Serviceknoten herstellen.
Themen
Schritt 1: (Optional) Erstellen eines AWS-Secrets für Ihre OpenSearch-Cluster-Informationen
Schritt 3: Aktivieren des Konnektors in AWS Glue Studio und Erstellen einer Verbindung
Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag
Schritt 5: Erstellen eines Auftrags, der die OpenSearch-Verbindung verwendet
Voraussetzungen
Für dieses Tutorial benötigen Sie Folgendes:
-
Zugriff auf AWS Glue Studio
-
Zugriff auf ein OpenSearch-Cluster in der AWS-Cloud
-
(Optional) Zugriff auf AWS Secrets Manager
Schritt 1: (Optional) Erstellen eines AWS-Secrets für Ihre OpenSearch-Cluster-Informationen
Damit die Anmeldeinformationen für die Verbindung sicher gespeichert sind und Sie sie sicher verwenden können, speichern Sie sie in AWS Secrets Manager. Das Secret, das Sie erstellen, wird später im Tutorial von der Verbindung verwendet. Die Schlüssel-Wert-Paare der Anmeldeinformationen werden als normale Verbindungsoptionen in den AWS Glue-Konnektor für Elasticsearch eingegeben.
Weitere Informationen zur Erstellung von Secrets finden Sie unter Erstellen und Verwalten von Secrets mit AWS Secrets Manager im AWS Secrets Manager-Benutzerhandbuch.
Ein AWS-Secret erstellen
-
Melden Sie sich an der AWS Secrets Manager-Konsole
an. -
Wählen Sie entweder auf der Service-Einführungsseite oder der Secrets-Listenseite die Option Store a new secret (Neues Secret speichern).
-
Wählen Sie auf der Seite Store a new secret (Ein neues Secret speichern) die Option Other type of secret (Andere Art von Secret). Bei dieser Option müssen die Struktur und die Details Ihres Secrets angeben.
-
Fügen Sie ein Key (Schlüssel)-Value (Wert)-Paar für den OpenSearch-Cluster-Benutzernamen. Zum Beispiel:
es.net.http.auth.user:Username(Benutzername) -
Wählen Sie + Add row (Zeile hinzufügen) aus und geben Sie ein weiteres Schlüssel-Wert-Paar für das Passwort ein. Zum Beispiel:
es.net.http.auth.pass:Password(Passwort) -
Wählen Sie Next (Weiter) aus.
-
Geben Sie einen Secret-Namen ein. Zum Beispiel: my-es-secret. Optional können Sie eine Beschreibung eingeben.
Notieren Sie den Secret-Namen, der später in diesem Tutorial verwendet wird, und wählen Sie Next (Weiter) aus.
-
Wählen Sie Next (Weiter) aus und danach Store (Speichern), um das Secret zu erstellen.
Nächster Schritt
Schritt 2: Abonnieren des Konnektors
Schritt 2: Abonnieren des Konnektors
Der AWS Glue-Konnektor für Elasticsearch ist kostenlos bei AWS Marketplace
So abonnieren Sie den AWS Glue-Konnektor für Elasticsearch auf AWS Marketplace
-
Wenn Sie Ihr AWS-Konto noch nicht für die Verwendung des License Manager konfiguriert haben, führen Sie die folgenden Schritte aus:
-
Öffnen Sie die AWS License Manager-Konsole unter https://console.aws.amazon.com/license-manager
. -
Wählen Sie Create customer managed license (Kundenverwaltete Lizenz erstellen) aus.
-
Wählen Sie auf dem Fenster IAM permissions (one-time setup) (IAM-Berechtigungen, einmalige Einrichtung) die Option I grant AWS License Manager the required permissions (Ich gewähre LIC die erforderlichen Berechtigungen) aus und wählen Sie dann Grant permissions (Berechtigungen gewähren) aus.
Wenn Sie dieses Fenster nicht sehen, haben Sie bereits die erforderlichen Berechtigungen konfiguriert.
-
Öffnen Sie die AWS Glue Studio-Konsole unter https://console.aws.amazon.com/gluestudio/
. -
Klappen Sie in der AWS Glue Studio-Konsole das Menüsymbol (
) aus und wählen Sie danach Connectors (Konnektoren) im Navigationsbereich aus. -
Wählen Sie auf der Seite Connectors die Option Go to AWS Marketplace (Zu MKT wechseln) aus.
-
Geben Sie in AWS Marketplace im Abschnitt Suche AWS Glue Studio-Produkte AWS Glue-Connector für Elasticsearch in das Suchfeld ein und drücken Sie dann die Eingabetaste.
-
Wählen Sie den Namen des Connectors. AWS Glue-Connector für Elasticsearch aus.
-
Die Registerkarten auf der Produktseite für den Konnektor enthalten Informationen zum Konnektor. Wenn Sie bereit sind, fortzufahren, wählen Sie Continue to Subscribe (Abonnieren fortsetzen) aus.
-
Lesen Sie die Nutzungsbedingungen für die Software. Klicken Sie auf Accept Terms(Bedingungen akzeptieren).
-
Wenn der Abonnementvorgang abgeschlossen ist, wird die Benachrichtigung „Vielen Dank, dass Sie dieses Produkt abonniert haben! Sie können jetzt Ihre Software konfigurieren“ angezeigt. Oberhalb des Banners befindet sich die Schaltfläche Continue to Configuration (Weiter zur Konfiguration). Wählen Sie Continue to Configuration (Weiter zur Konfiguration) aus.
-
Wählen Sie die Option „Fulfillment“ auf der Seite Configure this software (Diese Software konfigurieren). Sie können zwischen AWS Glue 1.0/2.0 oder AWS Glue 3.0 wählen. Wählen Sie dann Continue to Launch (Weiter zum Start) aus.
Nächster Schritt
Schritt 3: Aktivieren des Konnektors in AWS Glue Studio und Erstellen einer Verbindung
Schritt 3: Aktivieren des Konnektors in AWS Glue Studio und Erstellen einer Verbindung
Nachdem Sie Continue to Launch (Weiter zum Start) ausgewählt haben, sehen Sie die Seite Launch this software in AWS Marketplace. Nachdem Sie mit dem Link den Konnektor in AWS Glue Studio aktiviert haben, erstellen Sie eine Verbindung.
Den Konnektor bereitstellen und eine Verbindung in AWS Glue Studio erstellen
-
Wählen Sie auf der Seite Launch this software (Die Software starten) in der AWS Marketplace-Konsole die Option Usage Instructions (Nutzungsanweisungen) aus und folgen Sie dem Link im angezeigten Fenster.
Sie werden im Browser zur Seite Create marketplace connection (Marketplace-Verbindung herstellen) der AWS Glue Studio-Konsole weitergeleitet.
-
Geben Sie einen Namen für die Verbindung ein. Zum Beispiel: my-es-connection.
-
Wählen Sie im Abschnitt Connection access (Verbindungszugriff) bei Connection credential type (Anmeldeinformationstyp für die Verbindung) die Option Benutzername und Passwort aus.
-
Geben Sie als AWS secret den Namen Ihres Secrets ein. Zum Beispiel: my-es-secret.
-
Geben Sie im Abschnitt Network options (Netzwerk-Optionen) die VPC-Angaben ein, um eine Verbindung mit dem OpenSearch-Cluster herzustellen.
-
Wählen Sie Create connection and activate connector (Verbindung erstellen und Konnektor aktivieren) aus.
Nächster Schritt
Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag
Schritt 4: Konfigurieren einer IAM-Rolle für Ihren ETL-Auftrag
Wenn Sie den AWS Glue-ETL-Auftrag erstellen, geben Sie eine AWS Identity and Access Management (IAM)-Rolle für den zu verwendenden Auftrag an. Die Rolle muss Zugriff auf alle Ressourcen gewähren, die vom Auftrag verwendet werden, einschließlich Amazon S3 (für alle Quellen, Ziele, Skripte, Treiberdateien und temporären Verzeichnisse) sowie AWS Glue Data Catalog-Objekte.
Die angenommene IAM-Rolle für den AWS Glue-ETL-Auftrag muss auch Zugriff auf das Secret haben, das im vorherigen Abschnitt erstellt wurde. Standardmäßig hat die verwaltete AWS-Rolle AWSGlueServiceRole keinen Zugriff auf das Secret. Informationen zum Einrichten der Zugriffssteuerung für Ihre Secrets finden Sie unter Authentifizierung und Zugriffskontrolle für AWS Secrets Manager und Beschränken des Zugriffs auf bestimmte Secrets.
Eine IAM-Rolle für den ETL-Auftrag konfigurieren
-
Konfigurieren Sie die in Erforderliche IAM-Berechtigungen für ETL-Aufträge überprüfen beschriebenen Berechtigungen.
-
Konfigurieren Sie die zusätzlichen Berechtigungen für die Verwendung von Konnektoren mit AWS Glue Studio, wie in Erforderliche Berechtigungen zur Verwendung von Konnektoren beschrieben.
Nächster Schritt
Schritt 5: Erstellen eines Auftrags, der die OpenSearch-Verbindung verwendet
Schritt 5: Erstellen eines Auftrags, der die OpenSearch-Verbindung verwendet
Nachdem Sie eine Rolle für Ihren ETL-Auftrag erstellt haben, können Sie einen Auftrag in AWS Glue Studio erstellen, der die Verbindung und den Konnektor für Open Spark ElasticSearch verwendet.
Wenn Ihr Auftrag in einer Amazon Virtual Private Cloud (Amazon VPC) ausgeführt wird, stellen Sie sicher, dass die VPC korrekt konfiguriert ist. Weitere Informationen finden Sie unter Konfigurieren Sie eine VPC für Ihren ETL-Auftrag.
Einen Auftrag erstellen, der den Elasticsearch-Spark-Konnektor verwendet
-
Wählen Sie in AWS Glue Studio Connectors aus.
-
Wählen Sie aus der Liste Your connection (Ihre Verbindung) die soeben erstellte Verbindung und dann Create job (Auftrag erstellen) aus.
-
Wählen Sie im visuellen Auftragseditor den Datenquellknoten aus. Auf der Registerkarte rechts (Data source properties - Connector (Datenquelleigenschaften – Konnektor)) machen Sie zusätzliche Angaben für den Konnektor.
-
Wählen Sie Add schema (Schema hinzufügen) und geben Sie das Schema des Datensatzes in der Datenquelle ein. Verbindungen verwenden keine Tabellen, die im Data Catalog gespeichert sind, was bedeutet, dass AWS Glue Studio das Schema der Daten nicht kennt. Sie müssen diese Schemainformationen manuell angeben. Anweisungen zur Verwendung des Schema-Editors finden Sie unter Bearbeiten des Schemas in einem benutzerdefinierten Transformationsknoten.
-
Klappen Sie Connection options (Verbindungsoptionen) aus.
-
Wählen Sie Add new option (Neue Option hinzufügen) aus und geben Sie die Informationen ein, die für den Connector benötigt werden, der nicht in das AWS-Secret eingegeben wurde:
-
es.nodes: https://<OpenSearch domain endpoint>
-
es.port: 443
-
Pfad: Test
-
es.nodes.wan.only.: true
Eine Erläuterung dieser Verbindungsoptionen finden Sie unter https://www.elastic.co/guide/en/elasticsearch/hadoop/current/configuration.html
. -
-
-
Fügen Sie dem Diagramm einen Zielknoten hinzu.
Ihr Datenziel kann Amazon S3 sein, es kann aber auch Informationen aus einem AWS Glue Data Catalog oder einen Connector nutzen, um Daten an einem anderen Speicherort zu schreiben. Sie können beispielsweise mithilfe einer Data-Catalog-Tabelle in eine Datenbank in Amazon RDS schreiben oder einen Connector als Datenziel verwenden, um in Datenspeicher zu schreiben, die von sich aus nicht in AWS Glue unterstützt werden.
Wenn Sie einen Connector für Ihr Datenziel auswählen, müssen Sie eine Verbindung auswählen, die für diesen Connector erstellt wurde. Außerdem müssen Sie, falls der Connectoranbieter das verlangt, Optionen hinzufügen, um dem Connector zusätzliche Informationen bereitzustellen. Wenn Sie eine Verbindung verwenden, die Informationen für ein AWS-Secret enthält, müssen Sie Benutzername und Passwort nicht in den Verbindungsoptionen eingeben.
-
Fügen Sie optional zusätzliche Datenquellen und einen oder mehrere Transformationsknoten hinzu, wie unter Transformieren von Daten mit von AWS Glue verwalteten Transformationen beschrieben.
-
Konfigurieren Sie die Auftragseigenschaften wie unter Ändern der Auftragseigenschaften beschrieben, beginnend mit Schritt 3, und speichern Sie den Auftrag.
Nächster Schritt
Schritt 6: Ausführen des Auftrags
Schritt 6: Ausführen des Auftrags
Nachdem Sie den Auftrag gespeichert haben, können Sie ihn ausführen. Dadurch starten die ETL-Operationen.
So führen Sie den Auftrag aus, den Sie für den AWS Glue-Konnektor für Elasticsearch erstellt haben
-
Wählen Sie in der AWS Glue Studio-Konsole auf der Seite des visuellen Editors die Option Run (Ausführen) aus.
-
Um Informationen über die Auftragsausführung zu sehen, wählen Sie die Option Run Details (Details ausführen) im Bestätigungsbanner oder die Registerkarte Runs (Ausführungen) im visuellen Editor.