

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

# 创建 Valkey 或 Redis OSS 集群
<a name="Clusters.Create"></a>

以下示例展示了如何使用AWS 管理控制台、AWS CLI和 ElastiCache API 创建 Valkey 或 Redis OSS 集群。

## 创建 Valkey 或 Redis OSS 集群（已禁用集群模式）集群（控制台）
<a name="Clusters.Create.CON.Redis"></a>

ElastiCache 当你使用 Valkey 或 Redis OSS 引擎时，支持复制。要监控数据写入 Valkey 或 Redis OSS read/write 主集群与数据传播到只读辅助集群之间的延迟，请向集群 ElastiCache 添加一个特殊密钥。`ElastiCacheMasterReplicationTimestamp`此键为当前世界时（UTC）时间。因为 Valkey 或 Redis OSS 集群可能会在以后添加到复制组中，所以此键包含在所有 Valkey 或 Redis OSS 集群中，即使它们最初不是复制组的成员也会如此。有关复制组的更多信息，请参阅[使用复制组时的高可用性](Replication.md)。

要创建 Valkey 或 Redis OSS（已禁用集群模式）集群，请按照 [创建 Valkey（已禁用集群模式）集群（控制台）](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs) 中的步骤操作。

一旦您的集群状态变为*可用*，您就可以向 Amazon 授予 EC2 访问权限、连接集群并开始使用它。有关更多信息，请参阅[步骤 3：授予对集群的访问权限](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.AuthorizeAccess.valkey)和[步骤 4：连接到集群的节点](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.ConnectToCacheNode.valkey)。

**重要**  
一旦您的集群变为可用状态，您便需要为集群处于活动状态的每个小时或分钟支付费用（即使您并未主动使用集群）。要停止此集群产生的费用，您必须将其删除。请参阅[删除中的集群 ElastiCache](Clusters.Delete.md)。

## 创建 Valkey 或 Redis OSS（已启用集群模式）集群（控制台）
<a name="Clusters.Create.CON.RedisCluster"></a>

