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