Amazon OpenSearch Ingestion パイプラインを他のサービスやアプリケーションと統合する - Amazon OpenSearch サービス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon OpenSearch Ingestion パイプラインを他のサービスやアプリケーションと統合する

Amazon OpenSearch Ingestion パイプラインにデータを正常に取り込むには、パイプラインエンドポイントにデータを送信するようにクライアントアプリケーション (ソース ) を設定する必要があります。ソースは、Fluent Bit ログ、 OpenTelemetryコレクター、または単純な S3 バケットなどのクライアントです。正確な設定は、クライアントごとに異なります。

ソース設定における重要な違い ( OpenSearch サービスドメインまたは OpenSearch サーバーレスコレクションへのデータの直接送信と比較して) は、 AWS サービス名 (osis) とホストエンドポイントであり、パイプラインエンドポイントである必要があります。

取り込みエンドポイントの構築

データをパイプラインに取り込むには、取り込みエンドポイントにデータを送信します。取り込みを見つけるにはURL、パイプライン設定ページに移動し、取り込み URLをコピーします。

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

OTel トレースOTelメトリクス などのプルベースのソースの完全な取り込みエンドポイントを作成するには、パイプライン設定からの取り込みパスを取り込み に追加しますURL。

例えば、パイプライン設定に次のような取り込みパスがあるとします。

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

クライアント設定で指定した完全な取り込みエンドポイントは、次の形式になります: https://ingestion-pipeline-abcdefg.us-west-2.osis.amazonaws.com/my/test_path

詳細については、「取り込みパスの指定」を参照してください。

取り込みロールの作成

OpenSearch 取り込みへのすべてのリクエストは、署名バージョン 4 で署名する必要があります。少なくとも、リクエストに署名するロールにはosis:Ingestアクションのアクセス許可を付与する必要があります。これにより、 OpenSearch 取り込みパイプラインにデータを送信できます。

例えば、次の AWS Identity and Access Management (IAM) ポリシーでは、対応するロールが単一のパイプラインにデータを送信することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "osis:Ingest", "Resource": "arn:aws:osis:us-east-1:{account-id}:pipeline/pipeline-name" } ] }
注記

すべてのパイプラインに ロールを使用するには、 Resource要素ARNの をワイルドカード (*) に置き換えます。

クロスアカウント取り込みアクセスの提供

注記

パブリックパイプラインには、パイプラインではなく、クロスアカウント取り込みアクセスのみを提供できますVPC。

ソースアプリケーションを格納するアカウントなど AWS アカウント、別の からパイプラインにデータを取り込む必要がある場合があります。パイプラインに書き込むプリンシパルがパイプライン自体とは異なるアカウントにある場合は、パイプラインにデータを取り込む別のIAMロールを信頼するようにプリンシパルを設定する必要があります。

クロスアカウント取り込みアクセス許可の設定するには
  1. パイプライン AWS アカウント と同じ 内に アクセスosis:Ingest許可 (前のセクションで説明) を持つ取り込みロールを作成します。手順については、IAM「ロールの作成」を参照してください。

  2. 取り込みロールに信頼ポリシーをアタッチして、別のアカウントのプリンシパルがそのポリシーを引き受けることができるようにします。

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action": "sts:AssumeRole" }] }
  3. もう一方のアカウントで、取り込みロールを引き受けるようにクライアントアプリケーション (例: Fluent Bit) を設定します。これを機能させるには、アプリケーションアカウントは、アプリケーションユーザーまたはロールに取り込みロールを引き受ける許可を付与する必要があります。

    次のアイデンティティベースポリシーの例では、アタッチされたプリンシパルがパイプラインアカウントから ingestion-role を引き受けることを許可します。

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

その後、クライアントアプリケーションは AssumeRoleオペレーションを使用して、関連するパイプラインにデータを引き受けingestion-roleて取り込むことができます。

次のステップ

データをパイプラインにエクスポートしたら、パイプラインのシンクとして設定された OpenSearch サービスドメインからクエリできます。次のリソースを参照してください。