View a markdown version of this page

Integration von Amazon OpenSearch Ingestion-Pipelines mit anderen Diensten und Anwendungen - OpenSearch Amazon-Dienst

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Integration von Amazon OpenSearch Ingestion-Pipelines mit anderen Diensten und Anwendungen

Um Daten erfolgreich in eine Amazon OpenSearch Ingestion-Pipeline aufzunehmen, müssen Sie Ihre Client-Anwendung (die Quelle) so konfigurieren, dass Daten an den Pipeline-Endpunkt gesendet werden. Ihre Quelle könnten Clients wie Fluent Bit Logs, der OpenTelemetry Collector oder ein einfacher S3-Bucket sein. Die genaue Konfiguration ist für jeden Client unterschiedlich.

Die wichtigsten Unterschiede bei der Quellkonfiguration (im Vergleich zum direkten Senden von Daten an eine OpenSearch Service-Domain oder eine OpenSearch serverlose Sammlung) sind der AWS Dienstname (osis) und der Host-Endpunkt, der der Pipeline-Endpunkt sein muss.

Der Aufnahmeendpunkt wird erstellt

Um Daten in eine Pipeline aufzunehmen, senden Sie sie an den Aufnahmeendpunkt. Um die Aufnahme-URL zu finden, navigieren Sie zur Seite mit den Pipeline-Einstellungen und kopieren Sie die Aufnahme-URL.

Seite mit den Pipeline-Einstellungen, auf der Details wie Status, Kapazität und Erfassungs-URL für die Dateneingabe angezeigt werden.

Um den vollständigen Aufnahmeendpunkt für pullbasierte Quellen wie OTel-Trace und OTel-Metriken zu erstellen, fügen Sie der Aufnahme-URL den Aufnahmepfad aus Ihrer Pipeline-Konfiguration hinzu.

Nehmen wir zum Beispiel an, Ihre Pipeline-Konfiguration hat den folgenden Aufnahmepfad:

Eingabefeld für den HTTP-Quellpfad mit eingegebenem Beispiel „/my/test_path“.

Der vollständige Aufnahmeendpunkt, den Sie in Ihrer Client-Konfiguration angeben, hat das folgende Format:. https://ingestion-pipeline-abcdefg.us-east-1.osis.amazonaws.com/my/test_path

Eine Aufnahmerolle erstellen

Alle OpenSearch Ingestion-Anfragen müssen mit Signature Version 4 signiert werden. Zumindest muss der Rolle, die die Anfrage signiert, die Berechtigung für die osis:Ingest Aktion erteilt werden, sodass sie Daten an eine OpenSearch Ingestion-Pipeline senden kann.

Beispielsweise ermöglicht die folgende AWS Identity and Access Management (IAM-) Richtlinie der entsprechenden Rolle, Daten an eine einzelne Pipeline zu senden:

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "osis:Ingest", "Resource": "arn:aws:osis:us-east-1:111122223333:pipeline/pipeline-name" } ] }
Anmerkung

Um die Rolle für alle Pipelines zu verwenden, ersetzen Sie den ARN im Resource Element durch einen Platzhalter (*).

Bereitstellung von kontoübergreifendem Datenzugriff

Anmerkung

Sie können den kontoübergreifenden Aufnahmezugriff nur für öffentliche Pipelines bereitstellen, nicht für VPC-Pipelines.

Möglicherweise müssen Sie Daten von einer anderen Pipeline in eine Pipeline aufnehmen AWS-Konto, z. B. von einem Konto, in dem Ihre Quellanwendung gespeichert ist. Wenn sich der Principal, der in eine Pipeline schreibt, in einem anderen Konto als die Pipeline selbst befindet, müssen Sie den Principal so konfigurieren, dass er einer anderen IAM-Rolle vertraut, um Daten in die Pipeline aufzunehmen.

So konfigurieren Sie kontoübergreifende Aufnahmeberechtigungen
  1. Erstellen Sie die Aufnahmerolle mit der gleichen osis:Ingest Berechtigung (wie im vorherigen Abschnitt beschrieben) innerhalb der Pipeline. AWS-Konto Eine Anleitung finden Sie unter IAM-Rollen erstellen.

  2. Fügen Sie der Aufnahmerolle eine Vertrauensrichtlinie hinzu, die es einem Principal in einem anderen Konto ermöglicht, diese zu übernehmen:

    JSON
    { "Version":"2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "sts:AssumeRole" }] }
  3. Konfigurieren Sie in dem anderen Konto Ihre Client-Anwendung (z. B. Fluent Bit) so, dass sie die Ingestion-Rolle übernimmt. Damit dies funktioniert, muss das Anwendungskonto dem Anwendungsbenutzer oder der Anwendungsrolle die Berechtigungen gewähren, die Aufnahmerolle zu übernehmen.

    Das folgende Beispiel für eine identitätsbasierte Richtlinie ermöglicht es dem angeschlossenen Principal, vom Pipeline-Konto ingestion-role aus Folgendes anzunehmen:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/ingestion-role" } ] }

Die Client-Anwendung kann den AssumeRole Vorgang dann verwenden, um Daten anzunehmen ingestion-role und in die zugehörige Pipeline aufzunehmen.

Nächste Schritte

Nachdem Sie Ihre Daten in eine Pipeline exportiert haben, können Sie sie von der OpenSearch Service-Domain aus abfragen, die als Senke für die Pipeline konfiguriert ist. Die folgenden Ressourcen können Ihnen den Einstieg erleichtern: