问:什么是 Amazon Elasticsearch Service?

Amazon Elasticsearch Service 是一项托管服务,让您可以在 AWS 云中轻松地部署、操作和扩展 Elasticsearch 集群。

问:Amazon Elasticsearch Service 支持哪个 Elasticsearch 版本?

Amazon Elasticsearch Service 目前支持 Elasticsearch 版本 6.0、5.5、5.3、5.1、2.3 和 1.5。

问:什么是 Amazon Elasticsearch 域?

Amazon Elasticsearch 域是使用 Amazon Elasticsearch Service 控制台、CLI 或 API 创建的 Elasticsearch 集群。在具有您指定的计算和存储资源的云中,每个域都是一个 Elasticsearch 集群。您可以创建并删除域,定义基础设施属性,并控制访问和安全性。您可以运行一个或多个 Amazon Elasticsearch 域。

问:Amazon Elasticsearch Service 可代我管理哪些内容?

Amazon Elasticsearch Service 管理设置域所涉及的工作,从在您请求的网络环境中预置基础设施容量到安装 Elasticsearch 软件。在域运行后,Amazon Elasticsearch Service 会自动执行常见管理任务,例如执行备份、监控实例并修复软件。Amazon Elasticsearch Service 与 Amazon CloudWatch 集成,以生成提供有关该域状态的信息的指标。Amazon Elasticsearch Service 还提供了修改域实例和存储设置的选项,以简化根据您的应用程序需求定制域的任务。

问:Amazon Elasticsearch Service 是否支持开源 Elasticsearch API?

Amazon Elasticsearch Service 支持大多数常用的 Elasticsearch API,因此,已在当前 Elasticsearch 环境中使用的代码、应用程序和常见工具可以实现无缝协作。有关受支持 Elasticsearch 操作的完整列表,请参阅我们的文档


问:我是否可以通过 Amazon Elasticsearch Service 控制台创建和修改我的 Amazon Elasticsearch 域?

可以。使用控制台中的域创建向导,您只需单击几下,即可创建新的 Amazon Elasticsearch 域。创建新域时,您可以指定实例数量、实例类型以及您希望分配给域的 EBS 卷。您还可以使用控制台修改或删除现有 Amazon Elasticsearch 域。

问:Amazon Elasticsearch Service 是否支持 Amazon VPC?

支持,Amazon Elasticsearch Service 集成了 Amazon VPC。选择 VPC 访问后,VPC 中的 IP 地址会挂载到 Amazon Elasticsearch Service 域,并且所有网络流量均被限制在 AWS 网络内,无法通过 Internet 访问。此外,您还可以使用安全组和 IAM 策略,来限制对 Amazon Elasticsearch Service 域的访问。

问:我是否可以使用 CloudFormation 模板预置 Amazon ES 域?

可以。AWS CloudFormation 支持 Amazon ES。有关更多信息,请参阅 CloudFormation 模板参考文档。

问:Amazon Elasticsearch Service 是否支持配置专用主节点?

支持。您可以为域配置专用主节点。选择一个专用主配置后,您可以指定实例类型和实例数量。

问:我能否在一个 Amazon Elasticsearch 域内创建多个 Elasticsearch 索引?

能。您可以在同一个 Amazon Elasticsearch 域内创建多个 Elasticsearch 索引。Elasticsearch 会自动在分配到该域的实例之间分发索引和任何相关副本。

问:如何将数据注入到我的 Amazon Elasticsearch Service 域中?

Amazon Elasticsearch Service 支持以下数据注入选项:

  • Amazon Elasticsearch Service 支持与 Logstash 集成。您可以将 Amazon Elasticsearch Service 域配置为数据存储,用于存储所有来自 Logstash 实施的日志。
  • 您可以使用索引 API 和批量 API 等原生 Elasticsearch API 将数据加载到域中。

问:Amazon Elasticsearch Service 是否支持与 Logstash 的集成?

