用于 Redis 的 Amazon ElastiCache
ElastiCache for Redis 用户指南 (API 版本 2015-02-02)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

查找连接终端节点

您的应用程序使用终端节点连接到集群。终端节点是节点或集群的唯一的地址。

该使用哪些终端节点

  • Redis 独立节点:使用该节点的终端节点进行读取和写入操作。

     

  • Redis (已禁用集群模式)集群,使用主终端节点 进行所有写入操作。使用读取器终端节点 将在所有只读副本之间均匀地分配指向终端节点的传入连接。使用单独的节点终端节点 进行读取操作(在 API/CLI 中,它们被称作读取终端节点)。

     

  • Redis (已启用集群模式)集群:使用该集群的配置终端节点 进行所有操作。您必须使用支持 Redis 集群的客户端 (Redis 3.2)。您仍可以从独立的节点终端节点进行读取(在 API/CLI 中,它们被称作读取终端节点)。

     

以下部分将引导您发现正在运行的引擎所需的终端节点。

(控制台)查找 Redis(已禁用集群模式) 集群的终端节点

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

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

读取器终端节点将在 ElastiCache for Redis 集群中的所有只读副本之间均匀地分配指向终端节点的传入连接。读取器终端节点会在添加或删除副本时实时跟踪集群更改。您可以将 ElastiCache for Redis 集群的多个只读副本置于不同的 AWS 可用区 (AZ) 中以确保读取器终端节点的高可用性。

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

查找 Redis (已禁用集群模式)集群的终端节点

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

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

    集群屏幕随即出现,其中显示 Redis (已禁用集群模式)和 Redis (已启用集群模式)集群的列表。

  3. 要查找集群的主终端节点和/或读取器终端节点,请选中集群名称左侧的框。

    图像:Redis (已禁用集群模式)集群的主终端节点

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

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

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

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

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

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

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

    1. 找到并突出显示要复制的终端节点,每次一个终端节点。

    2. 右键单击突出显示的终端节点,然后从上下文菜单中选择 Copy

    突出显示的终端节点现已复制到剪贴板。

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

(控制台)查找 Redis(已启用集群模式) 集群的终端节点

使用配置终端节点进行读取和写入操作。由 Redis 决定该访问哪个集群节点。

以下过程演示如何查找和复制 Redis (已启用集群模式) 集群终端节点。

查找 Redis (已启用集群模式)集群的配置终端节点

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

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

    此时会显示一个列表,其中包含运行任意版本 Redis 的集群。

  3. 从集群列表中,选择运行“集群 Redis”的集群左侧的复选框。

    此时屏幕会展开,以显示有关选定集群的详细信息。

  4. 找到 Configuration endpoint

    图像:Redis (已启用集群模式)集群的配置终端节点

    Redis (已启用集群模式)集群的配置终端节点

查找 Redis (已启用集群模式)集群的节点终端节点

  1. 登录 AWS 管理控制台 并通过以下网址打开 ElastiCache 控制台:https://console.amazonaws.cn/elasticache/

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

    此时会显示一个列表,其中包含运行任意版本 Redis 的集群。

  3. 从集群列表中,选择运行“集群 Redis”的集群的名称。

    此时会打开分片页面。

  4. 选择节点终端节点分片的名称。

    此时会显示分片节点的列表,其中包含每个节点的终端节点。

  5. 找到 Endpoint 列,并读取每个节点的终端节点。

    图像:Redis (已启用集群模式)集群的节点终端节点

    Redis (已启用集群模式)集群的节点终端节点

将终端节点复制到剪贴板

  1. 使用某个前面讲到的流程查找要复制的终端节点。

  2. 突出显示要复制的终端节点。

  3. 右键单击突出显示的终端节点,并从上下文菜单中选择 Copy

    突出显示的终端节点现已复制到剪贴板。

Redis (已启用集群模式) 配置终端节点类似以下内容。

未启用传输中加密

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

已启用传输中加密

clustercfg.clusterName.xxxxxx.regionAndAz.cache.amazonaws.com:port clustercfg.rce.ameaqx.use1.cache.amazonaws.com:6379

(AWS CLI) 查找终端节点

您可以使用 AWS CLI for Amazon ElastiCache 来搜索节点、集群和复制组的终端节点。

(AWS CLI) 查找节点和集群的终端节点

您可以使用 AWS CLI,通过 describe-cache-clusters 命令查找集群及其节点的终端节点。对于 Redis 集群,此命令将返回集群终端节点。 如果包含可选参数 --show-cache-node-info,则此命令还将返回集群中的单个节点的终端节点。

以下命令检索单节点 Redis (已禁用集群模式) 集群 mycluster 的集群信息。

重要

