创建集群 - Amazon ElastiCache for Redis
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

创建集群

以下示例演示如何使用Amazon Web Services Management Console、Amazon CLI和ElastiCacheAPI。

ElastiCache 在您使用 Redis 引擎时支持复制。为了监控数据从写入 Redis 读/写主集群到传播到只读辅助集群的时间延迟,ElastiCache 向集群添加了一个特殊键 ElastiCacheMasterReplicationTimestamp。此键为当前世界时 (UTC) 时间。因为 Redis 集群可能会在以后添加到复制组中,所以此键包含在所有 Redis 集群中,即使它们最初不是复制组的成员也会如此。有关复制组的更多信息,请参阅使用复制组的高可用性

创建独立的 Redis (已禁用集群模式) 集群

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 从右上角的列表中,选择Amazon要在其中启动此集群的区域。

  3. 从导航窗格中,选择 Redis

  4. 选择创建

  5. 对于 Cluster engine,选择 Redis。确保清除已启用集群模式复选框。

  6. 完成 Redis settings 部分。

    1. Name (名称) 中,输入集群的名称。

    2. Description (描述) 框中,输入此集群的描述。

    3. 对于引擎版本兼容性,选择您希望在此集群上运行的 ElastiCache for Redis 引擎版本。除非您出于某个特定原因需要运行旧版本,否则建议您选择最新版本。

      重要

      您可以升级到较新的引擎版本。如果您升级主要引擎版本(例如从 5.0.6 升级到 6.x),则需要选择与新引擎版本合并的参数组系列。有关执行此操作的更多信息,请参阅 升级引擎版本。不过,您不能降级到较早的引擎版本,除非删除现有集群并重新创建它。

    4. 端口中,使用默认端口 6379。如果您出于某个原因需要使用其他端口,请输入相应的端口号。

    5. 对于参数组,选择一个参数组或创建一个新参数组。参数组控制集群的运行时参数。有关参数组的更多信息,请参阅Redis 特定的参数创建参数组

    6. 对于 Node type (节点类型),请单击向下箭头 ( )。在 Change node type (更改节点类型) 对话框中,先选择所需节点类型的 Instance family (实例系列),然后选择要用于此集群的节点类型,最后选择 Save (保存)

      有关更多信息,请参阅选择节点大小

    7. 对于副本数量,为此集群选择所需的只读副本数。

      如果选择拥有一个或多个副本,则多可用区复选框可用。有关更多信息,请参阅缓解运行 Redis 时发生的故障。我们强烈建议您启用多可用区,这有助于确保您符合服务等级协议 (SLA) 要求。有关 SLA 合规性的更多信息,请参阅Amazon ElastiCache 服务等级协议上Amazon网站。

      如果输入 0,则不启用多可用区复选框。您创建的集群如下所示。这是一个没有副本节点的 Redis (已禁用集群模式)集群。

      Image:Redis (已禁用集群模式)创建的没有副本节点的  集群

      如果选择一个或多个副本,则您创建的集群将类似下面这样。这是一个具有副本节点的 Redis (已禁用集群模式)集群。

      Image:Redis (已禁用集群模式)创建的有副本节点的  集群
  7. 选择 Advanced Redis settings 并完成该部分。

    1. 对于子网组,创建新的子网组,或选择要应用于此集群的现有子网组。如果启用了多可用区,则子网组必须至少包含两个位于不同可用区中的子网。

      如果您将将本地区域与ElastiCache ,则必须创建或选择位于本地区域中的子网。自动禁用多可用区。Local Zones 目前不支持全局数据存储。

      有关更多信息,请参阅子网组

    2. 对于Availability zone(s),您有两种选择:

      • No preference (无首选项) – 由 ElastiCache 为您的集群节点选择可用区。

      • 指定可用区 – 在 Under availability zones placement (在可用区位置下) 下,将显示节点列表,允许您为集群中的每个节点指定可用区。您可以从每个节点名称右侧的列表中选择不同的可用区。

      • 如果启用了多可用区,则必须在不同的可用区中至少放置两个节点。

      有关更多信息,请参阅选择区域和可用区

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

      有关更多信息,请参阅您的 VPC 的安全组

    4. 加密您的数据;您可进行以下选择:

      • 静态加密 – 对磁盘上存储的数据启用加密。有关更多信息,请参阅静态加密

        注意

        您可以通过选择客户托管客户AmazonKMS 密钥并选择密钥。有关更多信息,请参阅 。使用来自AmazonKMS

      • 传输中加密 – 对传输中的数据启用加密。有关更多信息,请参阅传输中加密。对于 Redis 引擎版本 6.x,如果您在传输过程中启用加密,系统会提示您指定以下内容之一访问控制选项:

        • 无访问控制 –这是默认设置。这表示对用户访问群集的权限没有任何限制。

        • 用户组访问控制列表 –选择一个具有已定义的可访问集群的用户组。有关更多信息,请参阅使用控制台和 CLI 管理用户组

        • Redis AUTH 默认用户 –Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

        注意

        对于 3.2.6(首次支持传输过程中的加密)和 6.x(不包括 3.2.10 版本)之间的 Redis 版本,Redis AUTH 是唯一的选项。

    5. (可选)用于日志

      • Unage日志格式中,选择Text或者JSON.

      • Unage目标类型中,选择CloudWatch Logs (CloudWatch 日志)或者Kinesis Firehose.

      • Unage日志目标中,选择创建新的,然后输入CloudWatch Logs日志组名称或Kinesis Data Firehose流名称,或选择选择现有,然后选择CloudWatch Logs日志组名称或Kinesis Data Firehose流名称

    6. (可选)如果您将使用 .rdb 文件中数据为集群做种子,请在Amazon S3的 .rdb 文件的位置种子 RDB 文件 S3 位置.

      有关更多信息,请参阅设定具有外部创建的备份的新集群

    7. (可选)对于定期计划的自动备份,请选择启用自动备份,然后输入自动备份在被自动删除前保留的天数。如果您不希望定期计划自动备份,请清除 Enable automatic backups 复选框。不管是哪种情况,您都能够选择创建必须手动删除的手动备份。

      有关 Redis 备份和还原的更多信息,请参阅Backup 和还原ElastiCache for Redis

    8. 适用于维护时段中,选择一个维护时段。维护时段 是每周中 ElastiCache 为您的集群计划系统维护的时间,通常以小时为时间长度。

      您可以启用ElastiCache以选择维护时段的日期和时间(无首选项)。或者您可以自行选择日期、时间和持续时间(指定维护时段)。如果您选择 Specify maintenance window,则为您的维护时段选择 Start dayStart timeDuration (以小时为单位)。所有时间均采用 UTC 时间。

      有关更多信息,请参阅管理维护

    9. 适用于通知中,选择现有Amazon Simple Notification Service(Amazon SNS) 主题,或选择 “手动 ARN 输入”,然后输入主题的 Amazon 资源名称 (ARN)。如果您将Amazon SNS,您可以将通知推送到与 Internet 连接的智能设备。默认设置是禁用通知。有关更多信息,请参阅 http://www.amazonaws.cn/sns/

  8. 查看您的所有输入和选择,然后返回并进行任意所需的更正。准备就绪后,请选择 Create 以启动您的集群。