支持。Amazon Elasticsearch Service 支持与 Logstash 集成。您可以将 Amazon Elasticsearch 域设置为来自 Logstash 实施的所有日志的后端存储。您可以在 Amazon Elasticsearch 域上设置访问控制,以使用请求签名验证来自 Logstash 实施的调用,或者使用基于资源的 IAM 策略涵盖运行 Logstash 实施的实例的 IP 地址。

问:Amazon Elasticsearch Service 是否支持与 Kibana 的集成?

支持。Amazon Elasticsearch Service 包括一个内置的 Kibana 安装,它随 Amazon Elasticsearch Service 域一起部署。

问:我是否可以使用 Amazon Elasticsearch Service 随附的 Kibana 安装创建自定义报告?

可以。Kibana 支持通过用户界面创建并保存自定义报告。有关如何使用 Kibana 的更多信息,请参阅 Kibana 文档

问:Amazon Elasticsearch Service 具有哪些存储选项?

您可以选择本地实例存储或 EBS 卷。在创建域的过程中,如果您选择 EBS 存储,则可以按需增加和减小存储卷的大小。

问:Amazon Elasticsearch Service 支持哪些类型的 EBS 卷?

您可以选择使用磁卷、通用型卷和预置的 IOPS EBS 卷。

问:可以分配给 Amazon Elasticsearch 域的 EBS 存储量是否存在限制?

是。对于与域关联的每个实例,Amazon Elasticsearch Service 支持一个 EBS 卷(最大大小为 1.5 TB)。在默认情况下,每个 Amazon Elasticsearch Service 域最多可有 20 个数据节点,因此,您可以为一个域分配约 30 TB 的 EBS 存储容量。您可以在 AWS 支持中心创建一个案例来请求提高服务限制,将每个域的实例数增加到多达 100 个。通过这 100 个实例,您可以为一个域分配约 150 TB 的 EBS 存储容量。


问:在我自己的数据中心的服务器上运行的程序能否访问我的 Amazon Elasticsearch 域?

能。所有能够访问公共 Internet 的程序均可通过公有终端节点访问 Amazon Elasticsearch Service 域。如果您的数据中心已通过 Direct Connect 或 SSH 隧道连接到 Amazon VPC,您还可以使用 VPC 访问。在这两种情况下,您都可以通过配置 IAM 策略和安全组,来允许在 AWS 外的服务器上运行的程序访问 Amazon Elasticsearch 域。单击此处,了解有关签名请求的更多信息。

问:我如何从现有的 Elasticsearch 集群将数据迁移到新的 Amazon Elasticsearch 域?

要从现有 Elasticsearch 集群迁移数据,您应创建现有 Elasticsearch 集群的快照,并将该快照存储到 Amazon S3 存储桶中。然后,您可以创建一个新的 Amazon Elasticsearch 域,并使用 Elasticsearch 还原 API 将快照的数据加载到新创建的 Amazon Elasticsearch 域。

问:如何扩展 Amazon Elasticsearch 域?

Amazon Elasticsearch Service 让您可以使用控制台、API 和 CLI 控制 Amazon Elasticsearch 域的扩展。您可以通过添加、删除或修改实例或存储卷来扩展 Amazon Elasticsearch 域,具体取决于您的应用程序需求。Amazon Elasticsearch Service 与 Amazon CloudWatch 集成,以提供有关 Amazon Elasticsearch 域状态的指标,从而使您能够做出适当的域扩展决定。

问:扩展我的 Amazon Elasticsearch 域是否需要停机?

否。通过添加或修改实例和存储卷来扩展您的 Amazon Elasticsearch 域是不需要任何停机时间的联机操作。

问:Amazon Elasticsearch Service 为节点故障提供哪些选项?

Amazon Elasticsearch Service 自动检测节点故障并替换该节点。该服务将获取新的实例,然后将重定向 Elasticsearch 请求并将更新记录到新的实例中。在该节点无法替换的情况下,客户可以使用他们具有的任何集群快照来重新启动具有预加载数据的域。

问:Amazon Elasticsearch Service 是否支持跨区复制?

