本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建、列出和删除 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:CreateAccessPolicy
和 aoss:CreateSecurityPolicy
,是因为需要加密、网络和数据访问策略才能使集合正常运行。有关更多信息,请参阅 适用于 Amazon OpenSearch 无服务器的 Identity and Access Management。
注意
如果您要在账户中创建第一个集合,则还需要 iam:CreateServiceLinkedRole
权限。有关更多信息,请参阅 使用服务相关角色创建 OpenSearch 无服务器集合。
创建集合
您可以使用控制台或创建无服务器集合。 Amazon CLI 这些步骤介绍如何创建搜索集合或时间序列集合。要创建向量搜索集合,请参阅 使用向量搜索集合。
创建集合(控制台)
使用控制台创建集合
-
导航到亚马逊 OpenSearch 服务控制台,网址为 https://console.aws.amazon.com/aos/home/
。 -
展开左侧导航窗格中的 Serverless(无服务器),然后选择 Collections(集合)。
-
选择 Create collection(创建集合)。
-
为集合提供名称和描述。名称必须符合以下标准:
-
是您的账户所独有的 Amazon Web Services 区域
-
以小写字母开头
-
包含 3 到 32 个字符
-
只包含小写字母 a-z、数字 0–9 和连字符(-)
-
-
选择集合类型:
-
Search(搜索):全文搜索,支持内部网络中的应用程序和面向互联网的应用程序。所有搜索数据都将存储在热存储中,以确保快速查询响应时间。
-
Time series(时间序列):专注于分析机器生成的大量半结构化数据的日志分析部分。至少 24 小时的数据存储在热索引中,其余数据仍保留在温存储中。
-
向量搜索 – 对简化向量数据管理的矢量嵌入进行语义搜索。支持机器学习(ML)增强搜索体验和生成式人工智能应用程序,例如聊天机器人、个人助理和欺诈检测。
有关更多信息,请参阅 选择集合类型。
-
-
在 “部署类型” 下,为您的集合选择冗余设置。默认情况下,每个集合都是以冗余方式创建的,这意味着索引和搜索 OpenSearch 计算单元 (OCU) 在不同的可用区中都有自己的备用副本。出于开发和测试目的,您可以选择禁用冗余,这样可以将集合中的 OCU 数量减少到两个。有关更多信息,请参阅 工作方式。
-
在 “加密” 下,选择用于加密数据的密 Amazon KMS 钥。 OpenSearch 如果您输入的集合名称与加密策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用唯一的加密设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch 无服务器中的加密。
-
在 Network access settings(网络访问设置)下,配置集合的网络访问权限。
-
对于访问类型,选择公共或私有。然后,指定哪些 VPC 终端节点 Amazon Web Services 可以访问该集合。
-
用于访问的 VPC 终端节点-指定允许访问的一个或多个 VPC 终端节点。要创建 VPC 端点,请参阅使用接口终端节点访问 Amazon OpenSearch Serverless () Amazon PrivateLink。
-
Amazon Web Service 私人访问-选择一个或多个支持的服务以允许访问。
-
-
对于资源类型,选择是通过其OpenSearch端点(通过 curl、Postman 等进行 API 调用)、通过OpenSearch 仪表板端点(使用可视化效果并通过控制台进行 API 调用)还是同时通过两者访问集合。
注意
Amazon Web Service 私有访问权限仅适用于 OpenSearch终端节点,不适用于 OpenSearch 仪表板端点。
OpenSearch 如果您输入的集合名称与网络策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用自定义网络设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch Serverless 的网络访问。
-
-
(可选)将一个或多个标签添加到集合。有关更多信息,请参阅 标记 Amazon OpenSearch 无服务器集合。
-
选择 下一步。
-
为集合配置数据访问规则,该规则定义谁可以访问集合中的数据。对于创建的每条规则,请执行以下步骤:
-
选择 Add principals(添加主体),然后选择一个或多个 IAM 角色或 SAML 用户和组,授予其数据访问权限。
-
在 Grant permissions(授予权限)下,选择要授予关联主体的别名、模板和索引权限。有关权限及其允许的访问权限的完整列表,请参阅 支持 OpenSearch 的 API 操作和权限。
OpenSearch 如果您输入的集合名称与数据访问策略中定义的模式匹配,Serverless 会通知您。您可以选择保留此匹配项,也可以使用唯一的数据访问设置将其覆盖。有关更多信息,请参阅 Amazon OpenSearch 无服务器的数据访问控制。
-
-
选择 下一步。
-
在 Data access policy settings(数据访问策略设置)下,选择如何处理刚才创建的规则。您可以使用它们来创建新的数据访问策略,也可以将其添加到现有策略中。
-
查看集合配置并选择 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
" --typeSEARCH
--description "A collection for storing log data
"
对于 type
,请指定 SEARCH
或 TIMESERIES
。有关更多信息,请参阅 选择集合类型。
示例响应
{ "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.
格式。导航到 URL 后,将自动登录控制面板。us-east-1
.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc
如果您已有 OpenSearch 仪表板 URL 可用但不在 Amazon Web Services Management Console,则从浏览器调用仪表板 URL 将重定向到控制台。输入 Amazon 凭据后,您将自动登录控制面板。有关访问 SAML 集合的信息,请参阅使用 SAML 访问 OpenSearch 仪表板。
OpenSearch 仪表板控制台超时为一小时,不可配置。
注意
2023 年 5 月 10 日, OpenSearch 推出了 OpenSearch 仪表板的通用全局端点。现在,您可以使用采用该格式的 URL 在浏览器中导航到 OpenSearch 仪表板https://dashboards.
。为了确保向后兼容,我们将继续使用以下格式支持现有集合特定的 OpenSearch 仪表板端点us-east-1
.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc
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":[] }
删除集合
删除集合将删除该集合中的所有数据和索引。删除集合后,您将无法恢复它们。
使用控制台删除集合
-
在 Amazon S OpenSearch ervice 控制台的 “收藏夹” 面板中,选择要删除的收藏夹。
-
选择 Delete(删除),然后确认删除。
要使用删除收藏夹 Amazon CLI,DeleteCollection请发送请求:
aws opensearchserverless delete-collection --id
07tjusf2h91cunochc
示例响应
{ "deleteCollectionDetail":{ "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"DELETING" } }