Amazon ElastiCache
用户指南 (API Version 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

(控制台) 查找 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

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

(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 Command Line Interface 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