Heute starten wir die Terraform-Unterstützung für Amazon OpenSearch-Aufnahme. Terraform ist ein Infrastructure-as-Code (IaC)-Tool, mit dem Sie Cloud-Ressourcen effizient erstellen, bereitstellen und verwalten können. OpenSearch Ingestion ist ein vollständig verwalteter, serverloser Datensammler, der Protokoll-, Metrik- und Trace-Daten in Echtzeit liefert Amazon OpenSearch-Dienst Domänen und Amazon OpenSearch ohne Server Sammlungen. In diesem Beitrag erklären wir, wie Sie Terraform zum Bereitstellen von OpenSearch-Ingestion-Pipelines verwenden können. Als Beispiel verwenden wir eine HTTP-Quelle als Eingabe und eine Amazon OpenSearch-Dienst Domäne (Index) als Ausgabe.
Lösungsüberblick
Die Schritte in diesem Beitrag stellen eine öffentlich zugängliche OpenSearch-Ingestion-Pipeline mit Terraform bereit, zusammen mit anderen unterstützenden Ressourcen, die für die Pipeline zur Datenaufnahme in Amazon OpenSearch erforderlich sind. Wir haben das implementiert Tutorial: Daten in eine Domäne mit Amazon OpenSearch Ingestion aufnehmen, mit Terraform.
Wir erstellen mit Terraform folgende Ressourcen:
Die von Ihnen erstellte Pipeline stellt eine HTTP-Quelle als Eingabe und eine Amazon OpenSearch-Senke zum Speichern von Ereignisstapeln bereit.
Voraussetzungen:
Um die Schritte in diesem Beitrag auszuführen, benötigen Sie Folgendes:
- Ein aktives AWS-Konto.
- Terraform auf Ihrem lokalen Computer installiert. Weitere Informationen finden Sie unter Installieren Sie Terraform.
- Die erforderlichen IAM-Berechtigungen zum Erstellen der AWS-Ressourcen mithilfe von Terraform.
- awscurl zum Senden von HTTPS-Anfragen über die Befehlszeile mit AWS Sigv4 Authentifizierung. Anweisungen zur Installation dieses Tools finden Sie im GitHub Repo.
Erstellen Sie ein Verzeichnis
In Terraform wird die Infrastruktur als Code verwaltet, der als a bezeichnet wird Projekt. Ein Terraform-Projekt enthält verschiedene Terraform-Konfigurationsdateien, wie z main.tf
, provider.tf
, variables.tf
und output.df
. Erstellen wir ein Verzeichnis auf dem Server oder Computer, mit dem wir mithilfe von eine Verbindung zu AWS-Diensten herstellen können AWS-Befehlszeilenschnittstelle (AWS-CLI):
Wechseln Sie in das Verzeichnis.
Erstellen Sie die Terraform-Konfiguration
Erstellen Sie eine Datei, um die AWS-Ressourcen zu definieren.
Geben Sie die folgende Konfiguration ein main.tf
und speichern Sie Ihre Datei:
Erstellen Sie die Ressourcen
Initialisieren Sie das Verzeichnis:
Überprüfen Sie den Plan, um zu sehen, welche Ressourcen erstellt werden:
Wenden Sie die Konfiguration an und antworten Sie yes
Um den Plan auszuführen:
Der Vorgang kann etwa 7–10 Minuten dauern.
Testen Sie die Pipeline
Nachdem Sie die Ressourcen erstellt haben, sollten Sie Folgendes sehen: ingest_endpoint_url
Ausgabe angezeigt. Kopieren Sie diesen Wert und exportieren Sie ihn in Ihre Umgebungsvariable:
Senden Sie ein Beispielprotokoll mit awscurl
. Ersetzen Sie das Profil durch Ihr entsprechendes AWS-Profil für Anmeldeinformationen:
Sie sollten a . erhalten 200 OK
als Antwort.
Um zu überprüfen, ob die Daten in der OpenSearch-Ingestion-Pipeline aufgenommen und in OpenSearch gespeichert wurden, navigieren Sie zu OpenSearch und rufen Sie dessen Domänenendpunkt ab. Ersetze das <OPENSEARCH ENDPOINT URL>
in den unten angegebenen Ausschnitt ein und führen Sie ihn aus.
Sie sollten die Ausgabe wie folgt sehen:
Aufräumen
Um die von Ihnen erstellten Ressourcen zu zerstören, führen Sie den folgenden Befehl und die folgende Antwort aus yes
bei Aufforderung:
Der Vorgang kann etwa 30–35 Minuten dauern.
Zusammenfassung
In diesem Beitrag haben wir gezeigt, wie Sie Terraform zum Bereitstellen von OpenSearch-Ingestion-Pipelines verwenden können. AWS bietet verschiedene RESSOURCEN damit Sie schnell mit dem Aufbau von Pipelines mithilfe von OpenSearch Ingestion beginnen und diese mithilfe von Terraform bereitstellen können. Sie können verschiedene integrierte Funktionen verwenden Pipeline-Integrationen um schnell Daten aufzunehmen Amazon DynamoDB, Amazon Managed Streaming für Apache Kafka (Amazon MSK), Amazon Security Lake, Fluent Bit und viele mehr. Die folgende OpenSearch-Aufnahme Blaupausen ermöglichen Ihnen den Aufbau von Datenpipelines mit minimalen Konfigurationsänderungen und deren einfache Verwaltung mit Terraform. Um mehr zu erfahren, schauen Sie sich die an Terraform-Dokumentation für Amazon OpenSearch Ingestion.
Über die Autoren
Rahul Sharma ist Technical Account Manager bei Amazon Web Services. Er ist begeistert von den Datentechnologien, die dabei helfen, Daten als strategisches Gut zu nutzen, und hat seinen Sitz in New York City, New York.
Farhan Angullia ist Cloud Application Architect bei AWS Professional Services mit Sitz in Singapur. Er konzentriert sich hauptsächlich auf moderne Anwendungen mit Microservice-Softwaremustern und plädiert für die Implementierung robuster CI/CD-Praktiken, um den Softwarebereitstellungslebenszyklus für Kunden zu optimieren. In seiner Freizeit trägt er gerne zum Open-Source-Terraform-Ökosystem bei.
Arjun Nambiar ist Produktmanager bei Amazon OpenSearch Service. Er konzentriert sich auf Aufnahmetechnologien, die die Aufnahme von Daten aus einer Vielzahl von Quellen in großem Maßstab in den Amazon OpenSearch Service ermöglichen. Arjun interessiert sich für groß angelegte verteilte Systeme und Cloud-native Technologien und hat seinen Sitz in Seattle, Washington.
Muthu Pitchaimani ist ein Suchspezialist bei Amazon OpenSearch Service. Er baut umfangreiche Suchanwendungen und -lösungen. Muthu interessiert sich für die Themen Netzwerke und Sicherheit und hat seinen Sitz in Austin, Texas.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- PlatoData.Network Vertikale generative KI. Motiviere dich selbst. Hier zugreifen.
- PlatoAiStream. Web3-Intelligenz. Wissen verstärkt. Hier zugreifen.
- PlatoESG. Kohlenstoff, CleanTech, Energie, Umwelt, Solar, Abfallwirtschaft. Hier zugreifen.
- PlatoHealth. Informationen zu Biotechnologie und klinischen Studien. Hier zugreifen.
- Quelle: https://aws.amazon.com/blogs/big-data/introducing-terraform-support-for-amazon-opensearch-ingestion/