Integration von Amazon OpenSearch Ingestion-Pipelines mit anderen Services 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 Services und Anwendungen

Um Daten erfolgreich in eine Amazon OpenSearch Ingestion-Pipeline aufzunehmen, müssen Sie Ihre Client-Anwendung (die Quelle) so konfigurieren, dass sie Daten an den Pipeline-Endpunkt sendet. 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 Dienstdomäne oder eine OpenSearch serverlose Sammlung) sind der AWS Dienstname (osis) und der Host-Endpunkt, der der Pipeline-Endpunkt sein muss.

Aufbau des Aufnahmeendpunkts

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:

Pipeline settings page showing active status, capacity, and ingestion URL for data input.

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, dass Ihre Pipeline-Konfiguration den folgenden Aufnahmepfad hat:

entry-pipeline: source: http: path: "/my/test_path"

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

Weitere Informationen finden Sie unter Angeben des Aufnahmepfads.

Eine Aufnahmerolle erstellen

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "osis:Ingest", "Resource": "arn:aws:osis:us-east-1:{account-id}: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 kontenübergreifendem Zugriff auf Datenerfassung

Anmerkung

Sie können kontenübergreifenden Zugriff auf die Erfassung nur für öffentliche Pipelines bereitstellen, nicht für VPC-Pipelines.

Möglicherweise müssen Sie Daten von einem anderen Konto 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 befindet als die Pipeline selbst, müssen Sie den Principal so konfigurieren, dass er einer anderen IAM-Rolle vertraut, um Daten in die Pipeline aufzunehmen.

Um kontoübergreifende Aufnahmeberechtigungen zu konfigurieren
  1. Erstellen Sie die Aufnahmerolle mit der entsprechenden osis:Ingest Berechtigung (im vorherigen Abschnitt beschrieben) innerhalb derselben Pipeline. AWS-Konto Anweisungen 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, sie zu übernehmen:

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

    Das folgende Beispiel für eine identitätsbasierte Richtlinie ermöglicht es dem angehängten Prinzipal, ingestion-role vom Pipeline-Konto auszugehen:

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

Die Client-Anwendung kann dann den AssumeRoleVorgang 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-Domäne abfragen, die als Senke für die Pipeline konfiguriert ist. Die folgenden Ressourcen können Ihnen den Einstieg erleichtern: