Amazon ElastiCache 功能

为什么选择 Amazon ElastiCache?

Amazon ElastiCache 是一项完全托管且兼容 Redis OSSMemcached 的服务,可为现代应用程序提供实时、成本优化的性能和高达 99.99% 的可用性。ElastiCache 非常适合高性能用例,例如数据缓存、Web、移动应用程序、医疗应用程序、金融应用程序、游戏、广告技术、物联网、媒体流、会话存储、排行榜、机器学习(ML)和基于微服务的应用程序。请参阅我们的 Amazon ElastiCache 使用案例,了解 ElastiCache 可以如何提供帮助。

ElastiCache 可以提升数据库和应用程序的性能,以微秒级的响应时间扩展到每天数万亿个请求。与开源替代方案相比,优势包括增强的安全性、可靠性、可扩展性和性能。该服务还可以为读取密集型工作负载节省成本,并为内存密集型工作负载提供数据分层等成本优化功能。详细了解以下 ElastiCache 功能和优点。

无服务器

使用 Amazon ElastiCache Serverless,您可以在一分钟内创建高度可用的缓存,而无需进行基础设施预置或配置。通过在 AWS 管理控制台、AWS 软件开发工具包(AWS SDK)或 AWS 命令行界面(AWS CLI)中指定缓存名称,您只需几个步骤即可创建 ElastiCache 无服务器缓存。

观看 Amazon ElastiCache 无服务器简介,获得大致了解。

ElastiCache Serverless 通过持续监控缓存的计算、内存和网络利用率并即时进行垂直和水平扩展以满足需求,无需复杂、耗时的容量规划过程。

使用按使用量付费的计费模式时,您不必担心在缩减工作负载后,ElastiCache Serverless 缩减容量的速度快慢。您只需为存储的数据和应用程序使用的计算付费。访问 ElastiCache 定价页面了解更多信息。

易于使用

凭借 ElastiCache Serverless,您可以使用控制台、AWS CLI 或 AWS SDK 在一分钟内创建新的无服务器缓存,而无需管理基础设施或容量。如果您设计自己的集群,则资源已预配置相应的参数和设置,且缓存参数组可对您的环境启用精确控制和微调功能。

请参阅我们的文档,了解如何快速完成 ElastiCache 入门

ElastiCache 是一项完全托管的服务。我们可自动执行耗时的管理任务(例如容量规划、软件修补管理、故障检测和恢复),从而让您能够专注于价值更高的应用程序开发工作。您可以通过内置方式访问底层内存数据库环境,从而直接将 ElastiCache 与现有的 Redis OSS 和 Memcached 工具和应用程序一起使用。使用 ElastiCache Serverless 时,所有次要版本更新、性能增强和安全补丁均可自动应用,无需配置,也不会中断应用程序。

您可以通过控制台使用 Amazon Relational Database Service(Amazon RDS)和 Amazon Aurora 来创建 ElastiCache 集群并将其附加到您的关系数据库。这样便可通过更快的读取来提高应用程序性能,同时降低成本。详细了解如何在 Amazon RDSAurora 中创建和附加 ElastiCache 集群

Amazon CloudWatch 指标提供对 ElastiCache 资源的见解,且无需额外付费。您可以使用控制台查看有关您的实例的 40 多个关键运营指标,包括计算、已用内存、缓存命中率、有效连接、复制和命令。要了解有关监控缓存集群的更多信息,请参阅我们有关监控 ElastiCache 的 CloudWatch 指标的文档。

ElastiCache 会发布有关重大事件的消息。ElastiCache Serverless 事件(包括新的缓存创建、删除和缓存配置更新)将发送到 Amazon EventBridge。使用自行设计的缓存群集时,ElastiCache 会向 Amazon Simple Notification Service(Amazon SNS)发送事件。

能够标记您的 ElastiCache 资源和快照以用于跟踪和计费而从中获益。您可以使用 AWS Cost Explorer 成本管理服务将费用归于资源和资源组,以创建和维护共享一组通用标签的资源集合。要了解有关标记 ElastiCache 资源的更多信息,请参阅有关 ElastiCache 标记的文档。

除 Redis OSS 中包含的数据结构以外,ElastiCache 还为 JSON 文档提供内置支持。您只需使用专为 JSON 文档而设计和优化的内置命令进行应用程序开发。ElastiCache 支持部分 JSON 文档更新,以及使用 JSONPath 查询语言执行的强大搜索和筛选功能。使用 ElastiCache(Redis OSS)版本 6.2 及更高版本时,可以使用 JSON 支持。

性能和可扩展性

