选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

设计你自己的 ElastiCache Redis OSS 集群

聚焦模式
设计你自己的 ElastiCache Redis OSS 集群 - Amazon ElastiCache

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

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

以下是设计自己的 ElastiCache Redis OSS 集群时必须执行的一次性操作。

有关设置的更多信息, ElastiCache 请参阅设置 ElastiCache

步骤 1:创建子网组

在您创建集群之前,请先创建子网组。缓存子网组 是您要为 VPC 中的缓存群集指定的子网集合。当您启动 VPC 中的某个缓存群集时,您需要选择一个缓存子网组。然后 ElastiCache 使用该缓存子网组将该子网内的 IP 地址分配给群集中的每个缓存节点。

当您创建新的子网组时,请记下可用 IP 地址的数量。如果子网拥有的空闲 IP 地址寥寥无几,则您还可以向集群中添加的节点数可能会受限制。要解决此问题,您可以对某一子网组分配一个或多个子网,这样集群的可用区中便会有充足数量的 IP 地址。之后,便可向您的集群中添加更多节点。

以下过程演示如何创建名为 mysubnetgroup 的子网组(控制台)和 AWS CLI。

以下过程介绍如何创建子网组(控制台)。

创建子网组(控制台)
  1. 登录到 AWS 管理控制台,然后在上打开 ElastiCache 控制台https://console.aws.amazon.com/elasticache/

  2. 在导航列表中,选择 Subnet Groups

  3. 选择 Create Subnet Group

  4. Create Subnet Group(创建子网组)向导中,执行以下操作。根据需要完成所有设置后,选择 Yes, Create

    1. Name 框中,为子网组键入名称。

    2. Description 框中,为子网组键入描述。

    3. VPC ID 框中,选择您创建的 Amazon VPC。

    4. Availability Zone(可用区)Subnet ID(子网 ID)列表中,选择可用区或 Local Zone(本地区域)和您的私有子网 ID,然后选择 Add(添加)

      图像:创建子网 VPC 屏幕
  5. 在出现的确认信息中,选择 Close

您的新子网组显示在 ElastiCache 控制台的子网组列表中。您可以在窗口底部选择子网组以查看详细信息,例如与此组关联的所有子网。

以下过程介绍如何创建子网组(控制台)。

创建子网组(控制台)
  1. 登录到 AWS 管理控制台,然后在上打开 ElastiCache 控制台https://console.aws.amazon.com/elasticache/

  2. 在导航列表中,选择 Subnet Groups

  3. 选择 Create Subnet Group

  4. Create Subnet Group(创建子网组)向导中,执行以下操作。根据需要完成所有设置后,选择 Yes, Create

    1. Name 框中,为子网组键入名称。

    2. Description 框中,为子网组键入描述。

    3. VPC ID 框中,选择您创建的 Amazon VPC。

    4. Availability Zone(可用区)Subnet ID(子网 ID)列表中,选择可用区或 Local Zone(本地区域)和您的私有子网 ID,然后选择 Add(添加)

      图像:创建子网 VPC 屏幕
  5. 在出现的确认信息中,选择 Close

您的新子网组显示在 ElastiCache 控制台的子网组列表中。您可以在窗口底部选择子网组以查看详细信息,例如与此组关联的所有子网。

在命令提示符处,使用命令 create-cache-subnet-group 创建子网组。

对于 Linux、macOS 或 Unix:

aws elasticache create-cache-subnet-group \ --cache-subnet-group-name mysubnetgroup \ --cache-subnet-group-description "Testing" \ --subnet-ids subnet-53df9c3a

对于 Windows:

aws elasticache create-cache-subnet-group ^ --cache-subnet-group-name mysubnetgroup ^ --cache-subnet-group-description "Testing" ^ --subnet-ids subnet-53df9c3a

该命令应该生成类似于下述信息的输出:

