查找连接端点 - ElastiCache 适用于 Redis 的 Amazon

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

查找连接端点

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

如果您不使用 Automatic Discovery,则必须对客户端进行配置,以便针对读取和写入使用不同的节点端点。此外,在添加或删除节点时,您还必须跟踪它们的情况。

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

     

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

     

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

     

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

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

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

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

注意

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

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

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

  2. 从导航窗格中,选择 Redis clusters(Redis 集群)。

    集群屏幕将显示 Redis(已禁用集群模式)和 Redis(已启用集群模式)集群的列表。

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

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

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

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

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

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

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

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

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

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

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

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

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(已启用集群模式)集群的端点
  1. 登录 AWS Management Console 并打开 ElastiCache 控制台(https://console.aws.amazon.com/elasticache/)。

  2. 从导航窗格中,选择 Redis clusters(Redis 集群)。

    集群屏幕将显示 Redis(已禁用集群模式)和 Redis(已启用集群模式)集群的列表。选择要连接的 Redis(已启用集群模式)集群。

  3. 要查找集群的配置端点,请选择集群的名称(不是单选按钮)。

  4. Cluster details(集群详细信息)下将显示 Configuration endpoint(配置端点)。要复制它,请选择位于端点左侧的 copy(复制)图标。

您可以使用 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、macOS 或 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.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", "DataTiering": "disabled" "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.amazonaws.com" }, "CacheClusterId": "myreplgroup-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-002.amazonaws.com" }, "CacheClusterId": "myreplgroup-002" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-003.amazonaws.com" }, "CacheClusterId": "myreplgroup-003" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "myreplgroup.amazonaws.com" }, "ReaderEndpoint": { "Port": 6379, "Address": "myreplgroup-ro.amazonaws.com" } } ], "ReplicationGroupId": "myreplgroup", "AutomaticFailover": "enabled", "SnapshottingClusterId": "myreplgroup-002", "MemberClusters": [ "myreplgroup-001", "myreplgroup-002", "myreplgroup-003" ], "PendingModifiedValues": {} } ] }

有关更多信息,请参阅 AWS CLI 命令参考中的 describe-replication-groups

您可以使用 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