ElastiCache 无需访问基于磁盘的数据库来获取经常访问的数据,这可帮助提高应用程序性能并提高读取密集型工作负载的吞吐量。ElastiCache 可以扩展到每秒数百万次操作,实现微秒级响应时间。

使用多可用区或无服务器配置时,ElastiCache 可提供 99.99% 服务水平协议(SLA)。ElastiCache 无服务器可自动跨多个可用区冗余存储数据,无需用户配置。设计自己的缓存集群时,您可以通过在多个可用区中创建副本,利用多个 AWS 可用区来实现高可用性并扩展读取流量。在主节点丢失的情况下,AWS 将自动检测故障并失效转移到只读副本,从而在无需人工干预的情况下提供更高的可用性。阅读有关如何使用复制组实现高可用性以及在具有多可用区的 ElastiCache 中最大限度地减少停机时间的更多信息。

ElastiCache Serverless 可自动弹性扩展以满足应用程序性能需求。ElastiCache Serverless 持续监控您的应用程序在缓存上使用的内存、计算和网络带宽。它使缓存能够就地纵向扩展,同时还可以并行向外扩展,以确保缓存能够支持应用程序的流量需求。详细了解如何扩展 ElastiCache 集群

设计自己的缓存时,ElastiCache 自动扩缩使您能够自动增加或减少所需的分片数或副本数,从而以尽可能低的成本保持稳定、可预测的性能。ElastiCache 使用 AWS Auto Scaling 来管理扩缩,并使用 CloudWatch 指标来确定纵向扩展和缩减的时机。

可用性和可靠性

使用多可用区或无服务器配置时,ElastiCache 可提供 99.99% 服务水平协议(SLA)。ElastiCache 无服务器可自动跨多个可用区冗余存储数据,无需用户配置。设计自己的缓存集群时,您可以通过在多个可用区中创建副本,利用多个 AWS 可用区来实现高可用性并扩展读取流量。在主节点丢失的情况下,AWS 将自动检测故障并失效转移到只读副本,从而在无需人工干预的情况下提供更高的可用性。阅读有关如何使用复制组实现高可用性以及在具有多可用区的 ElastiCache 中最大限度地减少停机时间的更多信息。

ElastiCache 中的全球数据存储提供了快速、可靠、安全的跨 AWS 区域复制。借助全球数据存储,您可以在一个区域写入 ElastiCache 集群,同时可在其他两个跨区域副本集群中读取数据,实现跨 AWS 区域的低延迟读取和灾难恢复。在发生可能性较小的区域降级的情况下,可以将其中一个运行良好的跨区域副本集群升级为具有完全读写能力的主集群。 

ElastiCache 持续监控实例的运行状况。如果节点遇到故障或其性能长时间下降,ElastiCache 将自动重启或替换该节点以及相关进程。

通过创建集群快照,ElastiCache 可帮助保护您的数据。您只需在控制台上执行几个步骤或通过简单的 API 调用,即可设置自动化快照或启动手动备份。您可以使用这些快照或在 Amazon Simple Storage Service(Amazon S3)上存储的任何与 Redis OSS RDB 兼容的快照,然后传播新的 ElastiCache 集群。

您还可以将快照导出到您选择的 Amazon S3 桶中,用于灾难恢复、分析或跨区域备份和还原。阅读有关 ElastiCache 备份和还原的更多信息,以保护您的数据。

安全性与合规性

使用 ElastiCache,您可在 Amazon Virtual Private Cloud(Amazon VPC)中运行您的资源。使用 Amazon VPC,您可以通过指定您希望用于节点的 IP 地址范围来隔离 ElastiCache 资源,以及连接同一个 Amazon VPC 内的其他应用程序。您还可以使用该服务配置防火墙设置,以便控制对资源的网络访问。阅读有关 Amazon VPC 和 ElastiCache 安全性的更多信息。

ElastiCache 支持传输中加密,这使您能够加密客户端与 ElastiCache 服务器之间以及在 ElastiCache 服务边界内的所有通信。ElastiCache 还支持静态数据加密,您可以对磁盘上使用的数据以及 Amazon S3 中的备份进行加密。了解有关加密和 ElastiCache 数据安全的更多信息。ElastiCache 无服务器始终使用 TLS 对静态和传输中的数据进行加密。 

此外,ElastiCache 还提供 AWS Key Management Service(AWS KMS)集成,允许您使用自己的 AWS KMS 密钥进行加密。另外,您还可以使用 Redis OSS AUTH 命令增加另一层身份验证。您无需管理证书的生命周期,因为 ElastiCache 会自动管理证书的颁发、续订和过期。

ElastiCache 支持使用 IAM 身份、Redis OSS AUTH 和基于角色的访问控制(RBAC)进行 AWS Identity and Access Management(IAM)身份验证。

