开始免费使用 AWS

创建免费账户
或登录到控制台

AWS 免费套餐包含通过 Amazon ElastiCache 提供的 750 小时的微缓存节点。

查看 AWS 免费套餐详细信息 »


问:什么是适用于 Redis 的 Amazon ElastiCache?

适用于 Redis 的 Amazon ElastiCache 是一种 Web 服务,让用户能够在云中轻松部署和运行 Redis 协议兼容的服务器节点。该服务可以支持 Redis 节点的管理、监控和运行;而节点的创建、删除和修改可通过 ElastiCache 控制台、命令行接口或 Web 服务 API 执行。适用于 Redis 的 Amazon ElastiCache 支持 Redis 主/从复制。

问:适用于 Redis 的 Amazon ElastiCache 在协议上是否与开源 Redis 兼容?

是的,适用于 Redis 的 Amazon ElastiCache 与开源 Redis 在协议上兼容。因此,您在现有的独立 Redis 数据存储内使用的代码、应用程序、驱动程序和工具仍然能与适用于 Redis 的 ElastiCache 协作,将现有 Redis 部署迁移到基于 Redis 的 ElastiCache 时,不需要更改代码,除非另有要求。我们目前支持 Redis 4.0.10、3.2.10、3.2.6、3.2.4、2.8.24、2.8.23、2.8.22、2.8.21、2.8.19、2.8.6 和 2.6.13。

问:适用于 Redis 的 Amazon ElastiCache 如何收费?

请参阅我们的定价页面,了解最新的定价信息。

问:什么是适用于 Redis 的 Amazon ElastiCache 的节点、集群和复制组?

适用于 Redis 的 Amazon ElastiCache 节点是部署适用于 Redis 的 Amazon ElastiCache 的最小构建基块。每一个适用于 Redis 的 ElastiCache 节点都支持 Redis 协议,并有其自己的 DNS 名称和端口。受支持的适用于 Redis 的 ElastiCache 节点有多种类型,各有不同的 CPU 功能和相关内存量。适用于 Redis 的 ElastiCache 节点承担主节点或只读副本的作用。主节点可以被复制到多个只读副本节点。适用于 Redis 的 ElastiCache 集群是一个或多个承担相同角色的适用于 Redis 的 ElastiCache 节点的集合;主节点位于主集群中,只读副本节点位于只读副本集群中。一个集群目前只能有一个节点。我们将在未来放宽这一限制。集群管理逻辑密钥空间,其中的每个节点负责一部分的密钥空间。您的大多数管理操作将在集群级别上执行。适用于 Redis 的 ElastiCache 复制组包含 Redis 的主集群和只读副本集群。一个复制组只有一个主集群,只读副本集群可以没有,也可以有多个。复制组(以及随之产生的集群)内所有节点的类型都相同,且其参数和安全组设置也相同。

适用于 Redis 的 Amazon ElastiCache 是否支持 Redis 持久性?

支持,您可以借助备份与恢复功能创建 Redis 数据快照,以实现永久存储。请查看此处了解详细信息。

问:如何从适用于 Memcached 的 Amazon ElastiCache 迁移到适用于 Redis 的 Amazon ElastiCache 中?反之又如何操作?

我们目前不支持从 Memcached 自动迁移到 Redis,反之亦然。但是,您可以使用 Memcached 客户端从 Memcached 集群中读取,并使用 Redis 客户端写入 Redis 集群。同样地,您还可以使用 Redis 客户端从 Redis 集群中读取,并使用 Memcached 客户端写入 Memcached集群。请务必考虑两种引擎在数据格式和集群配置上的差异。

问:适用于 Redis 的 Amazon ElastiCache 是否支持多可用区运行?

是的,通过适用于 Redis 的 Amazon ElastiCache,您可以在另一个 AWS 可用区中创建一个只读副本。主节点发生故障后,我们将预置一个新的主节点。如果主节点无法预置,您可以选择将一个只读副本提升为新的主节点。有关如何处理节点故障的更多详细信息,请参阅此处

问:适用于 Redis 的 Amazon ElastiCache 针对节点故障提供了哪些选项?

适用于 Redis 的 Amazon ElastiCache 将通过请求新的服务资源来修复节点,然后将节点的现有 DNS 名称重定向,使其指向新的服务资源。因此,Redis 节点的 DNS 名称将保持不变,但 Redis 节点的 IP 地址可能会随着时间的推移而改变。如果您的复制组有一个或多个只读副本,并且已经启用了多可用区,那么在主节点发生故障时,ElastiCache 将自动检测故障、选择副本并将其提升为新的主节点。它还会传播 DNS,让您可以继续使用主终端节点,并在提升后指向新提升的主节点。有关更多详细信息,请参阅此常见问题的多可用区部分。在禁用多可用区的情况下选择 Redis 复制选项时,如果主节点发生故障,您可以选择进行故障转移,转移到一个只读副本节点。故障转移目标可以在同一个可用区中,也可以在另一个可用区中。要故障恢复到原可用区,请将原可用区中的只读副本提升为主节点。您可以设计应用程序的架构,让 Redis 客户端库重新连接到修复后 Redis 服务器节点。某些 Redis 库会在遇到通信错误或超时时无限期停止使用服务器,因此这一点很有用。

