创建、列出和删除 Amazon OpenSearch 无服务器产品系列 - 亚马逊 OpenSearch 服务
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建、列出和删除 Amazon OpenSearch 无服务器产品系列

Amazon OpenSearch Serverless 中的合是由一个或多个代表分析工作负载的索引组成的逻辑分组。 OpenSearch Service 会自动管理和调整馆藏,只需要最少的手动输入。

所需权限

OpenSearch Serverless 使用以下 Amazon 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 无服务器集合

创建集合

您可以使用控制台或创建无服务器集合。 Amazon CLI 这些步骤介绍如何创建搜索集合或时间序列集合。要创建向量搜索集合,请参阅 使用向量搜索集合

创建集合(控制台)

使用控制台创建集合
  1. 导航到亚马逊 OpenSearch 服务控制台,网址为 https://console.aws.amazon.com/aos/home/

  2. 展开左侧导航窗格中的 Serverless(无服务器),然后选择 Collections(集合)。

  3. 选择 Create collection(创建集合)。

  4. 为集合提供名称和描述。名称必须符合以下标准:

    • 是您的账户所独有的 Amazon Web Services 区域

    • 以小写字母开头

    • 包含 3 到 32 个字符

    • 只包含小写字母 a-z、数字 0–9 和连字符(-)

  5. 选择集合类型:

    • Search(搜索):全文搜索,支持内部网络中的应用程序和面向互联网的应用程序。所有搜索数据都将存储在热存储中,以确保快速查询响应时间。

    • Time series(时间序列):专注于分析机器生成的大量半结构化数据的日志分析部分。至少 24 小时的数据存储在热索引中,其余数据仍保留在温存储中。

    • 向量搜索 – 对简化向量数据管理的矢量嵌入进行语义搜索。支持机器学习(ML)增强搜索体验和生成式人工智能应用程序,例如聊天机器人、个人助理和欺诈检测。

    有关更多信息,请参阅 选择集合类型

  6. 在 “部署类型” 下,为您的集合选择冗余设置。默认情况下,每个集合都是以冗余方式创建的,这意味着索引和搜索 OpenSearch 计算单元 (OCU) 在不同的可用区中都有自己的备用副本。出于开发和测试目的,您可以选择禁用冗余,这样可以将集合中的 OCU 数量减少到两个。有关更多信息,请参阅 工作方式

  7. 在 “加密” 下,选择用于加密数据的密 Amazon KMS 钥。 OpenSearch 如果您输入的集合名称与加密策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用唯一的加密设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch 无服务器中的加密

  8. Network access settings(网络访问设置)下,配置集合的网络访问权限。

    • 对于访问类型,选择公共或私有。然后,指定哪些 VPC 终端节点 Amazon Web Services 可以访问该集合。

    • 对于资源类型,选择是通过其OpenSearch端点(通过 curl、Postman 等进行 API 调用)、通过OpenSearch 仪表板端点(使用可视化效果并通过控制台进行 API 调用)还是同时通过两者访问集合。

      注意

      Amazon Web Service 私有访问权限仅适用于 OpenSearch终端节点,不适用于 OpenSearch 仪表板端点。

    OpenSearch 如果您输入的集合名称与网络策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用自定义网络设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch Serverless 的网络访问

  9. (可选)将一个或多个标签添加到集合。有关更多信息,请参阅 标记 Amazon OpenSearch 无服务器集合

  10. 选择 下一步

  11. 为集合配置数据访问规则,该规则定义谁可以访问集合中的数据。对于创建的每条规则,请执行以下步骤:

    • 选择 Add principals(添加主体),然后选择一个或多个 IAM 角色或 SAML 用户和组,授予其数据访问权限。

    • Grant permissions(授予权限)下,选择要授予关联主体的别名、模板和索引权限。有关权限及其允许的访问权限的完整列表,请参阅 支持 OpenSearch 的 API 操作和权限

    OpenSearch 如果您输入的集合名称与数据访问策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用唯一的数据访问设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch 无服务器的数据访问控制

  12. 选择 下一步

  13. Data access policy settings(数据访问策略设置)下,选择如何处理刚才创建的规则。您可以使用它们来创建新的数据访问策略,也可以将其添加到现有策略中。

  14. 查看集合配置并选择 Submit(提交)。

在 OpenSearch Serverless 创建集合时,集合状态将更改Creating为。

创建集合(CLI)

在使用创建集合之前 Amazon 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。如果您的集合使用 Amazon 拥有的密钥进行加密,则 kmsKeyArn 将是 auto 而非 ARN。

重要

在创建集合后,除非该集合与某一数据访问策略相匹配,否则您将无法访问它。有关创建数据访问策略的说明,请参阅Amazon OpenSearch 无服务器的数据访问控制

访问 OpenSearch 仪表板

使用创建收藏夹后 Amazon Web Services Management Console,您可以导航到该集合的 OpenSearch 仪表板网址。您可以通过选择左侧导航窗格中的集合,然后选择该集合以打开其详细信息页面,来查找控制面板 URL。该 URL 采用 https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc 格式。导航到 URL 后,将自动登录控制面板。

如果您已有 OpenSearch 仪表板 URL 可用但不在 Amazon Web Services Management Console,则从浏览器调用仪表板 URL 将重定向到控制台。输入 Amazon 凭据后,您将自动登录控制面板。有关访问 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

查看集合

您可以在亚马逊 OpenSearch 服务控制台的 “收藏” 选项卡 Amazon Web Services 账户 上查看您的现有馆藏。

要列出收藏品及其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 S OpenSearch ervice 控制台的 “收藏” 面板中,选择要删除的收藏夹。

  2. 选择 Delete(删除),然后确认删除。

要使用删除收藏夹 Amazon CLI,DeleteCollection请发送请求:

aws opensearchserverless delete-collection --id 07tjusf2h91cunochc

示例响应

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