什么是 AWS Elasticsearch2025年3月17日 | 阅读11分钟 Elasticsearch 是一个开源数据库工具,易于部署和操作。它用于分析和搜索日志及一般数据。基本上,它是一个NoSQL 数据库,以文档格式存储非结构化数据。此外,如果谈到 AWS Elasticsearch,它就像亚马逊提供的服务一样,易于在云中创建。您可以将其用于多种目的,不仅是在线糟糕地检查日志或数据,还可以将其连接到 CloudWatch 并在创建 AWS Elasticsearch 后用于建模。 在创建 AWS Elasticsearch 后,可能有多种方法可以添加数据或将其连接到日志。我们可以通过 API 使用它,发送批量数据或文件。我们也可以使用任何代码自动连接它。您可以将第三方插件与 AWS Elasticsearch 一起使用,例如 Amazon S3 River 插件。AWS Elasticsearch 使其用户的工作变得更简单,因为他们无需手动创建 Elasticsearch 集群。它允许用户实时可视化、分析和搜索数据。 在本章中,我们将描述 AWS Elasticsearch 服务的以下几点 -
AWS Elasticsearch 的概念AWS Elasticsearch 有以下概念 -
AWS Elasticsearch 的优点使用 AWS Elasticsearch 有许多优点,如下所示 - ![]() 1)易于使用在 Amazon Elasticsearch 中,所有服务都是完全托管的,这使其易于使用。我们可以节省备份、故障恢复、软件修补和监控的时间。AWS Elasticsearch 的用户可以在几秒钟内使用 AWS Elasticsearch 部署生产就绪的 Elasticsearch 集群。他们无需担心 Elasticsearch 软件的安装和维护。 2)高度安全AWS Elasticsearch 高度安全。可以轻松地从 VPC 设置对 Amazon Elasticsearch 服务的安全访问。这是为了完美维护 VPC。AWS IAM 和 Amazon Cognito 策略有助于管理身份验证和访问控制。用户可以通过 Amazon VPC 为 Elasticsearch 服务中的数据实现网络隔离。 3)经济高效Amazon Elasticsearch 服务最大的优点之一是您只需为您使用的资源付费。它为用户提供了选择,他们可以选择按需定价,无需预付费用。如前所述,Amazon Elasticsearch 服务是一项完全托管的服务,通过消除 Elasticsearch 专家团队来管理和监控集群,从而降低了运营成本。 4)易于扩展和可用AWS Elasticsearch 是一个高度可扩展的工具。它允许用户在单个集群中存储多达 3 PB 的数据。此外,它还允许用户通过用户界面(如 Kibana)运行大型日志分析工作负载。集群可以通过单个 API 调用或在 AWS 控制台中单击几下轻松进行扩展和缩减。 Multi-AZ 部署允许在同一区域内的三个可用区之间复制数据。通过这种方式,Elasticsearch 被设计为高度可用。 5)与 AWS 服务紧密集成AWS Elasticsearch 与 AWS 服务内置集成。这包括 AWS IOT、CloudWatch Logs 和 Kinesis Firehose,用于无缝数据摄取。 6)支持开源 APIAWS Elasticsearch 不需要新的软件或编程技能,并提供对开源 API 的直接访问。Logstash,一个开源数据摄取工具,受到 AWS Elasticsearch 服务的支持。除了 Logstash,它还支持 Kibana,这是一个数据可视化工具。这三个工具的组合被称为ELK Stack。 AWS Elasticsearch 的局限性除了许多优点之外,AWS Elasticsearch 还有一些局限性,如下所示 -
AWS Elasticsearch 架构通过查看 AWS Elasticsearch 的架构,您将了解 AWS Elasticsearch 将提供的多项服务。Amazon Elasticsearch 域肯定是由 AWS CloudFormation 模板部署的。这可以是硬件、软件或暴露给 Amazon Elasticsearch 服务终端节点的数据。 ![]() 在此 AWS Elasticsearch 架构中,您会看到弹性负载均衡,其主要目标是将流量分配给代理服务器并启用自动恢复以维持实例可用性。弹性负载均衡在此处使用高可用性设计来实现此目标。上述模板可以轻松启动三个 Amazon EC2 实例。它们分别位于 Amazon VPC 网络的不同可用区。此处,VPC 表示虚拟私有云。 AWS Elasticsearch 特性AWS Elasticsearch 具有各种特性,每个特性都引入了一些独特的功能。AWS Elasticsearch 的列表如下 - ![]() a) 安全性
b) 灵活性
c) 可扩展性
d) 稳定性
e) 与流行服务的集成
开始使用 AWS Elasticsearch 服务Amazon Elasticsearch Service 是 AWS 提供的一项托管服务。它使得在云中设置、操作和扩展 Elasticsearch 集群变得容易。我们可以通过此 Amazon Elasticsearch 直接访问 Elasticsearch API。开始使用 AWS Elasticsearch 需要一系列步骤。这些步骤如下 -
首先,要开始使用 AWS,我们需要在 AWS 服务上创建一个账户。 第 1 步:注册 AWS 账户第 1 步:使用 AWS 注册创建一个新账户。单击 此处,然后单击右上角的创建 AWS 账户按钮。 ![]() 第 2 步:在此处提供所有必需的信息,然后单击继续按钮。 ![]() 第 3 步:接下来,提供联系信息,勾选同意条款和条件的复选框,然后单击创建账户并继续按钮。 ![]() 在这里,您可以选择账户类型,即专业型或个人型。默认情况下是专业型。 第 4 步:在此步骤中,您需要保存您的借记卡/信用卡信息,例如卡号、有效期、账单地址等,用于付款信息。 ![]() 第 2 步:创建 Amazon ES 域Amazon ES 域和 Elasticsearch 集群是相同的。创建 AWS 账户后,您就可以创建 Amazon Elasticsearch 域了。在此步骤中,我们将创建一个名为books的 Amazon ES 域。以下是启动和运行 Elasticsearch 服务域的步骤。
以下是创建 Amazon ES 域的详细步骤。 定义您的域
配置您的域
设置访问策略
审查 域创建的最后一步是进行审核。审核页面会在最终确定之前一次显示您在前面步骤中设置的所有设置。
完成所有这些步骤后,您将收到一条消息:“您已成功创建 Elasticsearch 域”。 您的 ES 域将启动并运行。您将看到域状态设置为活动,集群健康状况为绿色。 第 3 步:上传数据进行索引现在,下一步是上传数据进行索引。使用命令行界面或编程语言,我们可以将数据上传到 Amazon ES 服务域。在此步骤中,我们将上传少量测试数据。 在 Windows 操作系统上,您可以安装 curl 以从命令提示符使用它。但是,我们建议您使用Cygwin之类的工具。MacOS 和 Linux 操作系统已预装 curl。因此,您无需在其上安装 curl。 通过命令行上传单个文档 在命令行上执行以下命令,将单个文档上传到 Amazon ES 域。 上传包含多个文档的 JSON 文件 1. 为此,我们将创建一个名为json的 JSON 文件。复制并粘贴以下内容 2. 现在,运行以下命令将 json 文件上传到 books 域。 第 4 步:在 Amazon ES 域中搜索文档Elasticsearch 搜索 API 帮助用户在 Amazon Elasticsearch Service 域中搜索文档。或者,您也可以使用 Kibana(数据可视化工具)在域中搜索文档。搜索操作是 Elasticsearch 最重要的事件之一。当数据量很大时,使用特定查询字符串搜索数据是一个好主意。 使用以下示例,我们将搜索books域中的技术书籍。 通过命令行搜索文档 在命令行上执行以下命令来搜索您创建的域。 使用 Kibana 界面搜索文档 1. 在浏览器中,导航到您 Amazon ES 域的 Kibana 插件。在 Amazon ES 控制台上,您将在域仪表板上找到 Kibana 终端节点。URL 格式将是 - 2. 使用您的主用户名和密码登录控制台。 3. 在这里,至少需要配置一个索引模式才能使用 Kibana,因为 Kibana 使用这些模式来识别您想要分析的索引。由于我们创建了books域,所以在此教程中输入books,然后选择创建。 4. 现在,您将看到由索引模式显示的各种文档字段,如 book_name、author、publisher 等。目前,选择发现来搜索您的数据。 5. 在搜索栏中输入 Mars,然后按 Enter 键。请注意,当您搜索短语 mars attacks 时,相似度分数(_score)如何增加。 第 5 步:删除 Amazon ES 域在第 2 步中,我们创建了一个名为 books 的 Amazon ES 域。此域仅用于测试目的。现在,我们将在本步中将其删除。要删除 Amazon ES 域,请按照以下步骤操作。
支持的 Elasticsearch 版本但是,并非所有版本的 Elasticsearch 都受 AWS Elasticsearch 支持。但以下版本的 Elasticsearch 受 AWS Elasticsearch 支持 -
如果我们将 Elasticsearch 7.x 和 6.x 版本与早期版本的 Elasticsearch 进行比较,那么 7.x 和 6.x 提供了更强大的功能。它们提供了使 AWS Elasticsearch 更安全、更快、更易于使用的功能。 更好的保护 - 最新版本的 Elasticsearch 可防止复杂查询对集群性能和稳定性产生负面影响。 更高的索引性能 - 它们提供了改进的索引功能,从而提高了数据更新的吞吐量。 Vega 可视化 - 最新版本的 Elasticsearch 支持Vega可视化语言。这种 Vega 语言使用户能够进行上下文感知查询。此外,它还可以帮助将多个数据源合并到单个图形中,以及为图形添加用户交互等等。 Java 高级 REST 客户端 - 与低级客户端相比,Java REST 客户端提供了简化的开发体验。AWS Elasticsearch 支持大多数 Elasticsearch API。 |
我们请求您订阅我们的新闻通讯以获取最新更新。