问:故障转移的工作原理是什么?

对于启用了多可用区的复制组,常见问题的多可用区部分介绍了故障转移的操作步骤。

如果您选择不启用多可用区,那么在 Amazon ElastiCache 监测到主节点并且该节点不可用或无响应时,适用于 Redis 的Amazon ElastiCache 将通过获取新服务资源来修复节点,然后将节点的现有 DNS 名称重定向,使其指向新的服务资源。因此,Redis 节点的 DNS 名称将保持不变,但 Redis 节点的 IP 地址可能会随着时间的推移而改变。但是,如果主节点无法修复(并且禁用了多可用区),您可以选择将其中一个只读副本提升为新的主节点。请参阅此处了解如何选择新的主节点。主节点的终端节点 DNS 记录将会更新,指向提升后的只读副本节点。然后,系统会在原主节点的可用区中创建一个只读副本节点,用作复制组中的只读副本,并成为新主节点的从节点。 

问:主节点故障期间,我的只读副本是否可用?

可以,主节点故障期间,只读副本可以继续响应各种请求。通过修复主节点或提升只读副本的方式恢复主节点后,只读副本会短时间内无法响应任何请求,因为它们要同步主节点中的缓存信息。

问:如何配置适用于 Redis 的 Amazon ElastiCache 节点的参数?

您可以使用缓存参数组配置您的 Redis,而 Redis 集群必须指定缓存参数组。所有的只读副本集群都使用其主集群的参数组。Redis 参数组充当 Redis 配置值的“容器”,而这些值可以应用于一个或多个 Redis 主集群。如果您在创建 Redis 主集群时未指定缓存参数组,则系统将使用默认参数组。默认参数组内包含用于您要运行的节点类型的默认值。但是,如果您希望 Redis 主集群以指定的配置值运行,您可以创建一个新的缓存参数组,修改所需的参数,然后修改 Redis 主集群以便使用新参数组。

问:是否可以通过 Amazon ElastiCache 控制台访问 Redis?

可以,Redis 在 ElastiCache 控制台中显示为引擎选项。您可以选择 Redis 引擎,用启动向导创建新的 Redis 缓存集群。您还可以使用 ElastiCache 控制台修改或删除现有 Redis 集群。

问:是否可以在 Amazon VPC 中创建适用于 Redis 的 Amazon ElastiCache 集群?

是的。如果您的账户在默认情况下处于 VPC 中,则系统将在与您的账户关联的默认 VPC 内创建您的 Redis 集群。借助 ElastiCache 控制台,您可以在创建集群时指定一个不同的 VPC。

问:适用于 Redis 的 Amazon ElastiCache 是否支持 Redis 密码功能?

不,适用于 Redis 的 Amazon ElastiCache 不支持 Redis 密码。这是因为配置文件中存储的密码具有固有的局限性。适用于 Redis 的 Amazon ElastiCache 集群与 EC2 安全组关联,而不依赖 Redis 密码,并且只有该安全组中的客户端才有权访问 Redis 服务器。

问:如何升级至更新的引擎版本?

使用 ModifyCacheCluster 或 ModifyReplicationGroup API 并针对 EngineVersion 参数指定首选引擎版本,即可轻松升级至更新的引擎版本。在 ElastiCache 控制台上,您可以选择一个缓存集群或复制组,然后单击“修改”。在“修改缓存集群”或“修改复制组”窗口中,从可用选项中选择首选引擎版本。引擎升级流程旨在尽最大努力保留您的现有数据,并且需要 Redis 复制才能成功。有关更多详细信息,请参阅此处

问:能否降级至较低的引擎版本?

不支持降级至较低的引擎版本。

问:如何扩展至较大的节点类型?

使用 ModifyCacheCluster 或 ModifyReplicationGroup API 并针对 CacheNodeType 参数指定首选节点类型,即可轻松扩展至较大的节点类型。在 ElastiCache 控制台上,您可以选择一个缓存集群或复制组,然后单击“修改”。在“修改缓存集群”或“修改复制组”窗口中,从可用选项中选择首选节点类型。扩展流程旨在尽最大努力保留您的现有数据,并且需要 Redis 复制才能成功。有关更多详细信息,请参阅此处

问:能否缩减至较小的节点类型?

目前不支持转为较小的节点类型。

问:用于衡量 Redis CPU 利用率的正确指标是什么?

