

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 确定您的 ElastiCache 集群需求
<a name="cluster-create-determine-requirements"></a>

**准备**  
了解以下问题的答案有助于更顺利地创建 ElastiCache 集群：
+ 您需要哪种节点实例类型？

  有关选择实例节点类型的指导信息，请参阅[选择节点大小](CacheNodes.SelectSize.md)。
+ 您是否会在基于 Amazon VPC 的 Virtual Private Cloud (VPC) 中启动集群？ 
**重要**  
如果您打算在 VPC 中启动集群，则需要先在相同 VPC 中创建子网组，然后再开始创建集群。有关更多信息，请参阅 [子网和子网组](SubnetGroups.md)。  
ElastiCache 旨在使用 Amazon EC2 从 AWS 内部进行访问。但是，如果根据 Amazon VPC 在 VPC 中启动且集群位于 VPC 中，则可以提供从 AWS 外部进行访问的权限。有关更多信息，请参阅 [从外部访问 ElastiCache 资源AWS](accessing-elasticache.md#access-from-outside-aws)。
+ 您是否需要自定义任何参数值？

  如果这样做，请创建自定义参数组。有关更多信息，请参阅 [创建 ElastiCache 参数组](ParameterGroups.Creating.md)。

   如果您正在运行 Valkey 或 Redis OSS，请考虑设置 `reserved-memory` 或 `reserved-memory-percent`。有关更多信息，请参阅 [管理 Valkey 和 Redis OSS 的预留内存](redis-memory-management.md)。
+ 您是否需要创建自己的 *VPC 安全组*？ 

  有关更多信息，请参阅[您的 VPC 的安全性](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Security.html)。
+ 您想如何实现容错？

  有关更多信息，请参阅 [缓解故障](disaster-recovery-resiliency.md#FaultTolerance)。

**Topics**
+ [ElastiCache 内存和处理器要求](#cluster-create-determine-requirements-memory)
+ [Memcached 集群配置](#memcached-cluster-configuration)
+ [Valkey 和 Redis OSS 集群配置](#redis-cluster-configuration)
+ [ElastiCache 扩展要求](#cluster-create-determine-requirements-scaling)
+ [ElastiCache 访问要求](#cluster-create-determine-requirements-access)
+ [ElastiCache 的区域、可用区和 Local Zones 要求](#cluster-create-determine-requirements-region)

## ElastiCache 内存和处理器要求
<a name="cluster-create-determine-requirements-memory"></a>

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

Memcached 引擎是多线程的，因此节点的内核数会影响可供集群使用的计算能力。

## Memcached 集群配置
<a name="memcached-cluster-configuration"></a>

ElastiCache for Memcached 集群由 1 到 60 个节点组成。Memcached 集群中的数据在集群中的节点间分区。您的应用程序使用称为终端节点的网络地址与 Memcached 集群连接。Memcached 集群中的每个节点都具有自己的终端节点，应用程序可以使用它来对特定节点进行读取或写入。除了节点终端节点外，Memcached 集群本身还具有一个称为*配置终端节点*的终端节点。您的应用程序可以使用此端点来读取或写入集群，从而由自动发现决定要读取或写入的节点。

![\[图片：显示 Memcached 集群在集群各节点之间如何分区。\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/images/ElastiCache-Cluster-Memcached.png)


有关更多信息，请参阅 [在 ElastiCache 中管理集群](Clusters.md)。

## Valkey 和 Redis OSS 集群配置
<a name="redis-cluster-configuration"></a>

ElastiCache for Valkey and Redis OSS 集群由 0 到 500 个分片（也称为节点组）组成。Valkey 或 Redis OSS 集群中的数据在集群的分片间分区。您的应用程序使用称为端点的网络地址与 Valkey 或 Redis OSS 集群连接。Valkey 或 Redis OSS 分片中的节点执行以下两个角色之一：一个读取/写入主节点以及所有其他辅助只读节点（也称为只读副本）。除了节点端点外，Valkey 或 Redis OSS 集群本身还具有一个称为*配置端点*的端点。您的应用程序可以使用此端点来读取或写入集群，从而由 ElastiCache for Redis OSS 决定要读取或写入的节点。

![\[图片：比较禁用集群模式与启用集群模式下的 Valkey 或 Redis OSS 集群。\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-Redis-ClustersRGs.png)


有关更多信息，请参阅 [在 ElastiCache 中管理集群](Clusters.md)。

## ElastiCache 扩展要求
<a name="cluster-create-determine-requirements-scaling"></a>

通过创建具有更大的新节点类型的新集群，可以对所有集群进行扩展。在纵向扩展 Memcached 集群时，新集群最初为空。纵向扩展 Redis 集群时，您可以从备份中为集群制作种子，避免新集群启动时为空。

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

有关更多信息，请参阅本指南中的[缩放 ElastiCache](Scaling.md)。

## ElastiCache 访问要求
<a name="cluster-create-determine-requirements-access"></a>

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

如果您已将集群启动到 EC2-VPC，则需向集群授予网络入口。如果将集群启动到 EC2-Classic 中，则需将与实例访问关联的 Amazon Elastic Compute Cloud 安全组授予 ElastiCache 安全组。有关详细说明，请参阅本指南中的 [步骤 3：授予对集群的访问权限](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.AuthorizeAccess.valkey)。

## ElastiCache 的区域、可用区和 Local Zones 要求
<a name="cluster-create-determine-requirements-region"></a>

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

有关更多信息，请参阅下列内容：
+ [为 ElastiCache 选择区域和可用区](RegionsAndAZs.md)
+ [将 Local Zones 与 ElastiCache 结合使用](Local_zones.md)
+ [缓解故障](disaster-recovery-resiliency.md#FaultTolerance)