メニュー
Amazon ElastiCache
ユーザーガイド (API Version 2015-02-02)

ElastiCache エンドポイントの検索

エンドポイントを使用してアプリケーションがクラスターに接続します。エンドポイントはノードまたはクラスターの一意のアドレスです。

使用するエンドポイント

  • Memcached クラスター。自動検出を使用する場合は、クラスターの設定エンドポイントを Memcached クライアントの設定に使用できます。つまり、自動検出をサポートするクライアントを使用する必要があります。

    自動検出を使用しない場合は、読み取りと書き込みに個々のノードのエンドポイントを使用するようにクライアントを設定する必要があります。また、ノードの追加や削除時にはそれらのエンドポイントを更新する必要があります。

     

  • Redis スタンドアロンノード。ノードのエンドポイントを読み取りと書き込みの両方のオペレーションに使用します。

     

  • Redis (クラスターモードが無効) クラスタープライマリエンドポイントをすべての書き込みオペレーションに使用します。個々のノードエンドポイント (API/CLI ではリードエンドポイント) を読み取りオペレーションに使用します。

     

  • Redis (クラスターモードが有効) クラスター。クラスターの設定エンドポイントをすべてのオペレーションに使用します。Redis クラスター (Redis 3.2) をサポートするクライアントを使用する必要があります。個々のノードエンドポイント (API/CLI ではリードエンドポイント) から読み取ることもできます。

     

以下のセクションで、実行するエンジンに必要なエンドポイントの検索について説明します。

Memcached クラスターのエンドポイントの検索 (コンソール)

すべての Memcached エンドポイントは読み取り/書き込みエンドポイントです。Memcached クラスター内のノードに接続するには、アプリケーションは、各ノードのエンドポイントを使用できるか、クラスターの設定エンドポイントと自動検出を使用できる必要があります。自動検出を使用するには、自動検出をサポートするクライアントを使用する必要があります。

自動検出を使用するとき、クライアントアプリケーションは設定エンドポイントを使用して Memcached クラスターに接続します。ノードの追加や削除を行ってクラスターをスケーリングするたびに、アプリケーションは自動的にクラスターのすべてのノードを「検出して、それらのどのノードにも接続できます。アプリケーションで自動検出が行われない場合は、ノードを追加したり削除したりするたびにエンドポイントを手動で更新する必要があります。自動検出の詳細については、「ノードの自動検出 (Memcached) 」を参照してください。

以下の手順では、ElastiCache コンソールを使用して、クラスターの設定エンドポイントまたは任意のノードエンドポイントを検索してコピーする方法について説明しています。

Memcached クラスターのエンドポイントを検索してコピーするには (console)

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインから、[Memcached] を選択します。

    キャッシュクラスター画面には Memcached クラスターの一覧が表示されています。

  3. エンドポイントについて希望する Memcached クラスターを検索します。

    必要なすべてのエンドポイントが設定エンドポイントである場合は、これで完了です。設定エンドポイントは [設定エンドポイント] にあり、clusterName.xxxxxx.cfg.usw2.cache.amazonaws.com:port のように表示されます。

    個々のノードのエンドポイントを表示したり、クリップボードにコピーしたりするには、[Copy Node Endpoint] を選択します。

     イメージ: Memcached クラスターのエンドポイントを示す画面

    Memcached クラスターのエンドポイント

  4. エンドポイントをクリップボードにコピーするには:

    1. [Copy Node Endpoints] 画面で、コピーするエンドポイントを強調表示します。

    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 

重要

自動検出クライアントが設定エンドポイントとして CNAME を認識するように、Memcached 設定エンドポイントの CNAME を作成する場合は、CNAME に .cfg. を含める必要があります。

Redis (クラスターモードが無効) クラスターのエンドポイントの検索 (コンソール)

Redis (クラスターモードが無効) クラスターに 1 つのみのノードがある場合、ノードのエンドポイントは読み取りと書き込みの両方に使用されます。Redis (クラスターモードが無効) クラスターに複数のノードがある場合、2 種類のエンドポイントがあります。つまり、プライマリとして動作しているノードを参照するプライマリエンドポイントと、ノードエンドポイントです。プライマリエンドポイントは書き込みに使用されます。ノードエンドポイントは読み取りに使用されます。