Amazon ElastiCache 提供了两个指标来衡量适用于Redis 的 ElastiCache 工作负载的 CPU 利用率:EngineCPUUtilization 和 CPUUtilization。CPUUtilization 指标用于衡量实例(节点)的 CPU 利用率,EngineCPUUtilization 指标用于衡量 Redis 进程级别的利用率。除了 CPUUtilization 指标,您还需要 EngineCPUUtilization 指标,因为主 Redis 进程是单线程,只使用实例上可用的多个 CPU 内核中的一个 CPU。因此,CPUUtilization 指标不能准确反映 Redis 进程级别的 CPU 利用率。我们建议您同时使用 CPUUtilization 和 EngineCPUUtilization 指标,以便详细了解 Redis 集群的 CPU 利用率。这两个指标现已面向所有 AWS 区域开放,您可以使用 CloudWatch 或者通过 AWS 管理控制台查看。


问:将 Redis 缓存节点用作只读副本意味着什么?

只读副本在 Redis 中起两种作用:

  • 故障处理
  • 读取扩展

当您将缓存节点用作只读副本时,主节点既可用于写入,也可用于读取。只读副本充当备用节点,在故障转移时被提升。故障转移后,备用节点将成为主节点,并接受缓存操作。只读副本还可以轻松实现弹性扩展,超越单个缓存节点的容量限制,满足读取密集型缓存工作负载的需求。

问:何时应考虑使用 Redis 只读副本?

在很多情况下,为给定的主节点部署一个或多个只读副本可能很有意义。部署只读副本的常见原因包括:

  • 超越单个主节点的计算或 I/O 容量的限制,满足读取密集型工作负载的需求。过多的读取流量将被引导到一个或多个读取副本。
  • 在主节点不可用时提供只读副本。如果您的主节点无法处理 I/O 请求(例如,由于备份或计划维护而暂停 I/O),可以将读取流量引导到只读副本中。对于这种使用案例,请注意由于主节点实例不可用,只读副本中的数据可能会“陈旧”。只读副本还可以用于重启发生故障的主节点。
  • 数据保护应用场景;如果发生主节点故障或者主节点所在可用区不可用这种不太可能出现的情况,您可以将不同可用区中的只读副本提升为新的主节点。

问:如何为给定的主缓存节点部署只读副本节点?

使用 CreateReplicationGroup API 或在 Amazon ElastiCache 管理控制台中单击几下鼠标,即可很快创建一个只读副本。创建复制组时,您要指定 MasterCacheClusterIdentifier。MasterCacheClusterIdentifier 是您想从中进行复制的“主”缓存集群的缓存集群标识符。然后,您可以通过调用 CreateCacheCluster API 指定主要集群的 ReplicationGroupIdentifier 和 CacheClusterIdentifier,以在复制组中创建只读副本集群。与操作标准缓存集群一样,您也可以指定可用区。开始创建只读副本时,Amazon ElastiCache 将对主缓存集群拍摄快照,并开始复制。因此,在拍摄快照时,您的主缓存集群上的 I/O 可能会短暂性停止。I/O 停止一般大约会持续一分钟。

删除只读副本同创建一样简单;只需使用 Amazon ElastiCache 管理控制台或调用 DeleteCacheCluster API 即可(为您要删除的只读副本指定 CacheClusterIdentifier)。

问:我能否同时创建主节点和只读副本?

可以。您可以使用 CreateReplicationGroup API 或 Amazon ElastiCache 管理控制台中的“启动缓存集群”向导并选择“多可用区复制”,在数分钟内创建一个新的缓存集群和只读副本。创建复制组时,需要为复制组指定一个标识符,并指定该复制组所需集群的总数以及缓存节点类型、缓存引擎版本等缓存创建参数。您还可以为该复制组中的每个集群指定可用区。

问:如何连接到我的只读副本?

您可以像连接主缓存节点一样,使用 DescribeCacheClusters API 或 AWS 管理控制台通过检索只读副本的终端节点连接到只读副本。如果有多个只读副本,各个副本之间的读取流量分配方式则取决于应用程序。

问:我可以为给定的主缓存节点创建多少个只读副本?

Amazon ElastiCache 目前允许您为给定的主缓存节点最多创建五 (5) 个只读副本。

问:如果发生故障转移,只读副本会怎么样?

如果发生故障转移,所有关联和可用的只读副本在故障转移完成后将自动恢复复制(获取最新提升的只读副本的更新)。

问:是否可以为其他只读副本创建只读副本?

不支持为其他只读副本创建只读副本。

问:是否可以将我的只读副本提升为“独立的”主缓存节点?

不可以,不支持此操作。但是,您可以为适用于 Redis 的 ElastiCache 节点拍摄快照(可以选择主节点或任何只读副本)。然后,您可使用快照生成新的适用于 Redis 的 ElastiCache 主节点。

问:只读副本是否会与其主缓存节点一起保持最新状态?

主缓存节点的更新会自动复制到所有关联的只读副本。不过,鉴于 Redis 的异步复制技术,出于各种原因,只读副本更新可能会落后于其主缓存节点。常见的原因包括:

  • 主缓存节点的 I/O 写入量超过了将更改应用于只读副本的速率
  • 主缓存节点和只读副本之间有网络分区或延迟

