

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 Amazon OpenSearch Ingestion 管道與其他 服務和應用程式整合
<a name="configure-client"></a>

若要成功將資料擷取至 Amazon OpenSearch Ingestion 管道，您必須設定用戶端應用程式 (*來源*) 將資料傳送至管道端點。您的來源可能是 Fluent Bit 日誌、OpenTelemetry Collector 或簡單 S3 儲存貯體等用戶端。每個用戶端的確切組態會有所不同。

來源組態期間的重要差異 （相較於將資料直接傳送到 OpenSearch Service 網域或 OpenSearch Serverless 集合） 是 AWS 服務名稱 (`osis`) 和主機端點，其必須是管道端點。

## 建構擷取端點
<a name="configure-client-endpoint"></a>

若要將資料擷取至管道，請將其傳送至擷取端點。若要尋找擷取 URL，請導覽至**管道設定**頁面並複製**擷取 URL**。

![管道設定頁面顯示資料輸入的狀態、容量和擷取 URL 等詳細資訊。](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/pipeline-endpoint.png)


若要建構提取型來源的完整擷取端點，例如 [OTel 追蹤](https://opensearch.org/docs/latest/data-prepper/pipelines/configuration/sources/otel-trace/)和 [OTel 指標](https://opensearch.org/docs/latest/data-prepper/pipelines/configuration/sources/otel-metrics-source/)，請將管道組態的擷取路徑新增至擷取 URL。

例如，假設您的管道組態具有下列擷取路徑：

![輸入範例 "/my/test_path" 的 HTTP 來源路徑輸入欄位。](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/ingestion-path.png)


您在用戶端組態中指定的完整擷取端點將採用下列格式：`https://{{ingestion-pipeline-abcdefg}}.us-east-1.osis.amazonaws.com{{/my/test_path}}`。

## 建立擷取角色
<a name="configure-client-auth"></a>

對 OpenSearch Ingestion 的所有請求都必須使用 [Signature 第 4 版](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)簽署。至少，簽署請求的角色必須獲授予 `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。

### 提供跨帳戶擷取存取權
<a name="configure-client-cross-account"></a>

**注意**  
您只能為公有管道提供跨帳戶擷取存取，而不是 VPC 管道。

您可能需要從不同的管道擷取資料 AWS 帳戶，例如存放來源應用程式的 帳戶。如果寫入管道的委託人位於與管道本身不同的帳戶中，您需要設定委託人信任另一個 IAM 角色將資料擷取至管道。

**設定跨帳戶擷取許可**

1. 在 AWS 帳戶 與管道相同的 內建立具有`osis:Ingest`許可 （如上一節所述） 的擷取角色。如需說明，請參閱[建立 IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)。

1. 將[信任政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)連接至 擷取角色，允許另一個帳戶中的委託人擔任該角色：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [{
        "Effect": "Allow",
        "Principal": {
          "AWS": "arn:aws:iam::{{111122223333}}:root"
         },
        "Action": "sts:AssumeRole"
     }]
   }
   ```

------

1. 在另一個帳戶中，設定您的用戶端應用程式 （例如 Fluent Bit) 以擔任擷取角色。為了讓此項目正常運作，應用程式帳戶必須將許可授予應用程式使用者或角色，以擔任擷取角色。

   下列以身分為基礎的政策範例允許連接的委託人`ingestion-role`從管道帳戶擔任：

------
#### [ JSON ]

****  

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

------

然後，用戶端應用程式可以使用 [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 操作來假設`ingestion-role`並將資料擷取至相關聯的管道。

## 後續步驟
<a name="configure-client-next"></a>

將資料匯出至管道後，您可以從設定為管道接收器的 OpenSearch Service 網域進行[查詢](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/searching.html)。下列資源可協助您開始使用：
+ [Amazon OpenSearch Service 中的可觀測性](observability.md)
+ [探索追蹤](observability-analyze-traces.md)
+ [Amazon OpenSearch Service 中的可觀測性](observability.md)