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

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

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

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

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

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

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

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

OTel trace や OTel metrics などのプルベースのソースの完全な取り込みエンドポイントを構築するには、パイプライン設定からの取り込みパスを取り込み URL に追加します。

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

Input field for HTTP source path with example "/my/test_path" entered.

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

取り込みロールの作成

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

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

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

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

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

注記

クロスアカウント取り込みアクセスを提供できるのは、パブリックパイプラインに対してのみであり、VPC パイプラインには提供できません。

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

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

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

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

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

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

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

次の手順

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