支持。客户可以在创建域时或通过修改活动域为他们的 Amazon Elasticsearch 域启用“区域意识”。启用“区域意识”后,Amazon Elasticsearch Service 将在两个不同的可用区之间分发支持域的实例。然后,如果在 Elasticsearch 引擎中启用复制,则 Elasticsearch 将在这些启用跨区复制的不同实例间分配该域的副本。

问:Amazon Elasticsearch Service 是否通过 Amazon CloudWatch 提供任何性能指标?

是。Amazon Elasticsearch Service 通过 Amazon CloudWatch 提供多个性能指标,其中包括节点数量、集群运行状况、可搜索文档、EBS 指标(如适用)、CPU、内存以及数据和主节点的磁盘利用率。请参阅服务文档,了解可用 CloudWatch 指标的完整列表。

问:我希望对我的 Amazon Elasticsearch Service 部署执行安全性分析或运营故障排除。我能否获得我的账户执行的所有 Amazon Elasticsearch Service API 调用的历史记录?

能。AWS CloudTrail 是一项 Web 服务,用于记录账户的 AWS API 调用,并向您发送日志文件。由 AWS CloudTrail 生成的 AWS API 调用历史记录可支持安全性分析、资源更改跟踪及合规性审核。在 AWS CloudTrail 详细信息页面了解更多有关 AWS CloudTrail 的信息,或者通过 CloudTrail 的“AWS 管理控制台”主页将它打开。

问:什么是快照?

快照是 Amazon Elasticsearch 域在某一瞬间的副本。

问:为什么需要快照?

发生由节点故障(以及不太可能出现的硬件故障)引起的数据丢失时创建快照非常有用。您可以使用快照来恢复具有预加载数据的 Amazon Elasticsearch 域,或者创建具有预加载数据的新 Amazon Elasticsearch 域。使用备份的另一个常见原因是用于存档。快照存储在 Amazon S3 中。

问:Amazon Elasticsearch Service 是否提供自动化快照?

是。默认情况下,Amazon Elasticsearch Service 将自动创建每个 Amazon Elasticsearch 域的每日快照。每日快照设置为在午夜和凌晨 1 点 (UTC) 之间创建。客户也可以修改自动创建快照的时间,以更好地满足他们的需求。

问:我能否更改由 Amazon Elasticsearch Service 提供的自动创建每日快照的默认设置?

能。您可以更改自动创建每日快照的时间以适应您的应用程序时间表。

问:Amazon Elasticsearch Service 将自动创建的每日快照存储多长时间?

Amazon Elasticsearch Service 将保留最近 14 天内自动创建的每日快照。

问:自动创建每日快照是否收费?

自动创建每日快照不产生额外费用。快照免费存储在 Amazon Elasticsearch Service S3 存储桶中,并且可用于节点恢复。

问:我是否可以根据需要为我的 Amazon Elasticsearch 域创建更多快照?

可以。除 Amazon Elasticsearch Service 每日自动创建的快照外,您还可以使用 Elasticsearch 快照 API 创建更多手动快照。手动快照存储在您的 S3 存储桶中,且将产生相关的 Amazon S3 使用费。

问:通过手动快照流程创建的快照是否可以在出现故障时用来恢复域?

可以。客户可以创建新的 Amazon Elasticsearch 域并使用 Elasticsearch 还原 API 将来自快照的数据加载到新创建的 Amazon Elasticsearch 域。

问:当我删除我的 Amazon Elasticsearch 域时,我的快照会发生什么?

由 Amazon Elasticsearch Service 保留的每日快照将作为域删除的一部分被删除。删除域之前,您应该考虑使用手动快照流程在您自己的 S3 存储桶中创建一个该域的快照。如果您删除 Amazon Elasticsearch 域,存储在 S3 存储桶中的快照将不受影响。

问:Amazon Elasticsearch Service 提供了哪些类型的 Elasticsearch 日志?