如果运行的是 Redis OSS 3.2.4 或更高版本，您可以创建 Redis OSS（已启用集群模式）集群。Valkey 或 Redis OSS（已启用集群模式）集群支持将您的数据分配到 1 到 500 个分片（API/CLI：节点组）上，但存在一些限制。有关 Valkey 或 Redis OSS（已禁用集群模式）和 Valkey 或 Redis OSS（已启用集群模式）的对比，请参阅[支持的引擎和版本](VersionManagement.md#supported-engine-versions)。

**使用控制台创建 Valkey 或 Redis OSS（已启用集群模式）集群 ElastiCache**

1. 登录AWS 管理控制台并打开亚马逊 ElastiCache 控制台，网址为[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)。

1. 从右上角的列表中，选择要启动此集群的AWS区域。

1. 从导航窗格中，选择 **Get started**（入门）。

1. 选择 **Create VPC**（创建 VPC）并按照[创建虚拟私有云（VPC）](VPCs.CreatingVPC.md)中的步骤操作。

1. 在 ElastiCache 控制面板页面上，选择**创建集群，然后选择创建** **Valkey 集群或创****建 Redis OSS** 集群。

1. 在 **Cluster settings**（集群设置）下，执行以下操作：

   1. 选择 **Configure and create a new cluster**（配置和创建新集群）。

   1. 对于 **Cluster mode**（集群模式），选择 **Enabled**（已启用）。

   1. 对于 **Cluster info**（集群信息），为 **Name**（名称）输入一个值。

   1. （可选）为 **Description**（描述）输入一个值。

1. 在 **Location**（位置）下：

------
#### [ AWS Cloud  ]

   1. 对于 **AWS Cloud**，我们建议您接受 **Multi-AZ**（多可用区）和 **Auto-failover**（自动失效转移）的默认设置。有关更多信息，请参阅使用[多可用区 ElastiCache 最大限度地缩短 Redis OSS 的停机时间](AutoFailover.md)。

   1. 在 **Cluster settings**（集群设置）下

      1. 对于 **Engine version**（引擎版本），选择一个可用的引擎版本。

      1. 对于 **Port**（端口），使用默认端口 6379。如果您出于某个原因需要使用其他端口，请输入相应的端口号。

      1. 对于**参数组**，选择一个参数组或创建一个新参数组。参数组控制集群的运行时参数。有关参数组的更多信息，请参阅[Valkey 和 Redis OSS 参数](ParameterGroups.Engine.md#ParameterGroups.Redis) 和[创建 ElastiCache 参数组](ParameterGroups.Creating.md)。
**注意**  
当您选择要设置引擎配置值的参数组时，该参数组将应用于全局数据存储中的所有集群。在 **Parameter Groups（参数组）**页面上，是/否 **Global（全局）**属性指示参数组是否属于全局数据存储。

      1. 对于 **Node type（节点类型）**，请选择向下箭头（![\[Downward-pointing triangle icon, typically used to indicate a dropdown menu.\]](http://docs.aws.amazon.com/zh_cn/AmazonElastiCache/latest/dg/images/ElastiCache-DnArrow.png)）。在 **Change node type（更改节点类型）**对话框中，为所需节点类型选择 **Instance family（实例系列）**值。接着选择要用于此集群的节点类型，然后选择**保存**。

         有关更多信息，请参阅 [选择节点大小](CacheNodes.SelectSize.md)。

         如果您选择 r6gd 节点类型，则系统会自动启用数据分层。有关更多信息，请参阅 [ElastiCache 中的数据分层](data-tiering.md)。

      1. 对于**分片数**，选择要用于此 Valkey 或 Redis OSS（已启用集群模式）集群的分片（分区/节点组）数。

         对于某些版本的 Valkey 或 Redis OSS（已启用集群模式），您可以动态更改集群中的分片数量：
         + **Redis OSS 3.2.10 及更高版本** – 如果您的集群运行 Redis OSS 3.2.10 或更高版本，则可以动态更改集群中的分片数量。有关更多信息，请参阅 [扩缩 Valkey 或 Redis OSS（已启用集群模式）集群](scaling-redis-cluster-mode-enabled.md)。
         + **其他 Redis OSS 版本** – 如果您的集群正在运行 3.2.10 版之前的 Redis OSS 版本，则还有另一种方法。在这种情况下，要更改集群中的分片数量，请使用新分片数量创建一个新集群。有关更多信息，请参阅 [从备份还原到新缓存](backups-restoring.md)。

      1. 对于**每个分片的副本数量**，请选择每个分片中需要的只读副本节点数。

         Valkey 或 Redis OSS（已启用集群模式）存在以下限制。
         + 如果启用了多可用区，请确保每个分片至少有一个副本。
         + 使用控制台创建集群时，每个分片的副本数相同。
         + 每个分片的只读副本数固定，无法更改。如果您需要增加或减少各分片（API/CLI：节点组）的副本数，您必须使用新的副本数量创建一个新集群。有关更多信息，请参阅 [教程：使用外部创建的备份为新的基于节点的集群制作种子](backups-seeding-redis.md)。

   1. 在 **Connectivity**（连接）下

      1. 对于 **Network type**（网络类型），选择此集群将支持的 IP 版本。

      1. 对于**子网组**，请选择要应用于此集群的子网。 ElastiCache 使用该子网组选择子网和该子网内的 IP 地址以与您的节点关联。 ElastiCache 群集需要一个双堆栈子网 IPv4 并分配给它们 IPv6 的地址才能在双堆栈模式下运行，并且需要一个 IPv6仅限子网才能以-only模式运行。 IPv6

         创建新的子网组时，输入其所属的 **VPC ID**。

         选择 **Discovery IP type**（发现 IP 类型）。仅返回所选协议的 IP 地址。

         有关更多信息，请参阅:
         + [在中选择网络类型 ElastiCache](network-type.md).
         + [在您的 VPC 中创建子网](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)。

         如果您是 [将 Local Zones 与 ElastiCache 结合使用](Local_zones.md)，则必须创建或选择位于本地区域中的子网。

         有关更多信息，请参阅 [子网和子网组](SubnetGroups.md)。

   1. 对于 **Availability zone placements**（可用区位置），您有两种选择：
      + **无偏好** — ElastiCache 选择可用区。
      + **Specify availability zones（指定可用区）**– 您为各集群指定可用区。

        如果您选择指定可用区，则需从列表中为各分片中的每个集群选择可用区。

      有关更多信息，请参阅 [为 ElastiCache 选择区域和可用区](RegionsAndAZs.md)。

   1. 选择 **Next**（下一步）

   1. 在**高级 Valkey 设置**或**高级 Redis OSS 设置**下或 

      1. 对于 **Security**（安全）：

        1. 要加密您的数据，您有以下选项：
           + **Encryption at rest（静态加密）**– 对磁盘上存储的数据启用加密。有关更多信息，请参阅[静态加密](at-rest-encryption.md)。
**注意**  
您可以选择提供不同的加密密钥，方法是选择 “**客户托管AWS KMS 密钥**” 并选择密钥。有关更多信息，请参阅[使用AWS KMS 客户自主管理型密钥](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)。
           + **Encryption in-transit（传输中加密）**– 对传输中数据启用加密。有关更多信息，请参阅[传输中加密](in-transit-encryption.md)。对于 Valkey 7.2 及更高版本或 Redis OSS 6.0 及更高版本，如果您启用传输中加密，则系统会提示您指定以下**访问控制**选项之一：
             + **No Access Control（无访问控制）**– 此选项为默认设置。这表示对用户访问集群的权限没有任何限制。
             + **User Group Access Control List（用户组访问控制列表）**– 选择具有集群访问权限的已定义用户组。有关更多信息，请参阅 [使用控制台和 CLI 管理用户组](Clusters.RBAC.md#User-Groups)。
             + **Redis AUTH 默认用户** – Valkey 或 Redis OSS 服务器的身份验证机制。有关更多信息，请参阅 [AUTH](auth.md)。
           + **AUTH** – Valkey 或 Redis OSS 服务器的身份验证机制。有关更多信息，请参阅 [AUTH](auth.md)。
**注意**  
对于 Redis OSS 3.2.6 及更高版本（版本 3.2.10 除外），只能选择 AUTH。

        1. 对于**安全组**，选择要用于该集群的安全组。*安全组* 充当防火墙来控制对集群的网络访问。您可以为 VPC 使用默认安全组或创建新安全组。

           有关安全组的更多信息，请参阅 *Amazon VPC 用户指南*中的[您的 VPC 的安全组](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

   1. 如果需要定期计划自动备份，请选择**启用自动备份**，然后输入每个自动备份在被自动删除前保留的天数。如果您不希望定期计划自动备份，请清除 **Enable automatic backups** 复选框。不论是哪种情况，您始终可以选择创建手动备份。

      有关备份和还原的更多信息，请参阅[快照和还原](backups.md)。

   1. （可选）指定维护时段。*维护时段* 是每周中 ElastiCache 为您的集群计划系统维护的时间，通常以小时为时间长度。您可以允许 ElastiCache 选择维护时段的日期和时间（*No preference (无首选项)*），或者自行选择日期、时间和持续时间（*Specify maintenance window (指定维护时段)*）。如果您从列表中选择了*指定维护时段*，请为您的维护时段选择*开始日期*、*开始时间*和*持续时间*（以小时为单位）。所有时间均为 UCT 时间。

      有关更多信息，请参阅 [管理 ElastiCache 集群维护](maintenance-window.md)。

   1. （可选）对于 **Logs（日志）**：
      + 在 **Log format（日志格式）**下，选择 **Text（文本）**或 **JSON**。
      + 在**目标类型**下，选择**CloudWatch 日志**或 **Kinesis Fire** hose。
      + 在 “**日志目标**” 下，选择 “**新建**” 并输入您的 CloudWatch 日志日志组名称或 Firehose 直播名称，或者选择 **“选择现有”**，然后选择您的 CloudWatch 日志日志组名称或 Firehose 直播名称，

   1. 对于**标签**，为了帮助您管理集群和其他 ElastiCache 资源，您可以以标签的形式为每个资源分配自己的元数据。有关更多信息，请参阅 [为资源添加 ElastiCache 标签](Tagging-Resources.md)。

   1. 选择 **Next**（下一步）。

   1. 查看您的所有输入和选择，然后进行任意所需的更正。当您准备好后，选择 **Create**（创建）。

------
#### [ On premises ]

   1. 对于 **On premises**（本地），我们建议您保留 **Auto-failover**（自动失效转移）为启用状态。有关更多信息，请参阅使用多可用[区 ElastiCache 最大限度地缩短 Redis OSS 的停机时间](AutoFailover.md)

   1. 按照[使用 Outposts](ElastiCache-Outposts.md) 中的步骤操作。

------

要使用 ElastiCache API 或AWS CLI代替 ElastiCache 控制台创建等效项，请参阅以下内容：
+ API：[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)
+ CLI：[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)

一旦集群的状态变为*可用*，您就可以授予对其的 EC2 访问权限、连接到集群并开始使用它。有关更多信息，请参阅[步骤 3：授予对集群的访问权限](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.AuthorizeAccess.valkey)和[步骤 4：连接到集群的节点](SubnetGroups.designing-cluster-pre.valkey.md#GettingStarted.ConnectToCacheNode.valkey)。

**重要**  
一旦您的集群变为可用状态，您便需要为集群处于活动状态的每个小时或分钟支付费用（即使您并未主动使用集群）。要停止此集群产生的费用，您必须将其删除。请参阅 [删除中的集群 ElastiCache](Clusters.Delete.md)。

## 创建集群（AWS CLI）
<a name="Clusters.Create.CLI"></a>

要使用创建集群AWS CLI，请使用`create-cache-cluster`命令。

**重要**  
一旦您的集群变为可用状态，您便需要为集群处于活动状态的每个小时或分钟支付费用（即使您并未主动使用集群）。要停止此集群产生的费用，您必须将其删除。请参阅[删除中的集群 ElastiCache](Clusters.Delete.md)。

### 创建 Redis OSS（已禁用集群模式）集群（CLI）
<a name="Clusters.Create.CLI.Redis"></a>

**Example – 一个无只读副本的 Valkey 或 Redis OSS（已禁用集群模式）集群**  
下面的 CLI 代码将创建一个无副本的 Valkey 或 Redis OSS（已禁用集群模式）集群。  
使用 r6gd 系列的节点类型创建集群时，必须传递 `data-tiering-enabled` 参数。
对于 Linux、macOS 或 Unix：  

```
aws elasticache create-cache-cluster \
--cache-cluster-id my-cluster \
--cache-node-type cache.r4.large \
--engine redis \
--num-cache-nodes 1 \
--cache-parameter-group default.redis6.x \
--snapshot-arns arn:aws:s3:::amzn-s3-demo-bucket/snapshot.rdb
```
对于 Windows：  

```
aws elasticache create-cache-cluster ^
--cache-cluster-id my-cluster ^
--cache-node-type cache.r4.large ^
--engine redis ^
--num-cache-nodes 1 ^
--cache-parameter-group default.redis6.x ^
--snapshot-arns arn:aws:s3:::amzn-s3-demo-bucket/snapshot.rdb
```

### 创建 Valkey 或 Redis OSS（已启用集群模式）集群（AWS CLI）
<a name="Clusters.Create.CLI.RedisCluster"></a>

Valkey 或 Redis OSS（已启用集群模式）集群（API/CLI：复制组）不能使用 `create-cache-cluster` 操作创建。要创建 Valkey 或 Redis OSS（已启用集群模式）集群（API/CLI：复制组），请参阅[从头开始创建 Valkey 或 Redis OSS（已启用集群模式）复制组（AWS CLI）](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI)。

有关更多信息，AWS CLI请参阅 ElastiCache 参考主题[https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)。

## 为 Valkey 或 Redis OSS 创建集群 (API) ElastiCache
<a name="Clusters.Create.API.red-heading"></a>

要使用 ElastiCache API 创建集群，请使用`CreateCacheCluster`操作。

**重要**  
一旦您的集群变为可用状态，您便需要为集群处于活动状态的每个小时或分钟支付费用（即使您并未使用集群）。要停止此集群产生的费用，您必须将其删除。请参阅[删除中的集群 ElastiCache](Clusters.Delete.md)。

**Topics**
+ [创建 Valkey 或 Redis OSS（已禁用集群模式）集群 (ElastiCache API)](#Clusters.Create.API.Redis)
+ [在 Valkey 或 Redis OSS 中创建集群（已启用集群模式）(ElastiCache API)](#Clusters.Create.API.RedisCluster)

### 创建 Valkey 或 Redis OSS（已禁用集群模式）集群 (ElastiCache API)
<a name="Clusters.Create.API.Redis"></a>

以下代码创建一个 Valkey 或 Redis OSS（已禁用集群模式）集群 (ElastiCache API)。

添加换行符以便于阅读。

```
https://elasticache.us-west-2.amazonaws.com/
    ?Action=CreateCacheCluster
    &CacheClusterId=my-cluster
    &CacheNodeType=cache.r4.large
    &CacheParameterGroup=default.redis3.2
    &Engine=redis
    &EngineVersion=3.2.4
    &NumCacheNodes=1
    &SignatureVersion=4       
    &SignatureMethod=HmacSHA256
    &SnapshotArns.member.1=arn%3Aaws%3As3%3A%3A%3AmyS3Bucket%2Fdump.rdb
    &Timestamp=20150508T220302Z
    &Version=2015-02-02
    &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
    &X-Amz-Credential=<credential>
    &X-Amz-Date=20150508T220302Z
    &X-Amz-Expires=20150508T220302Z
    &X-Amz-SignedHeaders=Host
    &X-Amz-Signature=<signature>
```

### 在 Valkey 或 Redis OSS 中创建集群（已启用集群模式）(ElastiCache API)
<a name="Clusters.Create.API.RedisCluster"></a>

Valkey 或 Redis OSS（已启用集群模式）集群（API/CLI：复制组）不能使用 `CreateCacheCluster` 操作创建。要创建 Valkey 或 Redis OSS（已启用集群模式）集群（API/CLI：复制组），请参阅[从头开始在 Valkey 或 Redis OSS（已启用集群模式）中创建复制组（ElastiCache API）](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md#Replication.CreatingReplGroup.NoExistingCluster.Cluster.API)。

有关更多信息，请参阅 ElastiCache API 参考主题[https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)。