使用 Amazon OpenSearch Ingestion 管道集成 - 亚马逊 OpenSearch 服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Amazon OpenSearch Ingestion 管道集成

为了成功将数据提取到 Amazon OpenSearch Ingestion 管道,您必须将客户端应用程序()配置为将数据发送到管道终端节点。您的来源可能是客户端,例如 Fluent Bit 日志、 OpenTelemetry收集器或简单的 S3 存储桶。每个客户端的确切配置各不相同。

源配置期间(与直接向 OpenSearch 服务域或 OpenSearch 无服务器集合发送数据相比)的重要区别在于 AWS 服务名称 (osis) 和主机端点,它们必须是管道端点。

构建摄取端点

为将数据摄取到管道,请将其发送到摄取端点。要找到摄取URL,请导航到流水线设置页面并复制摄取:URL

Pipeline settings page showing details for ingestion-pipeline, including status and ingestion URL.

要为基于拉取的来源(例如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 Ingestion 的请求都必须使用签名版本 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. 在与管道相同的范围内创建具有osis:Ingest权限的摄取角色( AWS 账户 如上一节所述)。有关说明,请参阅创建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 服务域中查询数据。以下资源可帮助您开始使用: