接続エンドポイントの検索 - Amazon ElastiCache フォー・レディス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

接続エンドポイントの検索

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

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

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

     

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

     

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

     

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

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

プライマリエンドポイントは、常にクラスターのプライマリノードに解決される DNS 名です。プライマリエンドポイントは、リードレプリカのプライマリロールへの昇格など、クラスターに対する変更の影響を受けません。書き込みアクティビティの場合、アプリケーションをプライマリエンドポイントに接続することをお勧めします。

読み込みエンドポイントによって、ElastiCache for Redis クラスター内のすべてのリードレプリカ間でエンドポイントへの着信接続が均等に分割されます。アプリケーションがいつ接続を作成するか、アプリケーションが接続をどのように (再) 利用するかなどの追加要因によって、トラフィックの分散が決定されます。レプリカが追加または削除されても、読み込みエンドポイントはリアルタイムでクラスターの変更に対応します。ElastiCache for Redis クラスターの複数のリードレプリカを異なる AWS アベイラビリティーゾーン (AZ) に配置して、リーダーエンドポイントの高可用性を確保することができます。

注記

リーダーエンドポイントはロードバランサーではありません。これは、ラウンドロビン方式でレプリカノードの 1 つの IP アドレスに解決される DNS レコードです。

読み取りアクティビティの場合、アプリケーションはクラスター内のいずれのノードにも接続できます。プライマリエンドポイントとは異なり、ノードエンドポイントは特定のエンドポイントに解決されます。レプリカの追加または削除など、クラスターに変更を加えた場合は、アプリケーションでノードエンドポイントを更新する必要があります。

Redis (クラスターモードが無効) クラスターのエンドポイントを検索するには
  1. AWS Management Console にサインインして、ElastiCache コンソール (https://console.aws.amazon.com/elasticache/) を開きます。

  2. ナビゲーションペインで、[Redis clusters] (Redis クラスター) を選択します。

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

  3. クラスターのプライマリエンドポイントや読み込みエンドポイントを検索するには、クラスターの名前 (左にあるボタンではない) を選択します。

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

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

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

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

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

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

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

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

    1. 一度に 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. [Configuration endpoint] (設定エンドポイント) は [Cluster details] (クラスターの詳細) の下に表示されます。コピーするには、エンドポイントの左側にある [copy] (コピー) アイコンを選択します。

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

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

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

次のコマンドは、単一ノードの Redis (クラスターモードが無効) クラスター mycluster に関するクラスター情報を取得します。

重要

--cache-cluster-id パラメータは、単一ノードの Redis (クラスターモードが無効) クラスター ID または Redis レプリケーション グループ内の特定のノード ID で使用できます。Redis レプリケーショングループの --cache-cluster-id は、0001 のような 4 桁の値です。--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」を参照してください。