{ "CacheSubnetGroup": { "VpcId": "vpc-37c3cd17", "CacheSubnetGroupDescription": "Testing", "Subnets": [ { "SubnetIdentifier": "subnet-53df9c3a", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ], "CacheSubnetGroupName": "mysubnetgroup" } }

有关更多信息,请参阅 AWS CLI 主题 create-cache-subnet-group.

在命令提示符处,使用命令 create-cache-subnet-group 创建子网组。

对于 Linux、macOS 或 Unix:

aws elasticache create-cache-subnet-group \ --cache-subnet-group-name mysubnetgroup \ --cache-subnet-group-description "Testing" \ --subnet-ids subnet-53df9c3a

对于 Windows:

aws elasticache create-cache-subnet-group ^ --cache-subnet-group-name mysubnetgroup ^ --cache-subnet-group-description "Testing" ^ --subnet-ids subnet-53df9c3a

该命令应该生成类似于下述信息的输出:

{ "CacheSubnetGroup": { "VpcId": "vpc-37c3cd17", "CacheSubnetGroupDescription": "Testing", "Subnets": [ { "SubnetIdentifier": "subnet-53df9c3a", "SubnetAvailabilityZone": { "Name": "us-west-2a" } } ], "CacheSubnetGroupName": "mysubnetgroup" } }

有关更多信息,请参阅 AWS CLI 主题 create-cache-subnet-group.

步骤 2:创建集群

在创建用于生产使用的集群之前,您显然需要考虑如何配置集群以满足您的业务需求。这些问题在 在中准备集群 ElastiCache 部分中解决。就本入门练习而言,您将创建一个禁用集群模式的集群,并且您可以在其适用时接受默认配置值。

您所创建的集群将是活动的,不会在沙盒中运行。在您删除实例之前,您需要为其支付标准 ElastiCache 使用费。如果您一鼓作气完成此处描述的练习并在使用完毕后删除集群,则产生的全部费用将非常少(通常不到一美元)。有关 ElastiCache 使用费率的更多信息,请参阅 Amazon ElastiCache

在虚拟私有云(VPC)中基于 Amazon VPC 服务启动集群。

创建 Redis OSS(已禁用集群模式)集群(控制台)

使用控制台创建 Redis OSS(已禁用集群模式)集群 ElastiCache
  1. 登录 AWS Management Console 并打开 Amazon ElastiCache 控制台,网址为https://console.aws.amazon.com/elasticache/

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

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

  4. 选择 Create VPC(创建 VPC)并按照创建虚拟私有云(VPC)中的步骤操作。

  5. 在 ElastiCache 控制面板页面上,选择 Valkey 缓存Redis OSS 缓存。在本练习中,我们将选择 Redis OSS 缓存,然后选择创建 Redis OSS 缓存。

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

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

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

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

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

  7. Location(位置)下:

    AWS Cloud
    1. 对于 AWS Cloud,我们建议您接受 Multi-AZ(多可用区)和 Auto-failover(自动失效转移)的默认设置。有关更多信息,请参阅使用多可用区 ElastiCache 最大限度地缩短 Redis 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. 对于 Number of replicas(副本数),选择所需的只读副本数。如果您启用多可用区,则该数字必须介于 1-5 之间。

    3. Connectivity(连接)下

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

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

        创建新的子网组时,输入其所属的 VPC ID

        有关更多信息,请参阅:

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

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

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

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

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

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

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

    5. 选择 Next(下一步)

    6. 高级 Redis OSS 设置

      1. 对于 Security(安全):

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

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

            注意

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

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

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

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

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

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

          注意

          对于 Redis OSS 3.2.6 以上的版本(版本 3.2.10 除外),只能选择 Redis OSS 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(日志)

      • Log format(日志格式)下,选择 Text(文本)JSON

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

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

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

    11. 选择 Next(下一步)。

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

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

    2. 要完成集群创建,请按照使用 Outposts 中的步骤操作。

    1. 对于 AWS Cloud,我们建议您接受 Multi-AZ(多可用区)和 Auto-failover(自动失效转移)的默认设置。有关更多信息,请参阅使用多可用区 ElastiCache 最大限度地缩短 Redis 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. 对于 Number of replicas(副本数),选择所需的只读副本数。如果您启用多可用区,则该数字必须介于 1-5 之间。

    3. Connectivity(连接)下

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

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

        创建新的子网组时,输入其所属的 VPC ID

        有关更多信息,请参阅:

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

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

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

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

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

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

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

    5. 选择 Next(下一步)

    6. 高级 Redis OSS 设置

      1. 对于 Security(安全):

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

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

            注意

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

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

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

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

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

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

          注意

          对于 Redis OSS 3.2.6 以上的版本(版本 3.2.10 除外),只能选择 Redis OSS 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(日志)

      • Log format(日志格式)下,选择 Text(文本)JSON

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

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

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

    11. 选择 Next(下一步)。

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

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

重要

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

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

对于 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 \ --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 ^ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

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

对于 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 \ --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 ^ --snapshot-arns arn:aws:s3:::my_bucket/snapshot.rdb

要在启用集群模式的情况下工作,请参阅以下主题:

步骤 3:授予对集群的访问权限

本节假设您熟悉启动和连接 Amazon EC2 实例。有关更多信息,请参阅 Amazon EC2 入门指南

所有 ElastiCache 集群均设计为可从 Amazon EC2 实例进行访问。最常见的情况是从同一个亚马逊虚拟私有云 (Amazon VPC) 中的亚马逊 EC2 实例访问 ElastiCache 集群,本练习就是这种情况。

原定设置情况下,对您的集群的网络访问仅限于用于创建集群的账户。必须先授权该 EC2 实例访问集群,然后才能从 EC2 实例连接到集群。所需的步骤取决于您是在 EC2-VPC 还是 EC2-Classic 中启动集群。

最常见的用例是部署在 EC2 实例上的应用程序需要连接到同一 VPC 中的集群。管理同一 VPC 中 EC2 实例和集群之间访问权限的最简单方法是执行以下操作:

  1. 为集群创建 VPC 安全组。此安全组可用于限制对集群实例的访问权限。例如,可为此安全组创建自定义规则,允许使用您创建集群时分配给该集群的端口以及将用来访问集群的 IP 地址进行 TCP 访问。

    Redis OSS 集群和复制组的默认端口为 6379

    重要

    亚马逊 ElastiCache 安全组仅适用于在亚马逊虚拟私有云环境 (VPC) 中运行的集群。如果您正在 Amazon Virtual Private Cloud 中运行,安全组将在控制台导航窗格中将不可用。

    如果您在 Amazon VPC 中运行 ElastiCache 节点,则可以使用不同于安全组的 Amazon VPC 安全组来控制对集群的 ElastiCache 访问权限。有关在 Amazon VPC ElastiCache 中使用的更多信息,请参阅 Amazon VPCs 与 ElastiCache 安全

  2. 为您的 EC2 实例(Web 和应用程序服务器)创建 VPC 安全组。如果需要,此安全组可以允许通过 VPC 的路由表从 Internet 访问 EC2 实例。例如,您可以在此安全组上设置规则,允许 TCP 通过端口 22 访问 EC2 实例。

  3. 在集群的安全组中创建自定义规则,允许来自您为 EC2 实例创建的安全组的连接。这将允许安全组的任何成员均可访问集群。

注意

如果您计划使用 将本地区域与 ElastiCache,请确保已将其启用。当您在该本地区域中创建子网组时,您的 VPC 也会扩展到该本地区域,并且您的 VPC 会将该子网视为任何其他可用区中的任何子网。所有相关网关和路由表都将自动调整。

在 VPC 安全组中创建允许从另一安全组连接的规则
  1. 登录 AWS 管理控制台并在 https://console.aws.amazon.com/vpc 上打开 Amazon VPC 控制台。

  2. 在导航窗格中,选择安全组

  3. 选择或创建一个要用于集群实例的安全组。在入站规则下,选择编辑入站规则,然后选择添加规则。此安全组将允许访问其他安全组的成员。

  4. Type 中选择 Custom TCP Rule

    1. 对于 Port Range,指定在创建集群时使用的端口。

      Redis OSS 集群和复制组的默认端口为 6379

    2. Source 框中,开始键入安全组的 ID。从列表中选择您将用于 Amazon EC2 实例的安全组。

  5. 完成后选择 Save

    图像:入站 VPC 规则编辑屏幕

启用访问后,您现在就可以连接到节点,如下一部分中所述。

有关从其他 Amazon VPC、不同 AWS 区域甚至企业网络访问您的ElastiCache 集群的信息,请参阅以下内容:

步骤 4:连接到集群节点

在继续之前,请完成步骤 3:授予对集群的访问权限

本节假设您已经创建了一个 Amazon EC2 实例并且可以连接到该实例。有关如何执行此操作的说明,请参阅《Amazon EC2 入门指南》

只有在您授权后,Amazon EC2 实例才能连接到集群节点。

查找您的节点端点

当您的集群处于可用状态并且您已获得访问权限时,您可以登录 Amazon EC2 实例并连接到该集群。为此,您必须先确定端点。

查找 Valkey 或 Redis OSS(已禁用集群模式)集群端点(控制台)

如果 Redis OSS(已禁用集群模式)集群只有一个节点,则使用该节点的端点进行读取和写入操作。如果该集群具有多个节点,则有三种类型的端点,即主端点读取器端点节点端点

主端点是一个 DNS 名称,始终解析为集群中的主节点。主端点不受集群更改的影响,如将只读副本提升为主角色。对于写入活动,我们建议您的应用程序连接到主端点。

读取器终端节点将在适用于 Redis OSS 集群的所有只读副本之间平均分配到该终端节点 ElastiCache 的传入连接。应用程序何时创建连接或应用程序如何(重复)使用连接等附加因素将决定流量分配。读取器端点会在添加或删除副本时实时跟踪集群更改。您可以将 For Redis OSS 集群的多个只读副本放在不同的 AWS 可用区 (AZ) 中,以确保读取器终端节点的高可用性。 ElastiCache

注意

读取器端点不是负载均衡器。它是一个 DNS 记录,将以循环方式解析为副本节点之一的 IP 地址。

对于读取活动,应用程序还可以连接到集群中的任何节点。与主端点不同,节点端点会解析为特定端点。如果您在您的集群中进行更改(例如添加或删除副本),则必须在您的应用程序中更新节点端点。

查找 Redis OSS(已禁用集群模式)集群的端点
  1. 登录 AWS Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 从导航窗格中,选择 Redis OSS 缓存

    集群屏幕将显示一个列表,其中包含任何现有 Valkey 或 Redis OSS 无服务器缓存、Redis OSS(已禁用集群模式)和 Redis OSS(已启用集群模式)集群。选择在 创建 Redis OSS(已禁用集群模式)集群(控制台) 部分中创建的集群。

  3. 要查找集群的主端点和/或读取器端点,请选中集群的名称(不是单选按钮)。

    图片:Redis OSS(已禁用集群模式)集群的主端点

    Redis OSS(已禁用集群模式)集群的主端点和读取器端点

    如果该集群只有一个节点,则没有主端点,您可以继续下一步。

  4. 如果 Redis OSS(已禁用集群模式)集群有副本节点,您可以通过选择此集群的名称、然后选择节点选项卡来找到集群副本的节点端点。

    此时会显示节点屏幕,其中列出了集群中的每个节点(主节点和副本节点)及其端点。

    图片:Redis OSS(已禁用集群模式)集群的节点端点

    Redis OSS(已禁用集群模式)集群的节点端点

  5. 将端点复制到剪贴板:

    1. 逐一找到要复制的端点。

    2. 直接选择端点前面的复制图标。

    端点现已复制到剪贴板。有关使用端点连接到节点的信息,请参阅 连接到节点

Redis OSS(已禁用集群模式)主端点类似以下内容。根据是否已启用传输中加密而有所不同。

未启用传输中加密

clusterName.xxxxxx.nodeId.regionAndAz.cache.amazonaws.com:port redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379

已启用传输中加密

master.clusterName.xxxxxx.regionAndAz.cache.amazonaws.com:port master.ncit.ameaqx.use1.cache.amazonaws.com:6379

为进一步了解如何查找您的端点,请参阅您正在运行的引擎和集群类型的相关主题。

现在您已经有了所需的终端节点,可以登录 EC2 实例并连接到集群或复制组。在以下示例中,您使用 valkey-cli 实用工具连接到集群。最新版本的 valkey-cli 还支持SSL/TLS for connecting encryption/authentication已启用的集群。

以下示例使用运行亚马逊 Linux 和亚马逊 Linux 2 的亚马逊 EC2 实例。有关使用其他 Linux 发行版安装和编译 valkey-cli 的详细信息,请参阅特定操作系统的文档。

注意

此过程包括使用仅供计划外使用的 valkey-cli 实用工具测试连接。有关受支持客户端的列表,请参阅 Valkey 文档。有关与 with AWS SDKs 一起使用的示例 ElastiCache,请参见教程:Python 入门和 ElastiCache

连接到已禁用集群模式的未加密的集群

  1. 运行以下命令以连接到集群,并将primary-endpointport number替换为集群的终端节点和您的端口号。(Valkey 和 Redis OSS 的默认端口为 6379。)

    src/valkey-cli -h primary-endpoint -p port number

    命令提示符的结果类似于以下内容:

    primary-endpoint:port number
  2. 现在您就可以运行 Valkey 和 Redis OSS 命令了。

    set x Hello OK get x "Hello"

连接到已启用集群模式的未加密集群

  1. 运行以下命令以连接到集群,并将configuration-endpointport number替换为集群的终端节点和您的端口号。(Valkey 和 Redis OSS 的默认端口为 6379。)

    src/valkey-cli -h configuration-endpoint -c -p port number
    注意

    在上述命令中,选项 -c 可遵循 -ASK 和 -MOVED 重新导向启用集群模式。

    命令提示符的结果类似于以下内容:

    configuration-endpoint:port number
  2. 现在您就可以运行 Valkey 和 Redis OSS 命令了。请注意,重新导向发生是因为您使用 -c 选项启用了它。如果未启用重新导向,则命令将返回 MOVED 错误。有关 MOVED 错误的更多信息,请参阅集群规范

    set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"

连接到启用加密/身份验证的集群

默认情况下,valkey-cli 在连接到 Valkey 和 Redis OSS 时使用未加密的 TCP 连接。选项 BUILD_TLS=yes 在 valkey-cli 编译时启用 SSL/TLS,如上述 下载并设置命令行访问权限 部分所示。启用 AUTH 是可选的。但是,您必须启用传输过程中的加密才能启用 AUTH。有关 ElastiCache 加密和身份验证的更多详细信息,请参阅ElastiCache 传输中加密 (TLS)

注意

您可以通过 valkey-cli 使用选项 --tls 连接到已启用和已禁用集群模式的加密集群。如果集群设置了 AUTH 令牌,则可以使用选项 -a 以提供 AUTH 密码。

在以下示例中,请务必将cluster-endpointport number替换为集群的终端节点和您的端口号。(Redis OSS 的默认端口为 6379。)

连接到已禁用集群模式的加密群集

以下示例连接到已启用加密和身份验证的集群:

src/valkey-cli -h cluster-endpoint --tls -a your-password -p port number

以下示例连接到仅启用加密的集群:

src/valkey-cli -h cluster-endpoint --tls -p port number

连接到已启用集群模式的加密群集

以下示例连接到已启用加密和身份验证的集群:

src/valkey-cli -c -h cluster-endpoint --tls -a your-password -p port number

以下示例连接到仅启用加密的集群:

src/valkey-cli -c -h cluster-endpoint --tls -p port number

连接到集群后,您可以为未加密集群运行上述示例中的 Valkey 或 Redis OSS 命令。

valkey-cli 或 redis-CLI 的替代方案

如果集群未启用集群模式,并且您需要与集群建立连接以进行短期测试(但不经过 valkey-cli 或 redis-cli 编译),则可以使用 telnet 或 openssl。在以下示例命令中,请务必使用集群port number的终端节点和端口号替换cluster-endpoint和。(Redis OSS 的默认端口为 6379。)

以下示例连接到已启用加密和/或身份验证且已禁用集群模式的集群:

openssl s_client -connect cluster-endpoint:port number

如果集群已设置密码,请先连接到集群。连接后,使用以下命令对集群进行身份验证,然后按 Enter 键。在以下示例中,your-password替换为您的集群的密码。

Auth your-password

以下示例连接到未启用加密或身份验证的已禁用集群模式的集群:

telnet cluster-endpoint port number

连接到 Valkey 或 Redis OSS 集群或复制组(Linux)

现在您已经有了所需的终端节点,可以登录 EC2 实例并连接到集群或复制组。在以下示例中,您使用 valkey-cli 实用工具连接到集群。最新版本的 valkey-cli 还支持SSL/TLS for connecting encryption/authentication已启用的集群。

以下示例使用运行亚马逊 Linux 和亚马逊 Linux 2 的亚马逊 EC2 实例。有关使用其他 Linux 发行版安装和编译 valkey-cli 的详细信息,请参阅特定操作系统的文档。

注意

此过程包括使用仅供计划外使用的 valkey-cli 实用工具测试连接。有关受支持客户端的列表,请参阅 Valkey 文档。有关与 with AWS SDKs 一起使用的示例 ElastiCache,请参见教程:Python 入门和 ElastiCache

连接到已禁用集群模式的未加密的集群

  1. 运行以下命令以连接到集群,并将primary-endpointport number替换为集群的终端节点和您的端口号。(Valkey 和 Redis OSS 的默认端口为 6379。)

    src/valkey-cli -h primary-endpoint -p port number

    命令提示符的结果类似于以下内容:

    primary-endpoint:port number
  2. 现在您就可以运行 Valkey 和 Redis OSS 命令了。

    set x Hello OK get x "Hello"

连接到已启用集群模式的未加密集群

  1. 运行以下命令以连接到集群,并将configuration-endpointport number替换为集群的终端节点和您的端口号。(Valkey 和 Redis OSS 的默认端口为 6379。)

    src/valkey-cli -h configuration-endpoint -c -p port number
    注意

    在上述命令中,选项 -c 可遵循 -ASK 和 -MOVED 重新导向启用集群模式。

    命令提示符的结果类似于以下内容:

    configuration-endpoint:port number
  2. 现在您就可以运行 Valkey 和 Redis OSS 命令了。请注意,重新导向发生是因为您使用 -c 选项启用了它。如果未启用重新导向,则命令将返回 MOVED 错误。有关 MOVED 错误的更多信息,请参阅集群规范

    set x Hi -> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"

连接到启用加密/身份验证的集群

默认情况下,valkey-cli 在连接到 Valkey 和 Redis OSS 时使用未加密的 TCP 连接。选项 BUILD_TLS=yes 在 valkey-cli 编译时启用 SSL/TLS,如上述 下载并设置命令行访问权限 部分所示。启用 AUTH 是可选的。但是,您必须启用传输过程中的加密才能启用 AUTH。有关 ElastiCache 加密和身份验证的更多详细信息,请参阅ElastiCache 传输中加密 (TLS)

注意

您可以通过 valkey-cli 使用选项 --tls 连接到已启用和已禁用集群模式的加密集群。如果集群设置了 AUTH 令牌,则可以使用选项 -a 以提供 AUTH 密码。

在以下示例中,请务必将cluster-endpointport number替换为集群的终端节点和您的端口号。(Redis OSS 的默认端口为 6379。)

连接到已禁用集群模式的加密群集

以下示例连接到已启用加密和身份验证的集群:

src/valkey-cli -h cluster-endpoint --tls -a your-password -p port number

以下示例连接到仅启用加密的集群:

src/valkey-cli -h cluster-endpoint --tls -p port number

连接到已启用集群模式的加密群集

以下示例连接到已启用加密和身份验证的集群:

src/valkey-cli -c -h cluster-endpoint --tls -a your-password -p port number

以下示例连接到仅启用加密的集群:

src/valkey-cli -c -h cluster-endpoint --tls -p port number

连接到集群后,您可以为未加密集群运行上述示例中的 Valkey 或 Redis OSS 命令。

valkey-cli 或 redis-CLI 的替代方案

如果集群未启用集群模式,并且您需要与集群建立连接以进行短期测试(但不经过 valkey-cli 或 redis-cli 编译),则可以使用 telnet 或 openssl。在以下示例命令中,请务必使用集群port number的终端节点和端口号替换cluster-endpoint和。(Redis OSS 的默认端口为 6379。)

以下示例连接到已启用加密和/或身份验证且已禁用集群模式的集群:

openssl s_client -connect cluster-endpoint:port number

如果集群已设置密码,请先连接到集群。连接后,使用以下命令对集群进行身份验证,然后按 Enter 键。在以下示例中,your-password替换为您的集群的密码。

Auth your-password

以下示例连接到未启用加密或身份验证的已禁用集群模式的集群:

telnet cluster-endpoint port number

要使用 Valkey 或 Redis OSS CLI 从 EC2 Windows 实例连接到集群,你必须下载 v alkey-cli 包并使用 valkey-cli.exe 从 Windows 实例连接到 Valkey 或 Redis OSS 集群。 EC2

在以下示例中,您使用 valkey-cli 实用工具连接到未启用加密的运行 Valkey 或 Redis OSS 的集群。有关 Valkey 和可用命令的更多信息,请参阅 Valkey 网站上的 Valkey 命令

使用 valkey-cli 连接未启用加密的 Valkey 或 Redis OSS 集群
  1. 使用您选择的连接实用程序连接到您的 Amazon EC2 实例。有关如何连接亚马逊 EC2 实例的说明,请参阅《亚马逊 EC2 入门指南》

  2. 将链接复制并粘贴到互联网浏览器https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip中,即可从可用版本中下载 Redis OSS 客户端的 zip 文件,网址为 GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

    将 zip 文件提取到您指定的文件夹/路径。

    打开命令提示符并更改为 Valkey 目录,然后运行命令 c:\Valkey>valkey-cli -h Valkey_Cluster_Endpoint -p 6379

    例如:

    c:\Valkey>valkey-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
  3. 运行 Valkey 或 Redis OSS 命令。

    您现已连接至集群并且可以按以下方式运行 Valkey 或 Redis OSS 命令。

    set a "hello" // Set key "a" with a string value and no expiration OK get a // Get value for key "a" "hello" get b // Get value for key "b" results in miss (nil) set b "Good-bye" EX 5 // Set key "b" with a string value and a 5 second expiration "Good-bye" get b // Get value for key "b" "Good-bye" // wait >= 5 seconds get b (nil) // key has expired, nothing returned quit // Exit from valkey-cli

连接到 Valkey 或 Redis OSS 集群或复制组(Windows)

要使用 Valkey 或 Redis OSS CLI 从 EC2 Windows 实例连接到集群,你必须下载 v alkey-cli 包并使用 valkey-cli.exe 从 Windows 实例连接到 Valkey 或 Redis OSS 集群。 EC2

在以下示例中,您使用 valkey-cli 实用工具连接到未启用加密的运行 Valkey 或 Redis OSS 的集群。有关 Valkey 和可用命令的更多信息,请参阅 Valkey 网站上的 Valkey 命令

使用 valkey-cli 连接未启用加密的 Valkey 或 Redis OSS 集群
  1. 使用您选择的连接实用程序连接到您的 Amazon EC2 实例。有关如何连接亚马逊 EC2 实例的说明,请参阅《亚马逊 EC2 入门指南》

  2. 将链接复制并粘贴到互联网浏览器https://github.com/microsoftarchive/redis/releases/download/win-3.0.504/Redis-x64-3.0.504.zip中,即可从可用版本中下载 Redis OSS 客户端的 zip 文件,网址为 GitHub https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504

    将 zip 文件提取到您指定的文件夹/路径。

    打开命令提示符并更改为 Valkey 目录,然后运行命令 c:\Valkey>valkey-cli -h Valkey_Cluster_Endpoint -p 6379

    例如:

    c:\Valkey>valkey-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
  3. 运行 Valkey 或 Redis OSS 命令。

    您现已连接至集群并且可以按以下方式运行 Valkey 或 Redis OSS 命令。

    set a "hello" // Set key "a" with a string value and no expiration OK get a // Get value for key "a" "hello" get b // Get value for key "b" results in miss (nil) set b "Good-bye" EX 5 // Set key "b" with a string value and a 5 second expiration "Good-bye" get b // Get value for key "b" "Good-bye" // wait >= 5 seconds get b (nil) // key has expired, nothing returned quit // Exit from valkey-cli
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。