本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:连接到集群节点
在继续之前,请完成步骤 3:授予对集群的访问权限。
此部分假设您已创建了 Amazon EC2 实例并可以连接到该实例。有关如何执行此操作的说明,请参阅 Amazon EC2 入门指南。
仅当您进行授权后,Amazon EC2 实例才能连接到集群节点。
查找您的节点端点
在您的集群处于可用状态且您已授予对该集群的访问权限时,您可以登录 Amazon EC2 实例并连接到该集群。为此,您必须先确定端点。
查找 Redis OSS(已禁用集群模式)集群的终端节点(控制台)
如果 Redis OSS(已禁用集群模式)集群只有一个节点,则该节点的终端节点用于读取和写入。如果该集群具有多个节点,则有三种类型的端点,即主端点、读取器端点和节点端点。
主端点是一个 DNS 名称,始终解析为集群中的主节点。主端点不受集群更改的影响,如将只读副本提升为主角色。对于写入活动,我们建议您的应用程序连接到主端点。
读取器终端节点将在 ElastiCache (Redis OSS) 集群中的所有只读副本之间平均分配到该终端节点的传入连接。应用程序何时创建连接或应用程序如何(重复)使用连接等附加因素将决定流量分配。读取器端点会在添加或删除副本时实时跟踪集群更改。您可以将 ElastiCache (Redis OSS) 集群的多个只读副本放在不同的 Amazon 可用区 (AZ) 中,以确保读取器终端节点的高可用性。
注意
读取器端点不是负载均衡器。它是一个 DNS 记录,将以循环方式解析为副本节点之一的 IP 地址。
对于读取活动,应用程序还可以连接到集群中的任何节点。与主端点不同,节点端点会解析为特定端点。如果您在您的集群中进行更改(例如添加或删除副本),则必须在您的应用程序中更新节点端点。
查找 Redis OSS(已禁用集群模式)集群的终端节点
-
登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
在导航窗格中,选择 Redis OSS 缓存。
集群屏幕将显示一个列表,其中包括所有现有的 Redis OSS 无服务器缓存、Redis OSS(已禁用集群模式)和 Redis OSS(已启用集群模式)集群。选择在 创建 Redis OSS(已禁用集群模式)集群(控制台) 部分中创建的集群。
-
要查找集群的主端点和/或读取器端点,请选中集群的名称(不是单选按钮)。
Redis OSS(已禁用集群模式)集群的主终端节点和读取器终端节点
如果该集群只有一个节点,则没有主端点,您可以继续下一步。
-
如果 Redis OSS(已禁用集群模式)集群具有副本节点,则可以通过选择集群的名称然后选择 “节点” 选项卡来找到集群的副本节点终端节点。
此时会显示节点屏幕,其中列出了集群中的每个节点(主节点和副本节点)及其端点。
Redis OSS(已禁用集群模式)集群的节点终端节点
-
将端点复制到剪贴板:
-
逐一找到要复制的端点。
-
直接选择端点前面的复制图标。
端点现已复制到剪贴板。有关使用端点连接到节点的信息,请参阅 连接到节点。
-
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 实例并连接到集群或复制组。在以下示例中,您使用 redis-cli 实用工具连接到集群。最新版本的 redis-cli 还支持 SSL/TLS 用于连接启用加密/身份验证的集群。
以下示例使用运行 Amazon Linux 和 Amazon Linux 2 的 Amazon EC2 实例。有关使用其他 Linux 发行版安装和编译 redis-cli 的详细信息,请参阅特定操作系统的文档。
注意
此过程包括使用仅供计划外使用的 redis-cli 实用工具测试连接。有关支持的 Redis OSS 客户端的列表,请参阅 Redis OSS 文档
连接到已禁用集群模式的未加密的集群
运行以下命令以连接到集群,并将
primary-endpoint
和port number
替换为您的集群端点和您的端口号。(Redis OSS 的默认端口为 6379。)src/redis-cli -h
primary-endpoint
-pport number
Redis OSS 命令提示符中的结果与以下内容类似:
primary-endpoint
:port number
您现在可以运行 Redis OSS 命令了。
set x Hello OK get x "Hello"
连接到已启用集群模式的未加密集群
运行以下命令以连接到集群,并将
configuration-endpoint
和port number
替换为您的集群的端点和您的端口号。(Redis OSS 的默认端口为 6379。)src/redis-cli -h
configuration-endpoint
-c -pport number
注意
在上述命令中,选项 -c 可遵循 -ASK 和 -MOVED 重新导向
启用集群模式。 Redis OSS 命令提示符中的结果与以下内容类似:
configuration-endpoint
:port number
您现在可以运行 Redis OSS 命令了。请注意,重新导向发生是因为您使用 -c 选项启用了它。如果未启用重新导向,则命令将返回 MOVED 错误。有关 MOVED 错误的更多信息,请参阅 Redis OSS 集群规范
。 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"
连接到启用加密/身份验证的集群
默认情况下,redis-cli 在连接 Redis OSS 时使用未加密的 TCP 连接。选项 BUILD_TLS=yes
在 redis-cli 编译时启用 SSL/TLS,如上述 下载并设置 redis-cli 部分所示。启用 AUTH 是可选的。但是,您必须启用传输过程中的加密才能启用 AUTH。有关 ElastiCache 加密和身份验证的更多详细信息,请参阅ElastiCache 传输中加密 () TLS。
注意
您可以通过 redis-cli 使用选项 --tls
连接到已启用和已禁用集群模式的加密集群。如果集群设置了 AUTH 令牌,则可以使用选项 -a
以提供 AUTH 密码。
在以下示例中,确保将 cluster-endpoint(集群端点)
和 port number(端口号)
替换为您的集群端点和您的端口号。(Redis OSS 的默认端口为 6379。)
连接到已禁用集群模式的加密群集
以下示例连接到已启用加密和身份验证的集群:
src/redis-cli -h
cluster-endpoint
--tls -ayour-password
-pport number
以下示例连接到仅启用加密的集群:
src/redis-cli -h
cluster-endpoint
--tls -pport number
连接到已启用集群模式的加密群集
以下示例连接到已启用加密和身份验证的集群:
src/redis-cli -c -h
cluster-endpoint
--tls -ayour-password
-pport number
以下示例连接到仅启用加密的集群:
src/redis-cli -c -h
cluster-endpoint
--tls -pport number
连接到集群后,您可以针对未加密的集群运行 Redis OSS 命令,如前面的示例所示。
Redis-cli 替代方案
如果集群未启用集群模式,并且您需要与集群建立连接以进行短期测试(但不经过 redis-cli 编译),则可以使用 telnet 或 openssl。在以下示例命令中,确保将 cluster-endpoint(集群端点)
和 port number(端口号)
替换为您的集群端点和您的端口号。(Redis OSS 的默认端口为 6379。)
以下示例连接到已启用加密和/或身份验证且已禁用集群模式的集群:
openssl s_client -connect
cluster-endpoint
:port number
如果集群已设置密码,请先连接到集群。连接后,使用以下命令对集群进行身份验证,然后按 Enter
键。在以下示例中,将 your-password
替换为您的集群密码。
Auth
your-password
以下示例连接到未启用加密或身份验证的已禁用集群模式的集群:
telnet
cluster-endpoint
port number
要使用 Redis OSS CLI 从 EC2 Windows 实例连接到 Redis OSS 集群,你必须下载 redis-cli 软件包并使用 redis-cli.exe 从 EC2 Windows 实例连接到 Redis OSS 集群。
在以下示例中,您将使用 redis-cli 实用程序连接到未启用加密且运行 Redis OSS 的集群。有关 Redis OSS 和可用的 Redis OSS 命令的更多信息,请参阅 Redis OSS 网站上的 Redis OSS 命令
使用 redis-cli 连接到未启用加密的 Redis OSS 集群
-
使用您选择的连接实用工具连接到 Amazon EC2 实例。有关如何连接到 Amazon EC2 实例的说明,请参阅 Amazon EC2 入门指南。
将链接复制并粘贴到互联网浏览器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 文件提取到您指定的文件夹/路径。
打开命令提示符并切换到 Redis OSS 目录并运行命令
c:\Redis>redis-cli -h
。Redis_Cluster_Endpoint
-p 6379例如:
c:\Redis>redis-cli -h cmd.xxxxxxx.ng.0001.usw2.cache.amazonaws.com -p 6379
-
运行 Redis OSS 命令。
现在,您已连接到集群,可以运行如下所示的 Redis OSS 命令。
set a "hello"
// Set key "a" with a string value and no expiration OKget 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 secondsget b
(nil) // key has expired, nothing returnedquit
// Exit from redis-cli