只读副本受 Redis 复制的优点和缺点影响。使用只读副本时您应该注意,只读副本与其主缓存节点之间可能存在滞后或“不一致”。单击此处了解如何查找只读副本的“不一致”。

问:如何查看有效的只读副本?

您可以使用标准的 DescribeCacheClusters API 返回已部署的所有缓存集群列表(包括只读副本),或者直接单击 Amazon ElastiCache 管理控制台的“缓存集群”选项卡进行查看。

Amazon ElastiCache 监控您的只读副本的复制状态,并在因任何原因停止复制时将“副本状态”字段更新为“错误”。您可以通过查看“副本状态”字段来查看 Redis 引擎产生的相关错误的详细信息,然后进行适当操作以从中恢复。您可以在 Amazon ElastiCache 用户指南的“排除只读副本问题”部分了解有关复制问题的更多疑难解答。如果复制错误得到修复,“副本状态”将更改为“正在复制”。

Amazon ElastiCache 允许您利用 AWS 管理控制台或 Amazon CloudWatch API 通过 Amazon CloudWatch 指标(“副本滞后”)查看只读副本滞后于其主节点的程度。

问:我的只读副本已远远落后于主缓存节点。我应该怎么办?

如前述问题中所述,使用 Redis 异步复制时,只读副本与其主缓存节点之间的“不一致”或滞后非常常见。如果现有只读副本已远远落后,不能满足您的要求,您可以重启该副本。请注意,副本滞后可能会随时间推移而加剧或减缓,具体取决于主节点的稳定状态使用模式。

问:如何删除只读副本? 它是否会自动随主缓存节点的删除而一起删除?

在 AWS 管理控制台中单击几下鼠标或将缓存集群标识符传送到 DeleteCacheCluster API,即可轻松地删除只读副本。如果除了主缓存节点之外您还想删除只读副本,您必须使用 DeleteReplicationGroup API 或 AWS 管理控制台。

问:只读副本的费用如何? 如何计算记账周期?

只读副本按标准的缓存节点进行计费,且费率相同。和标准的缓存节点一样,只读副本的每“缓存节点小时”费率取决于只读副本的缓存节点类 – 有关最新的定价信息,请参阅 Amazon ElastiCache 详细信息页面。在主缓存节点和只读副本之间复制数据,产生的数据传输不收取费用。只读副本的账单周期从成功创建只读副本后开始(即当列出的状态为“有效”时)。只读副本将一直按标准的 Amazon ElastiCache 缓存节点小时费用计费,直到您发布命令将其删除为止。

问:执行故障转移时会发生什么状况?会持续多长时间?

Amazon ElastiCache 支持启动故障转移,这样您可以尽快恢复缓存操作。故障转移后,Amazon ElastiCache 会让缓存节点的 DNS 记录指向只读副本,只读副本转而成为新的主节点。我们建议您遵循最佳实践,在应用程序层实施缓存节点连接重试。故障转移从开始到结束通常用时三到六分钟。

问:是否可以在另一个区域创建只读副本作为主节点?

不可以。您只能在相同区域的同一可用区或不同可用区中预置只读副本作为主缓存节点。

问:是否可以查看我的主节点当前位于哪个可用区?

可以,您可以使用 AWS 管理控制台或 DescribeCacheClusters API 查看当前主节点的位置。

故障转移后,我的主节点位于与其他 AWS 资源(如 EC2 实例)不同的可用区中。

问:是否会产生延迟问题?

可用区与同一区域内的其他可用区之间可以实现低延迟网络连接。此外,您在设计应用程序及其他 AWS 资源的架构时可以跨多个可用区设置冗余,以便应用程序在出现可用区故障时能够灵活反应。


问:适用于 Redis 的 ElastiCache 复制组的多可用区是什么?

适用于 Redis 的 ElastiCache 复制组由一个主节点和最多五个只读副本组成。Redis 将数据从主节点异步复制到只读副本中。在特定类型的计划维护期间,或者在不太可能发生的 ElastiCache 节点故障或可用区故障期间,Amazon ElastiCache 将自动检测主节点的故障、选择一个只读副本并将其提升为新的主节点。ElastiCache 还会传播所提升只读副本的 DNS 更改,因此,如果您的应用程序正在写入主节点的终端节点,则不需要更改终端节点。

问:使用多可用区有哪些好处?

在多可用区模式下运行适用于 Redis 的 ElastiCache 的主要好处在于,提高了可用性并降低了管理需要。如果适用于 Redis 的 ElastiCache 主节点发生故障,那么您读取/写入主节点的能力受到的影响也仅限于完成自动故障转移所需要的时间。启用多可用区后,ElastiCache 节点会自动进行故障转移,不需要进行管理。您不再需要监控您的 Redis 节点,也不再需要在主节点故障时手动启动恢复。

问:多可用区的工作原理是什么?