参数 --cache-cluster-id 可与 Redis 复制组中的单节点 Redis (已禁用集群模式) 集群 ID 或特定节点 ID 配合使用。Redis 复制组的 --cache-cluster-id 是一个四位值,例如 0001。如果 --cache-cluster-id 是 Redis 复制组中集群 (节点) 的 ID,输出中会包含 replication-group-id

对于 Linux, OS X, or Unix:

aws elasticache describe-cache-clusters \ --cache-cluster-id redis-cluster \ --show-cache-node-info

对于 Windows:

aws elasticache describe-cache-clusters ^ --cache-cluster-id redis-cluster ^ --show-cache-node-info

上面的操作输出类似以下的内容(JSON 格式)。

{ "CacheClusters": [ { "CacheClusterStatus": "available", "SecurityGroups": [ { "SecurityGroupId": "sg-77186e0d", "Status": "active" } ], "CacheNodes": [ { "CustomerAvailabilityZone": "us-east-1b", "CacheNodeCreateTime": "2018-04-25T18:19:28.241Z", "CacheNodeStatus": "available", "CacheNodeId": "0001", "Endpoint": { "Address": "redis-cluster.ameaqx.0001.use1.cache.amazonaws.com", "Port": 6379 }, "ParameterGroupStatus": "in-sync" } ], "AtRestEncryptionEnabled": false, "CacheClusterId": "redis-cluster", "TransitEncryptionEnabled": false, "CacheParameterGroup": { "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.redis3.2" }, "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-east-1b", "AutoMinorVersionUpgrade": true, "Engine": "redis", "AuthTokenEnabled": false, "PendingModifiedValues": {}, "PreferredMaintenanceWindow": "tue:08:30-tue:09:30", "CacheSecurityGroups": [], "CacheSubnetGroupName": "default", "CacheNodeType": "cache.t2.small", "EngineVersion": "3.2.10", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheClusterCreateTime": "2018-04-25T18:19:28.241Z" } ] }

有关更多信息,请参阅主题 describe-cache-clusters

(AWS CLI) 查找复制组的终端节点

您可以使用 AWS CLI,通过 describe-replication-groups 命令查找复制组及其集群的终端节点。此命令将返回复制组的主终端节点、复制组中所有集群 (节点) 及其终端节点的列表以及读取器终端节点。

以下操作检索复制组 myreplgroup 的主终端节点和读取器终端节点。将主终端节点用于所有写入操作。

aws elasticache describe-replication-groups \ --replication-group-id myreplgroup

对于 Windows:

aws elasticache describe-replication-groups ^ --replication-group-id myreplgroup

该操作输出类似以下的内容(JSON 格式)。

{ "ReplicationGroups": [ { "Status": "available", "Description": "test", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-001.1abc4d.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "myreplgroup-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-002.1abc4d.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "myreplgroup-002" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-003.1abc4d.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "myreplgroup-003" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "myreplgroup.1abc4d.ng.0001.usw2.cache.amazonaws.com" }, "ReaderEndpoint": { "Port": 6379, "Address": "myreplgroup-ro.1abc4d.ng.0001.usw2.cache.amazonaws.com" } } ], "ReplicationGroupId": "myreplgroup", "AutomaticFailover": "enabled", "SnapshottingClusterId": "myreplgroup-002", "MemberClusters": [ "myreplgroup-001", "myreplgroup-002", "myreplgroup-003" ], "PendingModifiedValues": {} } ] }

有关更多信息,请参阅 AWS CLI Command Reference 中的 describe-replication-groups

(ElastiCache API) 查找终端节点

您可以使用 Amazon ElastiCache API 来搜索节点、集群和复制组的终端节点。

(ElastiCache API) 查找节点和集群的终端节点

您可以使用 ElastiCache API,通过 DescribeCacheClusters 操作查找集群及其节点的终端节点。对于 Redis 集群,此命令将返回集群终端节点。 如果包含可选参数 ShowCacheNodeInfo,则此操作还将返回集群中的各个节点的终端节点。

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeCacheClusters &CacheClusterId=mycluster &ShowCacheNodeInfo=true &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &Version=2015-02-02 &X-Amz-Credential=<credential>

(ElastiCache API) 查找复制组的终端节点

您可以使用 ElastiCache API,通过 DescribeReplicationGroups 操作查找复制组及其集群的终端节点。此操作将返回复制组的主终端节点、复制组中所有集群及其终端节点的列表以及读取器终端节点。

以下操作检索复制组 myreplgroup 的主终端节点 (PrimaryEndpoint)、读取器终端节点 (ReaderEndpoint) 和各个节点终端节点 (ReadEndpoint)。将主终端节点用于所有写入操作。

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=myreplgroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &Version=2015-02-02 &X-Amz-Credential=<credential>

有关更多信息,请参阅 DescribeReplicationGroups