Amazon Elasticsearch Service 通过 Amazon CloudWatch Logs 提供了三种 Elasticsearch 日志:错误日志、搜索慢日志和索引慢日志。这些日志对于解决某个域的性能和稳定性问题非常有用。

问:什么是慢日志?

慢日志是一种日志文件,可以帮助您跟踪一项操作在不同阶段的表现。Elasticsearch 提供两种类型的慢日志:

  • 索引慢日志 – 这种日志可以让您了解索引过程,能够用来微调索引设置。
  • 搜索慢日志 – 这种日志可以让您了解查询和获取操作的执行快慢程度。慢日志可以帮助您微调 Elasticsearch 上任何类型的搜索操作的表现。

要了解有关 Elasticsearch 慢日志的所有详细信息,请参阅 Elasticsearch 文档

问:如何在 Amazon ES 上启用慢日志?

您可以通过单击控制台中的按钮或者通过我们的 CLI 或 API 来启用慢日志。有关更多详细信息,请参阅我们的文档

问:能否只为特定索引启用慢日志?

能。您可以更新针对特定索引的设置,从而为其启用或禁用慢日志。有关更多详细信息,请参阅我们的文档

问:在 Amazon ES 中打开慢日志,是否会为所有索引自动启用日志记录?

否。在 Amazon ES 中打开慢日志后,您可以针对指定域中的索引,将生成的日志发布到 Amazon CloudWatch Logs。但是,要生成日志,您必须更新针对一个或多个索引的设置,这样才能启动日志记录流程。要了解有关设置索引配置以便启用慢日志的更多详细信息,请参阅我们的文档

问:在 Amazon ES 中关闭慢日志后,是否就不再生成日志文件?

否。是否生成日志文件取决于索引设置。要停止生成日志文件,您必须更新索引配置。要了解有关设置索引配置以便启用慢日志的更多详细信息,请参阅我们的文档

问:能否更改日志记录的粒度?

您只能更改慢日志的日志记录粒度。Elasticsearch 提供慢日志的多种级别的日志记录。您需要在索引的配置中设置适当的级别。要了解有关设置索引配置以便启用慢日志的更多详细信息,请参阅我们的 Elasticsearch 文档

问:启用慢日志或错误日志是否需要付费?

启用慢日志或错误日志之后,Amazon Elasticsearch Service 会开始向 CloudWatch Logs 发布生成的日志。Amazon Elasticsearch Service 不会对启用日志收取任何费用。但是,我们会收取标准的 CloudWatch 费用。

问:每个日志条目的大小是否有任何限制?

是。发布到 CloudWatch 的每个日志条目的大小不得超过 255000 个字符。超出这一限制的日志条目会被截断为 255000 个字符。

问:对于使用慢日志,有哪些最佳实践建议?

只有在排查索引问题或者微调性能时,您才需要使用慢日志。建议您只针对要具体了解其性能的索引启用日志记录。此外,完成调查后,您应该关闭日志记录,这样就不会再产生任何其他相关费用。有关更多详细信息,请参阅我们的文档

问:任何使用 CloudWatch Logs 生成的日志?

CloudWatch 支持多种日志使用方式。您可以查看日志数据、将日志导入 S3 或者实时处理日志。要了解更多信息,请参阅 CloudWatch Logs 开发人员指南

问:Amazon ES 支持的所有版本的 Elasticsearch 是否都可以使用慢日志?

是。Amazon ES 支持的所有版本的 Elasticsearch 都可以启用慢日志。但是,为不同版本的 Elasticsearch 指定日志设置的方式会稍有不同。请参阅我们的文档,了解更多详细信息。

问:打开或关闭日志记录时,集群是否会中断运行?

否。不会发生中断。日志状态每次更新时,我们都会在后台部署一个新集群,用它替换原有集群。此过程不会造成任何中断。但是,由于部署了新集群,日志状态将无法即时更新。

问:Amazon Elasticsearch Service 提供了哪些类型的错误日志?