如果您正在使用适用于 Redis 的 ElastiCache 并有一个包含一个主节点以及一个或多个只读副本组的复制组,则可以使用多可用区。如果主节点发生故障,ElastiCache 将自动检测该故障,然后从可用的只读副本中选择一个副本并将其提升为新的主节点。ElastiCache 将会传播所提升副本的 DNS 更改,因此您的应用程序可以持续写入终端节点。ElastiCache 还会启动一个新节点来替代与故障主节点处在同一可用区的已提升只读副本。如果主节点因可用区临时故障而发生故障,那么该可用区恢复之后,新的副本即会启动。

问:我能否将同一可用区中的副本设为主节点?

可以。请注意,如果将主节点和副本放在同一可用区中,适用于 Redis 的 ElastiCache 复制组就无法灵活响应可用区的故障。

问:Amazon ElastiCache 在什么情况下会故障转移到只读副本?

如果发生以下任何情况,Amazon ElastiCache 将会故障转移到只读副本:

  • 主节点可用区的可用性受损
  • 主节点的网络连接受损
  • 主节点的计算单位出现故障

问:应该在何时使用多可用区?

将 Redis 复制与多可用区配合使用可以提高可用性和容错能力。这种部署非常适合在生产环境中使用。

问:如何在启用多可用区的情况下创建适用于 Redis 的 ElastiCache 复制组?

您可以在 ElastiCache 管理控制台中单击“启动缓存集群”,从而创建适用于 Redis 的 ElastiCache 主节点和只读副本。您还可以通过调用 CreateReplicationGroup API 来执行这一操作。对于现有的复制组(Redis 2.8.24、2.8.23、2.8.22、2.8.21、2.8.19 和 2.8.6),您可以通过选择复制组并单击 ElastiCache 管理控制中上的“修改”按钮或使用 ModifyReplicationGroup API 来启用多可用区。将复制组切换为多可用区不会破坏您的 Redis 数据,也不会干扰您的节点响应请求的能力。

问:主节点发生故障时,系统会提升哪个只读副本?

如果只读副本不止一个,系统将提升向主节点进行异步复制时延迟最小的只读副本。

问:多可用区如何收费?

多可用区可以免费使用。您只需为自己使用的 ElastiCache 节点付费。

问:多可用区对性能有什么影响?

ElastiCache 目前使用 Redis 引擎的原生异步复制,因此受其优点和缺点的影响。特别要注意的是,在只读副本首次连接主节点或主节点发生更改时,只读副本会从主节点中完整同步数据,从而对其自身和主节点施加负担。有关 Redis 复制的更多详细信息,请查看此处。 

问:哪些缓存节点类型支持多可用区?

ElastiCache 中的所有可用缓存节点类型都支持多可用区,T1 和 T2 系列除外。

问:执行自动故障转移时,我是否会收到提示?

是的,Amazon ElastiCache 将创建一个事件,用于通知您已执行自动故障转移。您可以使用 DescribeEvents API 来返回与 ElastiCache 节点相关的事件信息,也可以单击 ElastiCache 管理控制台的“事件”部分。

问:故障转移后,我的主节点位于与其他 AWS 资源(如 EC2 实例)不同的可用区中。是否会产生延迟问题?

可用区与同一区域内的其他可用区之间可以实现低延迟网络连接。您在设计应用程序及其他 AWS 资源的架构时可以跨多个可用区设置冗余,以便应用程序在出现可用区故障时能够灵活反应。

问:可以在哪里获得关于多可用区的更多信息?

有关多可用区的更多信息,请参阅 ElastiCache 文档


问:什么是“备份与还原”?

“备份与还原”是一项功能,让客户能够为其适用于 Redis 的 ElastiCache 集群创建快照。ElastiCache 会存储这些快照,以便用户以后用来恢复 Redis 集群。

问:什么是快照?

快照是您的整个 Redis 集群在特定时刻的副本。

问:为什么需要快照?

对于因节点故障(以及不太可能出现的硬件故障)引起的数据丢失,创建快照非常有用。使用备份的另一个常见原因是用于存档。快照存储在 Amazon S3 中,这是一种持久存储服务,意味着即使发生电源故障,您的数据也不会被擦除。

问:快照有什么作用?

您可以使用快照通过预加载数据来热启动适用于 Redis 的 ElastiCache 集群。

问:“备份与还原”的工作原理是什么?

发起备份后,ElastiCache 会拍摄指定 Redis 集群的快照,而快照可以在以后用于恢复或存档。您可以随时发起备份,也可以设置每日定期备份,其保留期最大可以达到 35 天。

当您选择一个快照进行还原时,系统会创建一个新的适用于 Redis 的 ElastiCache 集群并填充快照中的数据。您可以通过这种方式利用指定快照创建多个适用于 Redis 的 ElastiCache 集群。

ElastiCache 目前使用 Redis 的原生功能来创建 RDB 文件并将其存储为快照。

问:我的快照存储在哪里?

快照存储在 S3 中。

问:如何开始使用“备份与还原”功能?

您可以通过 AWS 管理控制台、ElastiCache API(CreateCacheCluster、ModifyCacheCluster 和 ModifyReplicationGroup API)以及 CLI 来使用“备份与还原”功能。您可以随时停用和重新激活该功能。