通过 IAM 身份验证,您可以使用 IAM 身份验证与 ElastiCache 的连接,以增强您的安全模型并简化许多管理安全任务。 Redis OSS 身份验证令牌或密码使 Redis OSS 在允许客户端运行命令之前要求输入密码,从而提高数据安全性。

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

经济高效

使用 ElastiCache,您只需为消耗的资源付费,无需预付费用或长期承诺。 根据设计您自己的集群时选择的节点数量、节点类型和定价模型,您需要为 ElastiCache Serverless 存储的数据和消耗的计算按小时付费。 访问 ElastiCache 定价页面了解更多信息。

您可以使用 ElastiCache 通过内存缓存来优化关系数据库成本。将 ElastiCache 与 Amazon RDS for MySQL 结合使用(与单独使用 Amazon RDS for MySQL 相比),可节省高达 55% 的成本,并将读取性能提高多达 80 倍。

您可以使用 ElastiCache 的数据分层作为一种成本较低的方式,将集群扩展到数百 TB 的容量。数据分层提供了一个具有性价比的选项,除了在内存中存储数据外,还可以在每个集群节点中使用成本较低的 SSD。

它非常适合于定期访问 20% 以内总体数据集的工作负载,以及在 SSD 上访问数据时能够容忍额外延迟的应用程序。在基于 AWS Graviton2 的 R6gd 节点上使用 ElastiCache(Redis OSS)版本 6.2 及更高版本时,可以使用 ElastiCache 数据分层。与 R6g 节点(仅内存)相比,R6gd 节点的总容量(内存 + SSD)增加了近 5 倍,可以帮助您在最大利用率下实现 60% 以上的节省。

当您承诺使用一年或三年期限时,ElastiCache 预留节点可为您提供可观的按需使用折扣。通过预留节点,您可以选择无预付款、部分预付款或全部预付款来创建在特定区域运行节点的预留。这些预留以一年或三年的增量提供,在持续每小时使用费率的基础上可享受大幅折扣。ElastiCache 预留节点在节点系列和 AWS 区域内提供大小灵活性。这意味着折扣后的预留节点费率将自动应用于同一节点系列中的各种大小的使用量。 阅读有关 ElastiCache 预留节点的更多信息。

常见问题

ElastiCache 是一种 Web 服务,让用户能够在中轻松部署和运行与 Redis OSS 或 Memcached 协议兼容的服务器节点。ElastiCache 支持您从速度快的完全托管型内存系统检索信息,而不是完全依赖于速度较慢、基于磁盘的系统,从而提高了 Web 应用程序的性能。

ElastiCache 可简化并减少内存环境的管理、监控和运营任务,让您的工程资源专注于开发应用程序。借助 ElastiCache,您可以缩短用户操作和查询的加载与响应时间,降低扩展 Web 应用程序相关的费用。

符合。ElastiCache Serverless 允许客户在一分钟内添加缓存,并根据应用程序流量模式即时扩展容量。您可以通过使用 AWS 管理控制台、AWS SDK 或 AWS CLI 指定缓存名称来轻松开始使用。访问我们的 ElastiCache 文档以了解更多信息。

ElastiCache 可以完全托管并自动化执行运营分布式内存键值环境所需的常见管理任务。

使用 ElastiCache Serverless,您可以在一分钟内创建高度可用且可扩展的缓存,无需预置、规划和管理缓存集群容量。ElastiCache 无服务器自动跨三个可用区冗余存储数据,并提供 99.99% 可用性的服务水平协议(SLA)。通过与 CloudWatch 监控功能集成,ElastiCache 可以加强缓存资源相关的关键性能指标的可见性。

ElastiCache 与 Redis OSS 和 Memcached 协议兼容,因此,您在现有 Redis OSS 或 Memcached 环境中使用的代码、应用程序和常用工具可以与该服务无缝协作。借助 ElastiCache 对集群配置的支持,您可以使用快速、可扩展且易于使用的托管型服务,满足您的要求很高的应用程序的要求。使用 ElastiCache,您只需按使用量付费,没有最低费用、前期成本或长期承诺。

内存缓存通过将经常访问的数据项存储在内存中来提高应用程序性能,因此后续读取速度比从可能默认为基于磁盘的存储的主数据库读取要快得多。使用 ElastiCache 内存缓存可以显著改进很多高读取量的应用程序工作负载(例如社交网络、游戏、媒体共享和 Q&A 门户)或计算密集型工作负载(例如建议引擎)的延迟和吞吐量。

内存缓存可将重要数据存储在内存中以实现低延迟访问,从而提高应用程序性能。缓存信息可能包括 I/O 密集型数据库查询的结果或计算密集型计算的结果。