Elasticsearch 使用 Apache Log4j 2 及其内置的日志级别(从最低到最严重)的 TRACE、DEBUG、INFO、WARN、ERROR 和 FATAL。如果启用应用程序日志,Amazon Elasticsearch Service 会将 WARN、ERROR 和 FATAL 的日志行发布到 CloudWatch。不太严重的级别(INFO、DEBUG 和 TRACE)不可用。

问:如何在 Amazon Elasticsearch Service 上启用错误日志?
可以从 AWS 控制台启用错误日志,也可以通过我们的 CLI 和 API 以编程方式启用错误日志。有关更多详细信息,请参阅我们的文档

问:我能否仅为特定索引启用错误日志?
否,错误日志是针对整个域提供的。也就是说,一旦启用,域中所有索引的日志条目均将可用。

问:Amazon Elasticsearch Service 支持的所有版本的 Elasticsearch 是否都可以使用错误日志?
否,错误日志仅适用于 Elasticsearch 版本 5.x 及更高版本。

问:就地升级功能支持哪些 Elasticsearch 版本?

Amazon Elasticsearch Service 目前支持使用 Elasticsearch 版本 5.x 及更高版本的域的就地版本升级。您可以从 5.x 升级到 5.6、从 5.6 升级到 6.3 以及从 6.x 升级到 6.3。

问:我的域运行的 Elasticsearch 版本早于 5.x。如何升级这些域?

有关从各种 Elasticsearch 版本迁移的详细信息,请参阅我们的文档

问:在就地升级过程中,我的域名是否会脱机?

否。您的域在整个升级过程中将一直保持可用。但是,部分升级过程涉及重新定位分片,这会影响域性能。我们建议您在域中的负载较低时进行升级。

问:如何检查域的 Elasticsearch 版本是否可以升级?

就地版本升级仅适用于运行 Elasticsearch 5.x 及更高版本的域。如果域的版本是 5.x 或更高版本,则您可以运行升级资格检查以验证您的域是否可以升级到所需的版本。要了解更多信息,请参阅我们的文档

问:Amazon Elasticsearch Service 验证域升级资格需要完成哪些测试?

有关我们运行以验证升级资格的测试的详细列表,请参阅我们的文档

问:在版本升级过程中,我能否更新我的域配置?

否。触发就地版本升级后,在升级完成或失败之前,您无法更改域配置。
您可以在升级过程中继续读取和写入数据。此外,您还可以删除域,在这种情况下,将会终止升级并删除域。

问:当就地版本升级正在进行时,自动系统快照会发生什么?

版本升级过程会自动获取系统的快照,并且只有在快照成功时才会启动实际升级。如果在达到自动快照的开始时间时正在进行升级,则会在当天跳过自动快照,并在第二天继续。

问 8:Amazon Elasticsearch Service 如何防范版本升级期间可能出现的问题?

Amazon Elasticsearch Service 在触发升级之前运行一组测试,以检查可能阻止升级的已知问题。如果没有遇到任何问题,该服务将获取域的快照,并且只有在快照成功后,它才会启动升级过程。如果这些步骤中存在任何问题,则不会触发升级。

问:如果系统在执行就地版本升级期间遇到问题,会发生什么情况?

如果遇到的问题无关紧要并且可以解决,Amazon Elasticsearch Service 会自动尝试解决这些问题并取消阻止升级。但是,如果问题阻止升级,则服务将恢复为升级之前获取的快照并记录错误。有关查看升级过程中的日志的更多详细信息,请参阅我们的文档

问:我能否查看我的域上的升级历史记录?

能。您可以从 AWS 控制台查看升级日志,也可以使用 CLI 或 SDK 请求升级日志。请参阅我们的文档,了解更多详细信息。

问:我能否在触发版本升级后将其暂停或取消?

否。触发升级后,在升级完成或失败之前,无法暂停或取消。

问:我能否在多个域上并行运行就地版本升级?

能。但是,如果您希望将所有域保留在同一版本上,我们建议您在升级域之前在所有域上运行升级资格检查。此额外步骤可以帮助捕获可能不存在于其他域中的某个域的问题。