问:如何指定要备份的 Redis 集群和节点?

“备份与还原”功能以集群为单位创建快照。用户可以通过 AWS 管理控制台、CLI 或 CreateSnapshot API 指定要备份哪个适用于 Redis 的 ElastiCache 集群。在复制组中,您可以选择备份主集群或任何只读副本集群。我们建议用户对一个只读副本启用备份,以便减轻 Redis 主节点上的延迟。

问:如何指定开始备份的时间?

您可以通过 AWS 管理控制台、CLI 或 API 指定开始单次备份或重复备份的时间。用户能够:

  • 立即拍摄快照(通过“创建快照”控制台按钮或 CreateSnapshot API)
  • 设置自动每日备份。备份将在您首选的备份时段内开始执行。您可以通过控制台中的“创建/修改”集群或者通过 CreateCacheCluster、ModifyCacheCluster 或 ModifyReplicationGroup API 来进行设置。

问:什么是备份时段?为什么需要使用备份时段?

首选备份时段是用户定义的一个时间段,适用于 Redis 的 ElastiCache 集群会该时段内开始备份。如果您想要在每日特定时间备份或避免在使用率非常高的时间段内备份,备份时段将非常有用。

问:拍摄快照对性能有什么影响?

拍摄快照时,节点的延迟可能会在短时间内增加。快照使用 Redis 内置的 BGSAVE 命令,因此受其优点和缺点的影响。特别需要注意的是,Redis 进程会分叉,之后父进程会继续响应请求,而子进程会将数据存储在磁盘上然后退出。分叉会增大快照生成期间的内存使用量。当这一内存使用量超过缓存节点可用内存容量时,可能会触发交换,进一步降低节点速度。因此,我们建议对一个只读副本(而非主节点)生成快照。我们还建议设置预留内存参数,以便将交换使用量降至最低。请参阅此处查看更多详细信息。

问:我可以从适用于 Redis 的 ElastiCache 只读副本创建快照吗?

可以。从只读副本创建快照是备份数据并将性能影响降至最低的最佳方式。

问:“备份与幻云”功能可以在哪些区域使用?

“备份与还原”功能可以在支持 ElastiCache 服务的所有区域使用。

问:可以将适用于 Redis 的 ElastiCache 快照导出到自己的 S3 存储桶中吗?

可以。您可以将适用于 Redis 的 ElastiCache 快照导出到您的集群所在区域内的授权 S3 存储桶中。有关导出快照和设置所需权限的更多详细信息,请参阅此处

问:可以将快照从一个区域复制到另一个区域吗?

可以。您必须首先将快照复制到在同一区域内选择的授权 S3 存储桶中,然后使用 S3 PUT object – Copy API 将其复制到另一个区域内的存储桶中。有关复制 S3 对象的更多详细信息,请参阅此处

问:我有多个使用适用于 Redis 的 ElastiCache 的 AWS 账户。可以使用一个账户的 ElastiCache 快照来热启动另一个账户中适用于 Redis 的 ElastiCache 集群吗?

可以。您必须首先将快照复制到在同一区域内选择的授权 S3 存储桶中,然后向另一个账户授予跨账户存储桶权限。有关 S3 跨账户权限的更多详细信息,请参阅此处。最后,在创建集群时,通过控制台上的“启动缓存集群向导”或 CreateCacheCluster API 指定 RDB 文件在 S3 中的位置。

问:使用“备份与还原”功能的费用是多少?

Amazon ElastiCache 为每个适用于 Redis 的 ElastiCache 活动集群免费提供一个快照的存储空间。额外存储将根据快照占用的空间收取费用,每月 0.085 USD/GB(所有区域的价格相同)。免费提供快照数据传输。

问:什么是保留期?

保留期是指保留自动快照的时间跨度。例如,如果将保留期设置为 5 天,则今天拍摄的快照将会在保留 5 天之后删除。您可以复制一个或多个自动快照并将其存储为手动快照,这样它们在保留期过后也不会被删除。

问:如何管理自动快照的保留?

您可以使用 AWS 管理控制台或 ModifyDBInstance API,通过修改 RetentionPeriod 参数来管理自动备份的保留时间。如果您希望关闭自动备份,则可以通过将保留期设置为 0 来执行这一操作(但我们不建议您这样做)。

问:如果删除适用于 Redis 的 ElastiCache 集群,我的快照会怎么样?

当您删除适用于 Redis 的 ElastiCache 集群时,您的手动快照将被保留。您还可以选择在删除集群前创建一个最后的快照。自动缓存快照不会被保留。

问:哪些缓存节点类型支持备份与还原功能?

包括 t1.micro 和 t2 系列在内的所有适用于 Redis 的 ElastiCache 实例节点类型都支持备份与还原:

