什么是 Amazon ElastiCache for Redis? - Amazon ElastiCache for Redis
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

什么是 Amazon ElastiCache for Redis?

欢迎使用 Amazon ElastiCache for Redis 用户指南。Amazon ElastiCache 是一种 Web 服务,可让用户在云中轻松设置、管理和扩展分布式内存数据存储或缓存环境。它可以提供高性能、可扩展且具有成本效益的缓存解决方案。同时,它可以帮助消除与部署和管理分布式缓存环境相关的复杂性。

注意

Amazon ElastiCache 使用 Redis 和 Memcached 引擎。使用您感兴趣的引擎的指南。如果您不确定要使用哪个引擎,请参阅本指南中的比较 Memcached 和 Redis

ElastiCache for Redis 概览

现有的使用 Redis 的应用程序可以几乎不进行任何修改就使用 ElastiCache。您的应用程序只需要您已部署的 ElastiCache 节点的主机名和端口号的相关信息。

ElastiCache for Redis 具有多种功能,可帮助提高服务对关键生产部署的可靠性:

  • 自动检测和恢复缓存节点故障。

  • 在支持复制的 Redis 集群中,主集群故障转移到只读副本的多可用区。

  • Redis(已启用集群模式)支持跨多达 500 个分区对数据进行分区。

  • 对于 Redis 3.2 及更高版本,所有版本都支持传输中加密和使用身份验证的静态加密。此支持可帮助您构建符合 HIPAA 要求的应用程序。

  • 在可用区中灵活放置节点和集群,以提高容错能力。

  • 与其他 Amazon 服务集成,例如 Amazon EC2、Amazon CloudWatch、Amazon CloudTrail 和 Amazon SNS。此集成有助于提供高性能和高安全性的托管式内存中的缓存解决方案。

  • ElastiCache for Redis 可以管理备份、软件修补、自动故障检测和恢复。

  • 您可以在需要时执行自动备份,也可以手动创建您自己的备份快照。您可以使用这些备份还原集群。ElastiCache for Redis 还原过程可靠且高效。

  • 您可以通过主实例和在发生问题时可向其执行故障转移操作的同步辅助实例实现高可用性。您还可以使用只读副本扩展读取。

  • 您可以使用 Amazon Identity and Access Management 来定义用户和权限,以此控制对 ElastiCache for Redis 集群的访问。您还可以将数据库置于 Virtual Private Cloud (VPC) 中,这样有助于保护集群。

  • 使用 Global Datastore for Redis 功能,您可以跨 Amazon 区域执行快速、可靠和安全的完全托管式复制。使用此功能,您可以创建 ElastiCache for Redis 的跨区域只读副本集群,以跨 Amazon 区域启用低延迟读取和灾难恢复。

  • 借助数据分层功能,除可在内存中存储数据外,还可以在每个集群节点中使用成本更低的固态硬盘 (SSD),从而为 Redis 工作负载提供高性价比的选择。它非常适合经常访问的数据不超过总体数据集的 20% 的工作负载,以及能够容忍访问 SSD 中数据时所出现的额外延迟的应用程序。有关更多信息,请参阅 数据分层

集群

ElastiCache for Redis 的基本构建块是集群。集群是一个或多个缓存节点的集合,其中所有节点都运行 Redis 缓存引擎软件的实例。创建集群时,您需要指定所有节点将使用的引擎和版本。ElastiCache for Redis 实例设计为通过 Amazon EC2 实例对其进行访问。您可以使用 Amazon CLI、ElastiCache for Redis API 或 Amazon Web Services Management Console 创建和修改集群。

每个的 ElastiCache for Redis 集群都会运行一个 Redis 引擎版本。每个 Redis 引擎版本都有其自身支持的功能。此外,每个 Redis 引擎版本在参数组中均有一组参数,用于控制其管理的集群的行为。

集群的计算和内存容量由实例、节点或类决定。您可以选择最能满足您需求的节点类型。如果一段时间后您的需求出现了变化,可以更改节点类型。有关信息,请参阅支持的节点类型

在考虑节点类型需求时,您也可以利用数据分层。数据分层功能通过将一些使用频率极低的数据存储在磁盘上,从而减轻内存限制的影响,非常适合能够容忍访问 SSD(固态硬盘)中数据时的额外延迟的应用程序。

注意

有关 ElastiCache 实例类的定价信息,请参阅 Amazon ElastiCache 定价

集群节点存储有两种类型:标准和内存优化。它们的性能特点和价格不同,您可根据需求定制您所需的存储性能并相应地支付费用。每个实例都具有最小和最大存储要求,具体取决于存储类型。重要的是要有足够的存储空间,这样集群才有增长的空间。此外,足够的存储空间可确保功能有空间写入内容或记录日志条目。

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 服务,在 Virtual Private Cloud (VPC) 上运行集群。使用 VPC 时,您的虚拟联网环境完全由您控制。您可以选择自己的 IP 地址范围、创建子网以及配置路由和访问控制列表。ElastiCache 可以管理备份、软件修补、自动故障检测和恢复。在 VPC 中运行集群不会产生额外费用。有关通过 ElastiCache for Redis 使用 Amazon VPC 的更多信息,请参阅 Amazon VPC 和 ElastiCache 安全性

Amazon区域和可用区

Amazon 云计算资源安置在世界不同地区 (例如:北美、欧洲或亚洲) 的高度可用的数据中心设施内。每个数据中心位置称为一个 Amazon 区域。

每个 Amazon 区域包含很多称为可用区或 AZ 的不同位置。每个可用区设计为可隔离其他可用区的故障。每个可用区都设计为向同一 Amazon 区域中的其他可用区提供低成本、低延迟的网络连接。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。有关更多信息,请参阅选择区域和可用区。您可以在多个可用区创建集群,此选项称为多可用区部署。当您选择此选项时,Amazon 会自动在不同的可用区预置和维护辅助备用节点实例。主节点实例可以跨可用区异步复制到辅助实例。此方法帮助提供数据冗余和故障转移支持,消除 I/O 冻结,并在系统备份期间将延迟峰值降至最小。有关更多信息,请参阅通过多可用区最大程度地减少 ElastiCache for Redis 中的停机时间

Security

安全组控制对集群的访问。通过允许访问 IP 地址范围或您指定的 Amazon EC2 实例,可实现此控制。有关安全组的更多信息,请参阅 ElastiCache for Redis 中的安全

监控 ElastiCache for Redis 集群

您可使用多种方法对 ElastiCache for Redis 集群性能和运行状况进行跟踪。您可以使用 CloudWatch 服务监控集群的性能和运行状况。CloudWatch 的性能图表显示在 ElastiCache for Redis 控制台中。您还可以订阅 ElastiCache for Redis 事件,以便在集群、快照、参数组或者安全组发生更改时收取通知。有关更多信息,请参阅使用 CloudWatch 指标监控使用情况