问:就地版本升级需要多长时间?

根据数据量和集群的大小,升级可能需要几分钟到几个小时才能完成。

问题:我能否仅快速升级域而不保留任何数据?

否。通过就地版本升级,集群中的所有数据也会作为升级过程的一部分进行恢复。如果您只希望单独升级域,则可以获取数据快照,从域中删除所有索引,然后触发就地版本升级。或者,您可以使用较新版本创建单独的域,然后将数据恢复到该域。

问:如果我对新版本不满意,能否降级到以前的版本?

否。如果您需要降级到较旧版本,则必须获取已升级域的快照并将其恢复到使用较旧 Elasticsearch 版本的域。


问:如何保护 Amazon Elasticsearch Service 域的安全?

如果您使用 VPC 保护应用程序、数据和网络流量安全,则可以为 Amazon Elasticsearch Service 设置 VPC 访问,以便可以使用 VPC 安全组控制网络访问。您还可以使用基于 IAM 的策略,就哪些 IAM 角色可以执行管理任务、使用 Elasticsearch APIS 以及有权访问域乃至索引内的资源进行细粒度访问控制。

如果您希望通过 Internet 访问 Amazon Elasticsearch Service 域,则可以指定公共访问。借助公共访问,您可以通过 IP 地址控制对终端节点的访问,并要求基于 IAM 角色的身份验证。通过 IAM 策略,您可以控制对 Amazon Elasticsearch 域和域中的子资源(如索引)的访问。

您还可以通过设置 IAM 策略,来控制对管理 API(用于创建和扩展集群等操作)和 Elasticsearch API(用于上传文档和执行 Elasticsearch 请求等操作)的访问。

问:如何为 Amazon Elasticsearch Service 设置 VPC 访问?

您可以在创建 Amazon Elasticsearch Service 域时配置 VPC 访问。您可以通过在控制台中单击几下或通过我们的 CLI 和 API 设置 VPC 访问。有关更多详细信息,请参阅 Amazon Elasticsearch Service 开发人员指南

问:如果为 Amazon Elasticsearch Service 域设置 VPC 访问,我应如何访问 Kibana?

启用 VPC 访问后,Amazon Elasticsearch Service 的终端节点仅能在客户 VPC 内进行访问。若要使用笔记本电脑从 VPC 外部访问 Kibana,您需要使用 VPN 或 VPC Direct Connect 将笔记本电脑连接至 VPC。


问:如何对我的 Amazon Elasticsearch Service 使用进行收费和计费?

您只需为实际使用量付费,无最低费用或设置费用。您的计费依据为:

  • Amazon Elasticsearch 实例小时数 – 基于使用的 Amazon Elasticsearch 实例的等级(例如,标准、小型、大型、超大型)。运行时间未满一小时的 Amazon Elasticsearch 实例按一小时计费。
  • 存储(每月每 GB)– 您为 Amazon Elasticsearch 实例预置的 EBS 存储容量。如果您在当月内扩展了预置的存储容量,则您的账单将按比例分配。
  • 每月的预置 IOPS – EBS 的预置 IOPS 费率,不论 IOPS 的实际使用量如何(仅适用于 Amazon Elasticsearch Service 的预置 IOPS (SSD) 存储)。
  • 数据传输 – 适用常规的 AWS 数据传输费。

有关详细的定价信息,请参阅 Amazon Elasticsearch Service 定价页面。

问:Amazon Elasticsearch 域何时开始和结束计费?

Amazon Elasticsearch 实例一旦处于可用状态,即开始计费。账单周期一直持续到 Amazon Elasticsearch 实例终止之时(删除实例或实例出现故障时)。

问:如何定义 Amazon Elasticsearch Service 的计费实例小时数?

Amazon Elasticsearch 实例小时数是指实例在可用状态下运行的计费小时数。如果您不希望再被收取 Amazon Elasticsearch 实例费用,则必须删除该域以避免产生更多实例小时数的费用。运行时间未满一小时的 Amazon Elasticsearch 实例按一小时计费。