最新一代缓存节点:

  • cache.m3.medium
  • cache.m3.large
  • cache.m3.xlarge
  • cache.m3.2xlarge
  • cache.m4.large
  • cache.m4.xlarge
  • cache.m4.2xlarge
  • cache.m4.4xlarge
  • cache.m4.10xlarge
  • cache.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge
  • cache.r4.large
  • cache.r4.xlarge
  • cache.r4.2xlarge
  • cache.r4.4xlarge
  • cache.r4.8xlarge
  • cache.r4.16xlarge

上一代缓存节点:

  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large
  • cache.m1.xlarge
  • cache.m2.xlarge
  • cache.m2.2xlarge
  • cache.m2.4xlarge
  • cache.c1.xlarge

问:我可以使用自己存储在 S3 中的 RDB 快照来热启动适用于 Redis 的 ElastiCache 集群吗?

可以。您可以在创建集群时,使用控制台中的“启动缓存集群向导”或 CreateCacheCluster API 指定 RDB 文件在 S3 中的位置。

问:如果我在 VPC 中运行 ElastiCache,可以使用“备份与远远”功能吗?

可以。


问:什么是“在线集群规模调整”?

适用于 Redis 的 Amazon ElastiCache 可以在正在运行的集群中添加和删除分区。您可以动态扩展或缩减 Redis 集群工作负载,以便适应需求变化。ElastiCache 可以通过添加或删除分区并在新分区中均匀地重新分布哈希槽来调整集群的规模,而集群仍然保持在线并响应请求。

问:使用“在线集群规模调整”有哪些优势?

动态扩展或缩减集群可以帮助您应对应用程序的变化,并满足不断变化的需求。您可以通过添加或删除分区来调整集群的规模,从而扩展性能和内存容量。这一功能让您无需 按照峰值需求超额配置集群,有助于提高效率并降低成本。

问:如何使用“在线集群规模调整”?

Redis 引擎版本 3.2.10 及以上版本都提供“在线集群规模调整”功能。要对集群 重新分区 ,请选择该集群,并指定您是要添加还是要删除分区。当您扩大集群规模时,ElastiCache 会添加分区并将槽从现有分区迁移到新分区,并让槽按数量均匀分布到所有分区中。同样,在缩小集群规模时,ElastiCache 会将槽迁移到剩余分区,以便让槽均匀分布并删除指定的分区。

问:在线集群规模调整需要多长时间?

调整集群规模所需的时间取决于多种因素,例如需要跨分区迁移的槽 数量 、数据规模和集群上的传入请求速率。但是,该流程针对槽的并行迁移进行了优化,可以缩短添加更多分区以便扩展集群所需的时间。

问:可以调整集群规模的同时使用该集群吗?

可以,在 重新分区 时,集群仍然保持在线并响应传入请求。但是,不支持在 重新分区 时为集群拍摄快照,以防增加集群上的负载。

问:这一操作会对集群的性能产生任何影响吗?

虽然“在线集群规模调整”提供了零停机扩展/缩减的优势,但它是一项计算密集型操作,可能会增加客户端连接的延迟。为了在操作期间减少集群上的负载,我们建议您遵循最佳实践(如文档中所述)。

问:如何跟踪在线 重新分区 操作的进度?

您可以通过查看集群、 分区 和节点的状态来跟踪该操作的进度。在该操作期间,集群、 分区 和节点将处于“正在修改”状态。同样,在分区创建、删除或参与槽迁移时,单个分区的状态会反映出相关进度。此外,还可以使用 重新分区 操作的进度指示器来追踪端到端操作的状态,该指示器可以显示已完成的百分比,并提供有关该操作剩余时间的信息。最后,在这一操作期间,事件消息也会说明正在进行的操作(分区创建、槽迁移等),从而表明进度。

问:适用于 Redis 的 ElastiCache 集群的重新平衡操作是什么?

重新平衡操作可用于在现有分区内重新分配槽,以实现均匀分布。当创建的集群中的槽是手动指定并且分布不均匀时,或者扩展/缩减操作导致集群分布不均匀时,重新平衡操作非常有用。假设各个槽具有相同的内存和 I/O 要求,按数量均匀分布槽是在不同分区中实现负载均衡的简单方法。

问:在扩展集群时,标记如何发挥作用?

在添加新节点以扩展集群时,节点会带有一组相同的标签,这些标签在所有现有节点中通用。此外,用户也可以修改所有节点上的标签,然后像以前一样继续使用标记功能。

问:要使用在线集群规模调整功能,需要对客户端或应用程序进行任何更改吗?

不需要。在集群规模调整流程中使用的增强型槽分布方式与 Redis 集群客户端行为一致,不需要对应用程序进行任何更改。ElastiCache 会保留集群终端节点,让您可以继续使用现有客户端,无需进行任何更改。

问:使用增强型 Redis 引擎的费用是多少?

使用增强型 Redis 引擎无需额外支付费用。与以往一样,您只需为使用的节点付费。

 


问:适用于 Redis 的 ElastiCache 的传输中数据加密有哪些作用?

借助传输中数据加密功能,您可以对客户端与 Redis 服务器之间以及 Redis 服务器(主节点和只读副本节点)间的通信数据进行加密。

