开始免费使用 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 2.6.13、2.8.6、2.8.19、2.8.21、2.8.22、2.8.23、2.8.24、3.2.4、3.2.6 和 3.2.10。

问:适用于 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 安装。一个复制组只有一个主集群和零个或很多个只读副本集群。复制组(以及随之产生的集群)内所有节点的类型都相同,且其参数和安全组设置也相同。

问:Amazon ElastiCache for Redis 是否支持 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,从而使您可以继续使用主终端节点,并在提升后指向新提升的主节点。有关更多详细信息,请参阅此常见问题的“Multi-AZ”部分。在禁用多可用区的情况下选择 Redis 复制选项时,如果主节点发生故障,您可以选择启动故障转移到只读副本节点。故障转移目标可以在同一个区域或另一个区域中。为了使故障恢复到原区域,将原区域中的只读副本提升为主节点。您可以选择架构您的应用程序,从而使 Redis 客户端库重新连接到已修复的 Redis 服务器节点。由于有些 Redis 库会在遇到通信错误或超时时无限期停止使用服务器,所有这一点很有用。

问:故障转移如何工作?

关于启用了多可用区的复制组,常见问题的“Multi-AZ”部分对此故障转移行为进行了描述。

如果您选择不启用多可用区,则如果 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 控制台上,您可以选择一个缓存集群或复制组,然后单击“Modify”。在“Modify Cache Cluster”或“Modify Replication Group”窗口中,从可用选项中选择首选引擎版本。引擎升级流程旨在尽最大努力保留您的现有数据,并且需要 Redis 复制才能成功。有关更多详细信息,请参阅此处

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

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

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

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

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

目前不支持迁移至较小的节点类型。


问:以只读副本方式运行 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 管理控制台中的“Launch Cache Cluster”向导并选择“多可用区复制”在数分钟内创建一个新的缓存集群和只读副本。创建复制组时,为该复制组指定一个标识符,指定该复制组所需集群的总数以及缓存节点类型、缓存引擎版本等缓存创建参数。您还可以为该复制组中的每个集群指定可用区。

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

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

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

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

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

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

问:是否可以为另一个只读副本创建只读副本?

不支持为另一只读副本创建只读副本。

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

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

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

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

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

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

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

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

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

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 管理控制台上的“Launch Cache Cluster”来创建 Redis 的 ElastiCache 之主节点和只读副本。您还可以通过调用 CreateReplicationGroup API 来执行此操作。对于现有的复制组(Redis 2.8.6、2.8.19、2.8.21、2.8.22、2.8.23 和 2.8.24),您可以通过选择复制组并单击 ElastiCache 管理控制台上的“Modify”按钮或使用 ModifyReplicationGroup API 来启用多可用区。将复制组切换为多可用区不会破坏您的 Redis 数据,并且不会干扰您的节点提供请求的能力。

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

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

问:使用多可用区如何收费?

多可用区功能是免费的。您只需为您所使用的 ElastiCache 节点付费。

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

ElastiCache 目前使用 Redis 引擎的本地异步复制,并受其优势和局限性的影响。尤其是当只读副本首次连接主节点时,或主节点发生更改时,只读副本会从主节点中完整同步数据,从而对其自身和主节点施加负载。有关 Redis 复制的更多详细信息,请查看此处

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

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

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

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

问:故障转移后,我的主节点当前与其它 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 服务的所有地区均适用。

问:我可以将 ElastiCache for Redis 快照导出到我的 S3 存储桶中吗?

可以。您可以将您的 ElastiCache for Redis 快照导出到您的群集所在区域内的授权 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.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge

上一代缓存节点:

  • 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 群集上不受支持。适用于 Redis 的 ElastiCache 3.2.6 版是支持这些功能的第一个版本。

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

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

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

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

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

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

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

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

 


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

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

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

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

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

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

问:使用合规性功能是否会产生额外费用?

否,使用合规性功能不会产生任何额外费用。