当您的集群状态为 available (可用) 时,您可向其授予 Amazon EC2 访问权限,连接到集群并开始使用它。有关更多信息,请参阅 第 3 步:授予集群的访问权限第 4 步:Connect 到集群的节点

重要

一旦您的集群变为可用状态,您便需要为集群处于活动状态的每个小时或分钟支付费用(即使您并未主动使用集群)。要停止此集群产生的费用,您必须将其删除。请参阅 删除集群

如果运行的是 Redis 3.2.4 或更高版本,您可以创建 Redis (已启用集群模式) 集群。Redis (已启用集群模式) 集群支持将您的数据分配到 1 到 500 个分片(API/CLI:节点组)上,但存在一些限制。有关 Redis (已禁用集群模式) 和 Redis (已启用集群模式) 的对比,请参阅支持的 ElastiCache for Redis 版本

您可以使用 ElastiCache 管理控制台、适用于 ElastiCache 的 Amazon CLI 和 ElastiCache API 创建 Redis (已启用集群模式) 集群 (API/CLI:复制组)。

使用 ElastiCache 控制台创建 Redis (已启用集群模式) 集群

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

  2. 从右上角的列表中,选择Amazon要在其中启动此集群的区域。

  3. 从导航窗格中,选择 Redis

  4. 选择创建

  5. 对于集群引擎,依次选择 Redis已启用集群模式。这些选择创建Redis (已启用集群模式)集群,如下所示。

    Image:Redis (已启用集群模式)使用复制和数据分区创建的  集群

    Redis (已启用集群模式) 使用复制和数据分区创建的 集群

  6. 完成 Redis settings 部分。

    1. Name (名称) 中,输入集群的名称。

    2. Description (描述) 框中,输入此集群的描述。

    3. 对于引擎版本兼容性,选择您希望在此集群上运行的 ElastiCache for Redis 引擎版本。除非您出于某个特定原因需要运行旧版本,否则建议您选择最新版本。

      重要

      有关执行此操作的更多信息,请参阅 升级引擎版本。不过,您不能降级到较早的引擎版本,除非删除现有集群并重新创建它。

    4. 端口中,使用默认端口 6379。如果您出于某个原因需要使用其他端口,请输入相应的端口号。

    5. 对于参数组,选择一个参数组或创建一个新参数组。参数组控制集群的运行时参数。有关参数组的更多信息,请参阅Redis 特定的参数创建参数组

    6. 对于 Node type (节点类型),请选择向下箭头 ( )。在 Change node type (更改节点类型) 对话框中,为所需节点类型选择 Instance family (实例系列) 值。接着选择要用于此集群的节点类型,然后选择保存

      有关更多信息,请参阅选择节点大小

    7. 对于分片数,选择要用于此 Redis (已启用集群模式) 集群的分片(分区/节点组)数。

      对于某些版本的 Redis (已启用集群模式),您可以动态更改集群中的分片数量:

      • Redis 3.2.10 及更高版本 – 如果您的集群运行 Redis 3.2.10 或更高版本,则可以动态更改集群中的分片数量。有关更多信息,请参阅扩展中的集群Redis(已启用集群模式)

      • 其他 Redis 版本 – 如果您的集群正在运行 3.2.10 版之前的 Redis 版本,则还有另一种方法。在这种情况下,要更改集群中的分片数量,请使用新分片数量创建一个新集群。有关更多信息,请参阅使用可选的群集大小调整从备份中恢复

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

      Redis (已启用集群模式) 存在以下限制。

      • 如果启用了多可用区,请确保每个分片至少有一个副本。

      • 使用控制台创建集群时,每个分片的副本数相同。

      • 每个分片的只读副本数固定,无法更改。如果您需要增加或减少各分片 (API/CLI:节点组) 的副本数,您必须使用新的副本数量创建一个新集群。有关更多信息,请参阅设定具有外部创建的备份的新集群

    9. 对于子网组,创建新的子网组,或选择要应用于此集群的现有子网组。如果启用了多可用区,则子网组必须至少包含两个位于不同可用区中的子网。

      如果您将将本地区域与ElastiCache ,则必须创建或选择位于本地区域中的子网。自动禁用多可用区。Local Zones 目前不支持全局数据存储。

      有关更多信息,请参阅子网组

  7. 单击 Advanced Redis settings 并完成该部分。

    1. 对于 Slots and keyspaces,选择您希望密钥以何种方式在分片(分区)上分布。这些是要分配的 16,384 密钥(编号从 0 到 16383)。

      • Equal distribution (平均分配) – ElastiCache 尽可能在您的分片之间均匀分配密钥空间。

         

      • Custom distribution (自定义分配) – 您在 Availability zone(s) (可用区) 下方的表中指定用于各分片的密钥范围。

    2. 对于Availability zone(s),您有两种选择:

      • No preference (无首选项) – 由 ElastiCache 选择可用区。

         

      • Specify availability zones (指定可用区) – 您为各集群指定可用区。

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

      有关更多信息,请参阅选择区域和可用区

      Image:指定密钥空间和可用区

      指定密钥空间和可用区

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

      有关安全组的更多信息,请参阅您的 VPC 的安全组中的Amazon VPC 用户指南.

    4. 加密您的数据,您有以下选项:

      • 静态加密 – 对磁盘上存储的数据启用加密。有关更多信息,请参阅静态加密

        注意

        您可以通过选择客户托管客户AmazonKMS 密钥并选择密钥。有关更多信息,请参阅 。使用来自AmazonKMS.

      • 传输中加密 – 对传输中的数据启用加密。有关更多信息,请参阅传输中加密。对于 Redis 引擎 6.x 及更高版本,如果启用了在途加密,系统将提示您指定以下内容之一访问控制选项:

        • 无访问控制 –这是默认设置。这表示对用户访问群集的权限没有任何限制。

        • 用户组访问控制列表 –选择一个具有已定义的可访问集群的用户组。有关更多信息,请参阅使用控制台和 CLI 管理用户组

        • Redis AUTH 默认用户 –Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

      • Redis AUTH – Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

      注意

      对于 3.2.6(首次支持传输过程中加密)和 6.x(不包括 3.2.10 版本)之间的 Redis 版本,Redis AUTH 是唯一的选项。

    5. (可选)用于日志

      • Unage日志格式中,选择Text或者JSON.

      • Unage目标类型中,选择CloudWatch Logs (CloudWatch 日志)或者Kinesis Firehose.

      • Unage日志目标中,选择创建新的,然后输入CloudWatch Logs日志组名称或Kinesis Data Firehose流名称,或选择选择现有,然后选择CloudWatch Logs日志组名称或Kinesis Data Firehose流名称

    6. (可选)如果您将使用 .rdb 文件中的数据为集群做种子,请在为 RDB 文件 S3 位置做种子框中,输入 .rdb 文件的 S3 位置。

      有关更多信息,请参阅设定具有外部创建的备份的新集群

      对于 Redis (已启用集群模式),请确保每个节点组都有一个单独的 .rdb 文件。

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

      有关 Redis 备份和还原的更多信息,请参阅Backup 和还原ElastiCache for Redis

    8. (可选)指定维护时段。 这些区域有:维护时段是时间,通常以小时为时间长度,每周中ElastiCache计划群集的系统维护。 您可以允许ElastiCache以选择维护时段的日期和时间(无首选项),或者自行选择日期、时间和持续时间(指定维护时段)。 如果选择指定维护时段从列表中选择开始日开始时间, 和Duration(以小时为单位),用于维护时段。所有时间均为 UCT 时间。

      有关更多信息,请参阅管理维护

    9. 对于通知,选择现有 Amazon Simple Notification Service (Amazon SNS) 主题,或者选择“手动 ARN 输入”,然后键入主题的 Amazon 资源名称 (ARN)。Amazon SNS 允许将通知推送到与 Internet 连接的智能设备。默认设置是禁用通知。有关更多信息,请参阅 http://www.amazonaws.cn/sns/

  8. 查看您的所有输入和选择,然后进行任意所需的更正。准备就绪后,请选择 Create cluster (创建集群) 启动集群或选择 Cancel (取消) 取消操作。