问:适用于 Redis 的 ElastiCache 的静态数据加密有哪些作用?

借助静态数据加密功能,您可以在备份和还原过程中对数据进行加密,即加密在磁盘上以及通过 Amazon S3 备份和还原的数据。

问:如何使用传输中数据加密、静态数据加密和 Redis AUTH?

传输中数据加密、静态数据加密和 Redis AUTH 均为可选功能。在通过控制台或命令行界面创建 Redis 集群时,您可以指定是否要启用加密和 Redis AUTH,并且可以进一步提供用于与 Redis 集群通信的身份验证令牌。集群设置完毕并启用加密之后,ElastiCache 可以无缝管理证书过期和续订,无需您通过应用程序执行任何其他操作。此外,Redis 客户端需要支持 TLS 才能利用加密的传输中数据流量。

问:要使用传输中数据加密或静态数据加密功能,是否需要使用适用于 Redis 的 Amazon ElastiCache 客户端?

不需要。使用传输中数据加密需要客户端支持 TLS。大部分常用的 Redis 客户端(如 Lettuce、Predis、go-Redis)均可通过配置设置来支持 TLS。您需要确认所选的 Redis 客户端已配置为支持 TLS,然后便可以像之前一样使用适用于 Redis 的 ElastiCache。

问:我能否在现有的适用于 Redis 的 ElastiCache 集群上启用传输中数据加密和静态数据加密?

传输中数据加密和静态数据加密仅适用于新集群,在现有的适用于 Redis 的 ElastiCache 集群上不受支持。ElastiCache for Redis 版本 4.0.10 和 3.2.6 支持这些功能。

问:续订证书是否需要执行任何操作?

不需要。ElastiCache 会在后台管理证书过期和续订。持续证书维护不需要用户执行任何操作。

问:我能否使用自己的证书进行加密?

不能。ElastiCache 目前不支持用户使用自己的证书。ElastiCache 会以透明方式为您管理证书。

问:传输中数据加密和静态数据加密支持哪些实例类型?

传输中数据加密和静态数据加密功能支持最新一代的所有实例。

问:使用加密功能是否需要支付额外费用?

使用加密功能无需支付额外费用。

 


问:适用于 Redis 的 ElastiCache 支持哪些合规性计划?

适用于 Redis 的 ElastiCache 支持 SOC 1、SOC 2、SOC 3、ISO、MTCS、C5、PCI、HIPAA 和 FedRAMP 等合规性计划。请参阅“按合规性计划提供的范围内 AWS 服务”,查看受支持的合规性计划的最新列表。

问:适用于 Redis 的 Amazon ElastiCache 是否符合 PCI 的要求?

符合,AWS PCI 合规性计划已将适用于 Redis 的 Amazon ElastiCache 作为一项符合 PCI 要求的服务纳入该计划。

要了解更多信息,请参阅以下资源:

要查看将适用于 Redis 的 Amazon ElastiCache 纳入范围内的合规性计划的最新列表,请参阅 AWS 按合规性计划提供的范围内服务

问:适用于 Redis 的 Amazon ElastiCache 是否符合 HIPAA 的要求?

符合,适用于 Redis 的 Amazon ElastiCache 是一种符合 HIPAA 要求的服务,并且已被加入 AWS 商业伙伴协议 (BAA)。也就是说,您可以借助适用于 Redis 的 ElastiCache 来处理、维护和存储受保护的健康信息 (PHI) 以及为医疗保健应用程序提供支持。

问:如何才能使用符合 HIPAA 要求的适用于 Redis 的 ElastiCache?

如果您已与 AWS 签订了商业伙伴协议 (BAA),就可以使用适用于 Redis 的 ElastiCache 构建符合 HIPAA 要求的应用程序。如果您未签订 BAA,或对将 AWS 用于 HIPAA 合规应用程序有其他问题,请联系我们了解详细信息。有关如何配置符合 HIPAA 要求的 Amazon 服务来 存储 、处理和传输 PHI 的信息,请参阅 Amazon Web Services 上的 HIPAA 安全性与合规性架构设计

问:适用于 Redis 的 Amazon ElastiCache 是否获得了 FedRAMP 的授权?

AWS FedRAMP 合规性计划已将适用于 Redis 的 Amazon ElastiCache 作为一项由 FedRAMP 授权的服务纳入。现在,美国政府客户及其合作伙伴可以在 AWS GovCloud(美国)区域使用最新版本的适用于 Redis 的 ElastiCache 来处理和存储其 FedRAMP 系统、数据和关键任务型高影响级别的工作负载,还可以在 AWS 美国东部/西部区域处理和存储中等影响级别的此类工作负载。

要了解更多信息,请参阅以下资源:

要查看将适用于 Redis 的 Amazon ElastiCache 纳入范围内的合规性计划的最新列表,请参阅 AWS 按合规性计划提供的范围内服务

问:使用合规性功能是否需要支付额外费用?

不需要,使用合规性功能不需要支付额外费用。