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

查找您的 ElastiCache 终端节点

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

该使用哪些终端节点

  • Memcached 群集:如果您使用 Automatic Discovery,则可以使用该群集的配置终端节点 来配置 Memcached 客户端。这意味着您必须使用支持 Automatic Discovery 的客户端。

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

     

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

     

  • Redis (已禁用集群模式)群集:使用主终端节点 进行所有写入操作。使用单独的节点终端节点 进行读取操作(在 API/CLI 中,它们被称作读取终端节点)。

     

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

     

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

(控制台) 查找 Memcached 群集的终端节点

所有 Memcached 终端节点都是读写终端节点。要连接到 Memcached 群集中的节点,您的应用程序可以使用每个节点的终端节点或将群集的配置终端节点与 Automatic Discovery 结合使用。要使用 Automatic Discovery,您必须使用支持 Automatic Discovery 的客户端。

在使用 Automatic Discovery 时,您的客户端应用程序将使用配置终端节点连接到 Memcached 群集。当您通过添加或移除节点来扩展群集,应用程序将自动“获知”群集中的所有节点并能够连接到其中任一节点。如果没有 Automatic Discovery,应用程序将必须执行此操作,否则,您在每次添加或移除节点时,必须手动更新应用程序中的终端节点。有关 Automatic Discovery 的其他信息,请参阅节点自动发现 (Memcached)

以下过程演示如何使用 ElastiCache 控制台查找和复制群集的配置终端节点或任意节点终端节点。

查找和复制 Memcached 群集的终端节点(控制台)

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

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

    此时将出现缓存群集屏幕,其中显示 Memcached 群集的列表。

  3. 查找需要其终端节点的 Memcached 群集。

    如果您仅需要配置终端节点,您便已实现目标。配置终端节点位于 Configuration Endpoint 列,内容如下所示: clusterName.xxxxxx.cfg.usw2.cache.amazonaws.com:port

    如果您还想查看单个节点终端节点或将任意终端节点复制到剪贴板,请选择 Copy Node Endpoint

     图像:显示 Memcached 群集的终端节点的屏幕

    Memcached 群集的终端节点

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

    1. Copy Node Endpoint 屏幕上,突出显示要复制的终端节点。

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

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

配置终端节点和节点终端节点看上非常相似。不同之处以粗体 形式突出显示。

myclustername.xxxxxx.cfg.usw2.cache.amazonaws.com:port # configuration endpoint contains "cfg" myclustername.xxxxxx.0001.usw2.cache.amazonaws.com:port # node endpoint for node 0001

重要

如果您选择为 Memcached 配置终端节点创建别名记录,以使自动发现客户端可以识别别名记录作为配置终端节点,则必须在别名记录中包含 .cfg.

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

如果 Redis (已禁用集群模式) 群集只有一个节点,则使用该节点的终端节点进行读取和写入操作。如果 Redis (已禁用集群模式) 群集有多个节点,则存在两种类型的终端节点:始终指向作为主节点的主终端节点,以及节点终端节点。主终端节点用于写入。节点终端节点用于读取。

查找 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) 查找终端节点

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

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

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

以下命令检索 Memcached 群集 mycluster 的配置终端节点 (ConfigurationEndpoint) 和各个节点终端节点 (Endpoint)。

对于 Linux, OS X, or Unix:

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

对于 Windows:

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

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

{ "CacheClusters": [ { "Engine": "memcached", "CacheNodes": [ { "CacheNodeId": "0001", "Endpoint": { "Port": 11211, "Address": "mycluster.1abc4d.0001.usw2.cache.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" }, { "CacheNodeId": "0002", "Endpoint": { "Port": 11211, "Address": "mycluster.1abc4d.0002.usw2.cache.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" }, { "CacheNodeId": "0003", "Endpoint": { "Port": 11211, "Address": "mycluster.1abc4d.0003.usw2.cache.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" } ], "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "mycluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "mycluster.1abc4d.cfg.usw2.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-22T21:30:29.967Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "available", "NumCacheNodes": 3, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": {}, "PreferredMaintenanceWindow": "mon:09:00-mon:10:00", "CacheNodeType": "cache.m4.large" } ] }

重要

如果您选择为 Memcached 配置终端节点创建别名记录,以使 PHP 客户端可以识别别名记录作为配置终端节点,则必须在别名记录中包含 .cfg.。例如,php.ini 文件中的 session.save_path 参数的 mycluster.cfg.local

有关更多信息,请转至主题 describe-cache-clusters

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

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

以下操作检索复制组 myreplgroup 的主终端节点 (PrimaryEndpoint) 和各个节点终端节点 (ReadEndpoint)。使用该主终端节点进行所有写入操作,使用各个节点终端节点进行所有读取操作。

对于 Linux, OS X, or Unix:

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" } } ], "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 群集,此操作将返回群集终端节点。对于 Memcached 群集,此操作将返回配置终端节点。如果包含可选参数 ShowCacheNodeInfo,则此操作还将返回群集中的各个节点的终端节点。

以下命令检索 Memcached 群集 mycluster 的配置终端节点 (ConfigurationEndpoint) 和各个节点终端节点 (Endpoint)。

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>

重要

如果您选择为 Memcached 配置终端节点创建别名记录,以使 PHP 客户端可以识别别名记录作为配置终端节点,则必须在别名记录中包含 .cfg.。例如,php.ini 文件中的 session.save_path 参数的 mycluster.cfg.local

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

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

以下操作检索复制组 myreplgroup 的主终端节点 (PrimaryEndpoint) 和各个节点终端节点 (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