Amazon ElastiCache 是一个全面管理的内存缓存服务,它与流行的开源项目 Redis 和 Memcached 兼容。数以万计的客户借助它实现了实时和优化成本的性能。
我们创建了 Amazon ElastiCache Serverless 以满足客户的许多共同需求,包括简化设置流程、消除容量规划和管理需求,并提供快速、自动的扩展。通过 ElastiCache Serverless,您可以通过提供一个名称,在不到一分钟的时间内创建缓存,无需复杂的容量规划或管理。使用 ElastiCache Serverless,您只需按使用量付费,费用依据缓存中的数据量及对缓存的请求。ElastiCache Serverless 会自动调整缓存的大小,以满足应用程序的性能需求,消除过度配置容量的需要。

在本文中,我们将深入探讨客户最常遇到的主题:如何在这种新的按使用量计费模型中估算 ElastiCache Serverless 的 Redis 成本,以及如何将其与其他选项进行比较。
在 ElastiCache Serverless 中,您将按两个维度计费:缓存中存储的数据和您对缓存执行的请求。
定价维度描述数据存储您将按缓存中存储的数据量以 GB小时计费。ElastiCache Serverless 会持续监控缓存中数据的数量,并每分钟多次采样,计算小时平均值来确定缓存的数据存储使用情况GB小时。每个缓存至少计费 1 GB 存储。请求您将按执行在缓存上的请求以 ElastiCache 处理单元 (ECPU) 计费。ECPU 是一个新的单位,结合了请求的 vCPU 和网络使用情况。如果您的应用程序使用简单的设置和获取SET 和 GET请求,每个单位最大传输 1 KB 数据的请求将消耗 1 ECPU。在没有请求时,您不会被计费 ECPU。要大致估算您每月的 ElastiCache Serverless 成本,假设在 ElastiCache Serverless 中缓存平均 10 GB 的数据,费用大约为 900 美元/月,运行的平均请求速率为每秒 10000 次简单的设置/获取请求,额外费用约为 90 美元/月。这些价格假设您在 useast1 区域运行,具体区域的价格可能有所不同。有关更多信息,请参见 Amazon ElastiCache 定价。
现在,我们已了解 ElastiCache Serverless 的定价模型基础,接下来来看如何估算您的工作负载的存储和 ECPU 使用量。
对于数据存储,如果您当前使用的是基于节点的 ElastiCache,您可以通过 Amazon CloudWatch 的 BytesUsedForCache 指标来获取逻辑数据集的大小。如果您使用其他兼容 Redis 的产品,可以检查 Redis 的 info 命令的输出以获取当前数据集的大小。
ECPU 的使用量将根据您的工作负载、访问的项目大小以及处理请求的计算复杂性而变化。没有单一的方式来估算 ECPU 使用量,最终最准确的估算将通过在 ElastiCache Serverless 上测试工作负载得到。如果您的工作负载包含简单的读写请求,每个请求会消耗 1 ECPU。
要估算 ElastiCache 的平均简单请求速率,请按照以下步骤操作:
打开 CloudWatch 控制台,选择 Metrics gt All metrics。搜索您要计算缓存数据大小的集群名称,并选择 ElastiCache gt Cache Cluster ID。搜索 GetTypeCmds 指标名称并选择所有节点的指标。打开 Graphed metrics 标签以查看选定指标。将统计数据设置为 Sum 并将周期设置为 1 hour。选择 Add math gt Common gt Sum 生成一个新指标,计算所有节点的总请求速率。ElastiCache 提供两种部署选项:无服务器缓存和自定义集群。如果您正在为新工作负载创建缓存,或应用程序流量不可预测,建议选择无服务器缓存。如果您已经在运行 ElastiCache Serverless,并希望对节点类型、节点数量等有更精细的控制,您可以选择自定义集群。
下面将比较两种不同类型工作负载的成本。
示例1:新应用中缓存的启动与流量波动假设您正在构建一个需要缓存以提供快速数据访问的应用程序,预计此应用程序通常缓存 10 GB 的数据,并在高峰时段增长至 50 GB。您的应用程序使用 Redis 的 SET 和 GET 命令来读写 500 字节的对象,您估计平均请求率为每秒 10000 次,并在高峰时达到每秒 100000 次。
无服务器选项
您的总费用计算如下:
数据存储费用:平均数据存储使用 = ((10 GB 22 hours) (50 GB 2 hours))/24 = 133 GBhours;ECPU费用:因工作负载由 Redis SET 和 GET 请求组成,每个请求消耗 1 ECPU;总计:约为每小时 188 美元。自定义节点选项
您可以使用 r7gxlarge 节点设计集群,以满足峰值需求。您需配置三块,每块提供 1974 GB 的可用存储,使用两个节点以确保高可用性。
总结:通过上面的计算,ElastiCache Serverless 提供了一种更简单、成本更低的方式来支持波动工作负载。
示例2:稳态工作负载的缓存部署您正在为单个医疗服务提供者构建一个实时用户体验的医疗应用,预计平均缓存数据集大小为 20 GB,偶尔增长至 25 GB。
无服务器选项
您的总费用计算如下: 数据存储费用:每小时 20 GBhours; ECPU费用:平均每小时 012 美元; 总计:约为每小时 262 美元。
自定义节点选项
使用 r7glarge 节点设计集群,保证运行稳定。
加速器ios免费使用总结:在流量波动小的情况下,自定义集群提供了更具成本效益的缓存解决方案。
开始使用 ElastiCache Serverless 时,您可能希望估算缓存成本。本文演示了如何在考虑将 Redis 工作负载迁移到 ElastiCache Serverless 时进行成本估算。Serverless 是您应用中获取缓存的最简单方法。通过访问 ElastiCache 控制台,开始您的使用。如果您对 ElastiCache Serverless 有任何疑问或反馈,请通过电子邮件与我们联系 elasticachehelp@amazoncom。
Abhay Saxena 是亚马逊网络服务 (AWS) 内存数据库团队的产品经理,负责 Amazon MemoryDB for Redis。他与 AWS 客户合作,以识别客户在使用内存数据库时可能受益于超快性能的需求。加入 MemoryDB 团队之前,他在亚马逊担任产品经理超过 13 年。