要使用 ElastiCache API 或 Amazon CLI 而不是 ElastiCache 控制台创建相同的集群,请参阅:

当您的集群状态为 available 时,您可向其授予 EC2 访问权限,连接到集群并开始使用它。有关更多信息,请参阅 第 3 步:授予集群的访问权限第 4 步:Connect 到集群的节点

重要

一旦您的集群变为可用状态,您便需要为集群处于活动状态的每个小时或分钟支付费用(即使您并未主动使用集群)。要停止此集群产生的费用,您必须将其删除。请参阅 删除集群

要使用 Amazon CLI 创建集群,请使用 create-cache-cluster 命令。

重要

一旦您的集群变为可用状态,您便需要为集群处于活动状态的每个小时或分钟支付费用(即使您并未主动使用集群)。要停止此集群产生的费用,您必须将其删除。请参阅 删除集群

创建缓存集群Redis (已禁用集群模式) (Amazon CLI)

例 – 没有只读副本的 Redis (已禁用集群模式) 集群

下面的 CLI 代码创建一个无副本的 Redis (已禁用集群模式) 缓存集群。

对于 Linux, OS X, or Unix:

aws elasticache create-cache-cluster \ --cache-cluster-id my-cluster \ --cache-node-type cache.r4.large \ --engine redis \ --engine-version 3.2.4 \ --num-cache-nodes 1 \ --cache-parameter-group default.redis3.2 \ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

