建立、列出和刪除 Amazon OpenSearch 無伺服器集合 - Amazon OpenSearch 服務

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

建立、列出和刪除 Amazon OpenSearch 無伺服器集合

Amazon OpenSearch 無伺服器中的集合是由代表分析工作負載的一或多個索引組成的邏輯分組。 OpenSearch 服務會自動管理和調整集合,需要最少的手動輸入。

必要許可

OpenSearch 無伺服器會使用下列 AWS Identity and Access Management (IAM) 許可來建立和管理集合。您可以指定 IAM 條件,將使用者限制在特定集合內。

  • aoss:CreateCollection :建立集合。

  • aoss:ListCollections :列出目前帳戶中的集合。

  • aoss:BatchGetCollection :取得有關一個或多個集合的詳細資訊。

  • aoss:UpdateCollection :修改集合。

  • aoss:DeleteCollection :刪除集合。

下列身分型存取政策範例提供使用者管理名為 Logs 的單一集合所需的最低許可:

[ { "Sid":"Allows managing logs collections", "Effect":"Allow", "Action":[ "aoss:CreateCollection", "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:UpdateCollection", "aoss:DeleteCollection", "aoss:CreateAccessPolicy", "aoss:CreateSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"Logs" } } } ]

需要加密、網路和資料存取政策,才能讓集合正常運作,因此要將 aoss:CreateAccessPolicyaoss:CreateSecurityPolicy 包含在內。如需詳細資訊,請參閱 適用於 Amazon OpenSearch 無伺服器的 Identity and Access Management

注意

如果您要在帳戶中建立第一個集合,您也需要 iam:CreateServiceLinkedRole 許可。如需詳細資訊,請參閱 使用服務連結角色建立 OpenSearch 無伺服器集合

建立集合

您可以使用主控台或建 AWS CLI 立無伺服器集合。這些步驟涵蓋如何建立搜尋時間序列集合。若要建立向量搜尋集合,請參閱使用向量搜尋集合

建立集合 (主控台)

使用主控台建立集合
  1. 導航到 Amazon OpenSearch 服務控制台 https://console.aws.amazon.com/aos/home/.

  2. 展開左側導覽窗格中的 Serverless (無伺服器),然後選擇 Collections (集合)。

  3. 選擇 Create collection (建立集合)。

  4. 提供集合的名稱和描述。名稱必須符合下列條件:

    • 對於您的帳戶而言是唯一的, AWS 區域

    • 開頭為小寫字母

    • 包含 3 到 32 個之間字元數

    • 只能包含小寫字母 a-z、數字 0-9 和連字號 (-)

  5. 選擇集合類型:

    • 搜尋:支援內部網路中的應用程式以及面向網際網路之應用程式的全文檢索搜尋。所有搜尋資料均存放在熱儲存中,以確保快速的查詢回應時間。

    • Time series (時間序列):著重於分析大量半結構化、機器產生之資料的日誌分析區段。至少 24 小時的資料會儲存在熱索引中,其餘資料會保留在暖儲存區中。

    • 向量搜尋 — 可簡化向量資料管理的向量嵌入的語義搜尋。支援機器學習 (ML) 擴增搜尋體驗和生成 AI 應用程式,例如聊天機器人、個人助理和詐騙偵測。

    如需詳細資訊,請參閱 選擇集合類型

  6. 在 [部署類型] 下,選擇集合的備援設定。根據預設,每個集合都建立具有冗餘,這表示索引和搜尋 OpenSearch Compute Units (OCU) 每個集合在不同的可用區域中都有自己的待命複本。基於開發和測試目的,您可以選擇停用備援,如此可將集合中的 OCU 數量減少為兩個。如需詳細資訊,請參閱 運作方式

  7. 在「加密」下,選擇用來加密資料的 AWS KMS 金鑰。 OpenSearch 如果您輸入的集合名稱符合加密原則中定義的模式,則無伺服器會通知您。您可以選擇保留此相符項目,也可以使用唯一的加密設定進行覆寫。如需詳細資訊,請參閱 Amazon OpenSearch 無伺服器中的加密

  8. Network access settings (網路存取設定) 下,設定集合的網路存取。

    • 對於存取類型,請選取公用或私人。然後,指定哪些 VPC 端點 AWS 服務 可以存取集合。

    • 對於資源類型,請選取集合是否可透過其OpenSearch端點存取 (透過 curl、Postter 等進行 API 呼叫)、透過OpenSearch 儀表板端點存取 (以使用視覺效果並透過主控台進行 API 呼叫),或透過兩者進行存取。

      注意

      AWS 服務 私人存取僅適用於 OpenSearch端點,而不適用於 OpenSearch 儀表板端點。

    OpenSearch 如果您輸入的集合名稱符合網路原則中定義的模式,則無伺服器會通知您。您可以選擇保留此相符項目,也可以使用自訂網路設定進行覆寫。如需詳細資訊,請參閱 Amazon OpenSearch 無伺服器的網路存取

  9. (選用) 將一個或多個標籤新增至集合。如需詳細資訊,請參閱 標記 Amazon OpenSearch Serverless 集合

  10. 選擇下一步

  11. 設定集合的資料存取規則,以定義可存取集合中資料的使用者。針對您建立的每個規則,執行下列步驟:

    • 選擇 Add principals (新增主體),然後選取要向其提供資料存取權的一個或多個 IAM 角色或 SAML 使用者和群組

    • Grant permissions (授予許可)下選取別名、範本和索引許可,以授予關聯的主體。如需完整的許可及其允許之存取的完整清單,請參閱 支援的 OpenSearch API 作業和權限

    OpenSearch 如果您輸入的集合名稱與資料存取原則中定義的模式相符,則無伺服器會通知您。您可以選擇保留此相符項目,也可以使用唯一的資料存取設定進行覆寫。如需詳細資訊,請參閱 適用於 Amazon OpenSearch 無伺服器的資料存取控制

  12. 選擇下一步

  13. Data access policy settings (資料存取政策設定) 下,選擇如何處理您剛建立的規則。您可以使用它們來建立新的資料存取政策,或將其新增至現有政策。

  14. 檢閱集合組態,然後選擇 Submit (提交)。

Creating當「 OpenSearch 無伺服器」建立集合時,收集狀態會變更為。

建立集合 (CLI)

使用建立集合之前 AWS CLI,您必須擁有一個加密原則,其資源模式符合所需的集合名稱。例如,如果您計劃將集合命名為 logs-application,則可以建立如下所示的加密政策:

aws opensearchserverless create-security-policy \ --name logs-policy \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"

如果您計劃將政策用於其他集合,則可以使規則的範圍更廣泛,例如 collection/logs*collection/*

您也需要以網路政策的形式設定集合的網路設定。使用先前的 logs-application 範例,您可建立下列網路政策:

aws opensearchserverless create-security-policy \ --name logs-policy \ --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
注意

您可以在建立集合之後建立網路政策,但建議您事先執行此操作。

若要建立系列,請傳送CreateCollection要求:

aws opensearchserverless create-collection --name "logs-application" --type SEARCH --description "A collection for storing log data"

對於 type,指定 SEARCHTIMESERIES。如需詳細資訊,請參閱 選擇集合類型

回應範例

{ "createCollectionDetail": { "id": "07tjusf2h91cunochc", "name": "books", "description":"A collection for storing log data", "status": "CREATING", "type": "SEARCH", "kmsKeyArn": "auto", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "createdDate": 1665952577473 } }

如果您未在請求中指定集合類型,即會預設為 TIMESERIES。如果您的集合使用 AWS 擁有的金鑰加密,則 kmsKeyArnauto 而不是 ARN。

重要

建立集合後,除非該集合符合資料存取政策,否則您將無法存取它。如需建立資料存取政策的說明,請參閱 適用於 Amazon OpenSearch 無伺服器的資料存取控制

存取 OpenSearch 儀表板

使用建立商品系列後 AWS Management Console,您可以導覽至該系列的 OpenSearch 儀表板 URL。您可以在左側導覽窗格中選擇「商品系列」,然後選取商品系列以開啟其詳細資訊頁面,以尋找儀表板 URL。URL 採用的格式為 https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc。導航到 URL 後,您將自動登錄到儀表板。

如果您已經有可用的 OpenSearch 儀表板 URL,但不在 AWS Management Console,從瀏覽器呼叫儀表板 URL 將重新導向到控制台。輸入 AWS 認證後,您將自動登入儀表板。如需存取 SAML 集合的相關資訊,請參閱使用 SAML 存取 OpenSearch 儀表板

OpenSearch 儀表板主控台逾時為一小時,無法設定。

注意

2023 年 5 月 10 日,為 OpenSearch 儀表板 OpenSearch 引入了一個通用的全球端點。您現在可以在具有採用格式的 URL 瀏覽器中導覽至「 OpenSearch 儀表板」https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc。為了確保回溯相容性,我們將繼續以該格式支援現有集合特定 OpenSearch 儀表板端點https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards

檢視集合

您可以在 Amazon OpenSearch 服務主控台的「集合」索引標籤 AWS 帳戶 上檢視現有的品系列。

若要列出系列及其 ID,請傳送ListCollections請求。

aws opensearchserverless list-collections

回應範例

{ "collectionSummaries":[ { "arn":"arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"CREATING" } ] }

若要限制搜尋結果,請使用集合篩選條件。此請求會篩選對處於 ACTIVE 狀態之集合的回應:

aws opensearchserverless list-collections --collection-filters '{ "status": "ACTIVE" }'

若要取得有關一或多個集合 (包括 OpenSearch 端點和 OpenSearch 儀表板端點) 的更多詳細資訊,請傳送BatchGetCollection要求:

aws opensearchserverless batch-get-collection --ids ["07tjusf2h91cunochc", "1iu5usc4rame"]
注意

您可以在請求中包含 --names--ids,但不能同時包含兩者。

回應範例

{ "collectionDetails":[ { "id": "07tjusf2h91cunochc", "name": "my-collection", "status": "ACTIVE", "type": "SEARCH", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards" }, { "id": "178ukvtg3i82dvopdid", "name": "another-collection", "status": "ACTIVE", "type": "TIMESERIES", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/178ukvtg3i82dvopdid", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com/_dashboards" } ], "collectionErrorDetails":[] }

刪除集合

刪除集合會刪除集合中的所有資料和索引。刪除集合後,您將無法復原集合。

使用主控台刪除集合
  1. 從 Amazon OpenSearch 服務主控台的「合」面板中,選取要刪除的集合。

  2. 選擇 Delete (刪除),並確認刪除。

若要使用刪除集合 AWS CLI,請傳送DeleteCollection要求:

aws opensearchserverless delete-collection --id 07tjusf2h91cunochc

回應範例

{ "deleteCollectionDetail":{ "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"DELETING" } }