Redis (クラスターモードが無効) クラスターのエンドポイントを検索するには

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインから、[Redis] を選択します。

    クラスター画面には、Redis (クラスターモードが無効) および Redis (クラスターモードが有効) クラスターのリストが表示されます。

  3. クラスターのプライマリエンドポイントを検索するには、クラスターの名前の左にあるチェックボックスをオンにします。

    クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに進むことができます。

    画像: Redis (クラスターモードが無効) クラスターのプライマリエンドポイント

    Redis (クラスターモードが無効) クラスターのプライマリエンドポイント

  4. Redis (クラスターモードが無効) クラスターにレプリカノードがある場合は、クラスターの名前を選択して、クラスターのレプリカノードエンドポイントを検索できます。

    ノードの画面では、クラスター内のプライマリとレプリカの各ノードがそのエンドポイントと共に表示されます。

     画像: Redis (クラスターモードが無効) クラスターのノードエンドポイント

    Redis (クラスターモードが無効) クラスターのノードエンドポイント

  5. エンドポイントをクリップボードにコピーするには:

    1. 一度に 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.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインから、[Redis] を選択します。

    Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。

  3. クラスターのリストから、"Clustered Redis" を実行中のクラスターの左にあるチェックボックスをオンにします。

    画面が展開されて、選択したクラスターの詳細が表示されます。

  4. 設定エンドポイントを見つけます。

    画像: Redis (クラスターモードが有効) クラスターの設定エンドポイント

    Redis (クラスターモードが有効) クラスターの設定エンドポイント

Redis (クラスターモードが有効) クラスターのノードエンドポイントを検索するには

  1. AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。

  2. 左のナビゲーションペインから、[Redis] を選択します。

    Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。

  3. クラスターのリストから、"Clustered Redis" を実行中のクラスターの名前を選択します。

    シャードのページが開きます。

  4. ノードエンドポイントの対応するシャードの名前を選択します。

    シャードのノードのリストには、各ノードのエンドポイントが表示されます。

  5. [Endpoint] 列で、各ノードのエンドポイントを確認します。

    画像: Redis (クラスターモードが有効) クラスターのノードエンドポイント

    Redis (クラスターモードが有効) クラスターのノードエンドポイント

エンドポイントをクリップボードにコピーするには

  1. 先ほどのいずれかの手順を使用して、コピーするエンドポイントを検索します。

  2. コピーするエンドポイントを選択します。

  3. 強調表示されたエンドポイントを右クリックして、コンテキストメニューから [Copy] を選択します。

    強調表示されたエンドポイントがクリップボードにコピーされます。

エンドポイントの検索 (AWS CLI)

AWS CLI for Amazon ElastiCache を使用して、ノード、クラスター、レプリケーショングループのエンドポイントを検出できます。

ノードとクラスターのエンドポイントの検索 (AWS CLI)

AWS CLI で describe-cache-clusters コマンドを使用して、クラスターとそのノードのエンドポイントを検出できます。Redis クラスターでは、そのコマンドがクラスターエンドポイントを返します。Memcached クラスターでは、コマンドは設定エンドポイントを返します。オプションのパラメータ --show-cache-node-info を含めた場合、コマンドはクラスター内の個々のノードにエンドポイントを返します。

以下のコマンドは、Memcached クラスター mycluster の設定エンドポイント (ConfigurationEndpoint) と個別のノードエンドポイント (Endpoint) を取得します。

Linux, macOS, or Unix 用:

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

Windows の場合:

Copy
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 設定エンドポイントの CNAME を作成する場合、PHP クライアントが設定エンドポイントとして CNAME を認識するためには、.cfg. を CNAME に含める必要があります。たとえば、php.ini ファイルの session.save_path パラメータで mycluster.cfg.local を含めます。

詳細については、トピック「describe-cache-clusters」を参照してください。

レプリケーショングループのエンドポイントの検索 (AWS CLI)

AWS CLI で describe-replication-groups コマンドを使用して、レプリケーショングループとそのクラスターのエンドポイントを検出できます。このコマンドはそのレプリケーショングループのプライマリエンドポイントと、レプリケーショングループのすべてのクラスターとそのエンドポイントのリストを返します。

以下のオペレーションは、レプリケーショングループ myreplgroup のプライマリエンドポイント (PrimaryEndpoint) と個々のノードのエンドポイント (ReadEndpoint) を取得します。プライマリエンドポイントはすべての書き込みオペレーションに使用し、個々のノードのエンドポイントはすべての読み取りオペレーションに使用します。

Linux, macOS, or Unix 用:

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

Windows の場合:

Copy
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) を取得します。

Copy
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 設定エンドポイントの CNAME を作成する場合、PHP クライアントが設定エンドポイントとして CNAME を認識するためには、.cfg. を CNAME に含める必要があります。たとえば、php.ini ファイルの session.save_path パラメータで mycluster.cfg.local を含めます。

レプリケーショングループのエンドポイントの検索 (ElastiCache API)

ElastiCache API を使用して、DescribeReplicationGroups アクションでレプリケーショングループのエンドポイントとそのクラスターを検出できます。このアクションはそのレプリケーショングループのプライマリエンドポイントと、レプリケーショングループのすべてのクラスターとそのエンドポイントのリストを返します。

以下のオペレーションは、レプリケーショングループ myreplgroup のプライマリエンドポイント (PrimaryEndpoint) と個々のノードのエンドポイント (ReadEndpoint) を取得します。プライマリエンドポイントはすべての書き込みオペレーションに使用し、個々のノードのエンドポイントはすべての読み取りオペレーションに使用します。

Copy
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」を参照してください。