对于 Windows:

aws elasticache create-cache-cluster ^ --cache-cluster-id my-cluster ^ --cache-node-type cache.r4.large ^ --engine redis ^ --engine-version 3.2.4 ^ --num-cache-nodes 1 ^ --cache-parameter-group default.redis3.2 ^ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

创建Redis (已启用集群模式)集群(Amazon CLI)

无法使用 create-cache-cluster 操作创建 Redis (已启用集群模式) 集群(API/CLI:复制组)。要创建 Redis (已启用集群模式) 集群(API/CLI:复制组),请参阅创建Redis(已启用集群模式)从头开始创作(Amazon CLI)

有关更多信息,请参阅适用于 ElastiCache 的 Amazon CLI 参考主题 create-replication-group

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

重要

一旦您的集群变为可用状态,您便需要为集群处于活动状态的每个小时或分钟支付费用(即使您并未使用集群)。要停止此集群产生的费用,您必须将其删除。请参阅 删除集群

创建Redis (已禁用集群模式)缓存集群(ElastiCache API)

下面的代码创建一个 Redis (已禁用集群模式) 缓存集群 (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>

在中创建缓存集群Redis (已启用集群模式) (ElastiCache API)

无法使用 CreateCacheCluster 操作创建 Redis (已启用集群模式) 集群(API/CLI:复制组)。要创建 Redis (已启用集群模式) 集群(API/CLI:复制组),请参阅在中创建复制组Redis(已启用集群模式)从头开始创作(ElastiCache API)

有关更多信息,请参阅 ElastiCache API 参考主题 CreateReplicationGroup