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

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

为 Valkey 或 Redis 创建集群 OSS

以下示例展示了如何使用 Amazon Web Services Management Console、 Amazon CLI 和创建 Valkey 或 Redis OSS 集群。 ElastiCache API

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

要创建 Valkey 或 RedisOSS(已禁用集群模式)集群,请按照中的步骤操作。创建 Valkey(已禁用集群模式)集群(控制台)

一旦您的集群状态变为可用,您就可以向 Amazon 授予EC2访问权限、连接集群并开始使用它。有关更多信息,请参阅第 3 步:授予对集群的访问权限第 4 步:连接到集群的节点

重要

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

如果你运行的是 Redis OSS 3.2.4 或更高版本,则可以创建 Valkey 或 RedisOSS(已启用集群模式)集群。Valkey 或 RedisOSS(已启用集群模式)集群支持在 1 到 500 个分片(API/CLI: 节点组)之间对数据进行分区,但有一些限制。有关 Valkey 或 RedisOSS(已禁用集群模式)和 Valkey 或 RedisOSS(已启用集群模式)的比较,请参阅。支持的引擎和版本

使用控制台创建 Valkey 或 RedisOSS(已启用集群模式)集群 ElastiCache
  1. 登录 Amazon Web Services Management Console 并打开亚马逊 ElastiCache 控制台,网址为https://console.aws.amazon.com/elasticache/

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

  3. 从导航窗格中,选择 Get started(入门)。

  4. 选择 “创建”,VPC然后按照创建虚拟私有云 (VPC) 中概述的步骤进行操作。

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

  6. Cluster settings(集群设置)下,执行以下操作:

    1. 选择 Configure and create a new cluster(配置和创建新集群)。

    2. 对于 Cluster mode(集群模式),选择 Enabled(已启用)。

    3. 对于 Cluster info(集群信息),为 Name(名称)输入一个值。

    4. (可选)为 Description(描述)输入一个值。

  7. Location(位置)下:

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

    2. Cluster settings(集群设置)下

      1. 对于 Engine version(引擎版本),选择一个可用的引擎版本。

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

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

        注意

        当您选择要设置引擎配置值的参数组时,该参数组将应用于全局数据存储中的所有集群。在 Parameter Groups(参数组)页面上,是/否 Global(全局)属性指示参数组是否属于全局数据存储。

      4. 对于 Node type(节点类型),请选择向下箭头( Downward-pointing triangle icon, typically used to indicate a dropdown menu. )。在 Change node type(更改节点类型)对话框中,为所需节点类型选择 Instance family(实例系列)值。接着选择要用于此集群的节点类型,然后选择保存

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

        如果您选择 r6gd 节点类型,则系统会自动启用数据分层。有关更多信息,请参阅 数据分层 ElastiCache

      5. 分片数中,选择要用于此 Valkey 或 Red OSS is(已启用集群模式)集群的分片(分区/节点组)数量。

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

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

        • 其他 Redis OSS 版本 — 如果您的集群运行的是 3.2.10 OSS 之前的 Redis 版本,则还有另一种方法。在这种情况下,要更改集群中的分片数量,请使用新分片数量创建一个新集群。有关更多信息,请参阅 从备份还原到新缓存

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

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

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

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

        • 每个分片的只读副本数固定,无法更改。如果您发现每个分片(API/CLI: 节点组)需要更多或更少的副本,则必须使用新的副本数量创建一个新集群。有关更多信息,请参阅 教程:使用外部创建的备份为新的自行设计的集群制作种子

    3. Connectivity(连接)下

      1. 对于 Network type(网络类型),选择此集群将支持的 IP 版本。

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

        创建新的子网组时,请输入其所属的 VPCID

        选择 Discovery IP type(发现 IP 类型)。仅返回所选协议的 IP 地址。

        有关更多信息,请参阅:

        如果您是 将本地区域与 ElastiCache,则必须创建或选择位于本地区域中的子网。

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

    4. 对于 Availability zone placements(可用区位置),您有两种选择:

      • 无偏好 — ElastiCache 选择可用区。

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

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

      有关更多信息,请参阅 为以下对象选择区域和可用区 ElastiCache

    5. 选择 Next(下一步)

    6. 在 “高级 Valkey 设置” 或 “高级 Redis OSS 设置” 下或

      1. 对于 Security(安全):

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

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

            注意

            您可以选择提供不同的加密密钥,方法是选择 “客户托管 Amazon KMS密钥” 并选择密钥。有关更多信息,请参阅使用中的客户托管密钥 Amazon KMS

          • Encryption in-transit(传输中加密)– 对传输中数据启用加密。有关更多信息,请参阅传输中加密对于 Valkey 7.2 及以上版本或 Redis OSS 6.0 及更高版本,如果您启用传输中加密,系统将提示您指定以下访问控制选项之一:

            • No Access Control(无访问控制)– 此选项为默认设置。这表示对用户访问集群的权限没有任何限制。

            • User Group Access Control List(用户组访问控制列表)– 选择具有集群访问权限的已定义用户组。有关更多信息,请参阅 使用控制台管理用户组和 CLI

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

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

          注意

          对于 3.2.6 及以后的 Redis OSS 版本,不包括版本 3.2.10,AUTH是唯一的选择。

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

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

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

      有关备份和还原的更多信息,请参阅快照和还原

    8. (可选)指定维护时段。维护时段 是每周中 ElastiCache 为您的集群计划系统维护的时间,通常以小时为时间长度。您可以允许 ElastiCache 选择维护时段的日期和时间(No preference (无首选项)),或者自行选择日期、时间和持续时间(Specify maintenance window (指定维护时段))。如果您在列表中选择 Specify maintenance window,则为您的维护时段选择 Start dayStart timeDuration(以小时为单位)。所有时间都是UCT时间。

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

    9. (可选)对于 Logs(日志)

      • 日志格式下,选择文本JSON

      • 目标类型下,选择CloudWatch 日志Kinesis Fire hose。

      • 在 “日志目标” 下,选择 “新建” 并输入您的 CloudWatch 日志组名称或 Firehose 直播名称,或者选择 “选择现有”,然后选择您的 CloudWatch 日志日志组名称或 Firehose 直播名称,

    10. 对于标签,为了帮助您管理集群和其他 ElastiCache 资源,您可以以标签的形式为每个资源分配自己的元数据。有关更多信息,请参阅 标记 ElastiCache 资源

    11. 选择 Next(下一步)。

    12. 查看您的所有输入和选择,然后进行任意所需的更正。当您准备好后,选择 Create(创建)。

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

    2. 按照使用 Outposts 中的步骤操作。

要使用 ElastiCache API或 Amazon CLI 代替 ElastiCache 控制台创建等效项,请参阅以下内容:

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

重要

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

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

重要

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

创建 Valkey 或 RedisOSS(已禁用集群模式)集群 () CLI

例 — 没有只读副本的 Valkey 或 RedisOSS(已禁用集群模式)集群

以下CLI代码创建了一个没有副本的 Valkey 或 RedisOSS(已禁用集群模式)缓存集群。

注意

使用 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:::my_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:::my_bucket/snapshot.rdb

创建 Valkey 或 RedisOSS(已启用集群模式)集群 ()Amazon CLI

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

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

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

重要

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

创建 Valkey 或 RedisOSS(已禁用集群模式)缓存集群 () ElastiCache API

以下代码创建 Valkey 或 RedisOSS(已禁用集群模式)缓存集群(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

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

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