Amazon ElastiCache
用户指南 (API Version 2015-02-02)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

确定您的要求 [每次]

在创建群集或复制组之前,您始终应先确定群集的要求,这样创建的群集或复制组才能满足您的业务需求,而不需要返工。

内存和处理器要求

Amazon ElastiCache 的基本构建基块是节点。配置单个节点,或成组配置节点以形成群集。在确定用于群集的节点类型时,请考虑群集的节点配置以及必须存储的数据量。

Memcached 引擎是多线程的,因此节点的内核数会影响可供群集使用的计算能力。而 Redis 引擎为单一线程,因此,节点的内核数无关紧要。

Memcached 群集配置

Memcached 群集包含 1 到 20 个节点。Memcached 群集中的数据在群集中所有节点间分区。您的应用程序使用称为终端节点的网络地址与 Memcached 群集连接。Memcached 群集中的每个节点都具有自己的终端节点,应用程序可以使用它来对特定节点进行读取或写入。除了节点终端之外,Memcached 群集自身还有一个名为配置终端节点 的终端节点,您的应用程序可以使用它对群集进行读取和写入,具体从哪个节点读取或写入由 Automatic Discovery 来决定。

Redis 群集配置

用于 Redis 的 Amazon ElastiCache 群集提供多种节点配置。运行 ElastiCache for Redis 引擎时有三种节点配置。您的应用程序使用称为终端节点的网络地址与 ElastiCache for Redis 群集连接。根据您的 ElastiCache for Redis 群集配置,使用终端节点的方式会有所不同。

  • 单节点

    最简单的配置是单节点群集。单节点 Redis 群集中的节点必须有足够内存来容纳所有内存中数据以及开销。由于不在多个节点之间复制数据,因此单节点 Redis 群集不提供高可用性。

  • 单分片多节点

    单分片配置将最多 6 个节点组合到单个群集中,一个读/写主节点和最多 5 个只读副本节点。与单节点配置相似,每个节点必须能够容纳所有内存中数据以及开销。具有一个或多个副本节点的配置通过在分片中的所有节点间复制内存中数据来提供高可用性。因此,如果一个节点发生故障,您仍然在一个或多个副本节点中有数据。

  • 多分片多节点

    多分片配置最多可在群集中的 20 个分片内对数据分区。每个分片有一个读/写主节点和最多 5 个只读副本节点。由于您的内存中数据在多个分片间分区,因此分片中的每个节点只需具有足够内存来容纳该分片的内存中数据部分的副本以及开销。具有一个或多个副本节点的分片配置通过在分片中的所有节点间复制内存中数据来提供高可用性。因此,如果一个节点发生故障,您仍然在一个或多个副本节点中拥有该分片的数据。

有关更多信息,请参阅本指南中的 选择节点大小

扩展要求

通过创建具有更大的新节点类型的新群集,可以对所有群集进行扩展。在扩展 Memcached 群集时,新群集最初为空。在扩展 Redis 群集时,可使用旧群集中的数据为新群集创建种子,以便在开始使用新群集时,新群集已填充数据。

Memcached 和 Redis 多分片群集可以扩展或收缩。要扩展或收缩 Memcached 群集,您只需在群集中添加或删除节点即可。如果已启用 Automatic Discovery 并且您的应用程序已连接到群集的配置终端节点,则在添加或删除节点时不需要在应用程序中进行任何更改。

要扩展 Redis 多分片群集,可从群集中添加或删除分片。如果您的应用程序已连接到群集的配置终端节点,则在添加或删除分片时不需要在应用程序中进行任何更改。

有关更多信息,请参阅本指南中的 扩展

故障转移要求

根据群集数据对业务的重要性,您可能需要在群集中启用自动故障转移。启用自动故障转移后,如果 Redis 主节点由于任何原因失败,则会将分片的其中一个只读副本节点提升为主节点。如果未启用自动故障转移并且主节点出现故障,ElastiCache for Redis 将启动新节点来充当主节点。此操作比故障转移至副本节点费时得多。

自动故障转移仅在运行 Redis 引擎且具有多个节点的群集中可用。

有关更多信息,请参阅本指南中的 复制:具有自动故障转移功能的多可用区 (Redis)

访问要求

根据设计,Amazon ElastiCache 可通过 Amazon EC2 实例来访问。对 ElastiCache 群集的网络访问限制为创建该群集的用户账户。因此,必须先授权 Amazon EC2 实例访问群集,然后您才能从 Amazon EC2 实例访问群集。执行此操作的步骤会有所变化,具体取决于启动到 EC2-VPC 还是 EC2-Classic。

如果您已将群集启动到 EC2-VPC,则需向群集授予网络入口。如果将群集启动到 EC2-Classi 中,则需将与实例访问关联的 Amazon Elastic Compute Cloud 安全组授予 ElastiCache 安全组。有关详细说明,请参阅本指南中的 第 4 步:授权访问

区域和可用区要求

Amazon ElastiCache 支持所有 AWS 区域。通过将 ElastiCache 群集放置在接近应用程序的区域可以降低延迟。如果群集有多个节点,将节点放置在不同的可用区可减少故障对群集的影响。

有关更多信息,请参阅: