ElastiCache エンドポイントの検索
エンドポイントを使用してアプリケーションがクラスターに接続します。エンドポイントはノードまたはクラスターの一意のアドレスです。
使用するエンドポイント
-
Memcached クラスター。自動検出を使用する場合は、クラスターの設定エンドポイントを Memcached クライアントの設定に使用できます。つまり、自動検出をサポートするクライアントを使用する必要があります。
自動検出を使用しない場合は、読み取りと書き込みに個々のノードのエンドポイントを使用するようにクライアントを設定する必要があります。また、ノードの追加や削除時にはそれらのエンドポイントを更新する必要があります。
-
Redis スタンドアロンノード。ノードのエンドポイントを読み取りと書き込みの両方のオペレーションに使用します。
-
Redis (クラスターモードが無効) クラスター。プライマリエンドポイントをすべての書き込みオペレーションに使用します。個々のノードエンドポイント (API/CLI ではリードエンドポイント) を読み取りオペレーションに使用します。
-
Redis (クラスターモードが有効) クラスター。クラスターの設定エンドポイントをすべてのオペレーションに使用します。Redis クラスター (Redis 3.2) をサポートするクライアントを使用する必要があります。個々のノードエンドポイント (API/CLI ではリードエンドポイント) から読み取ることもできます。
以下のセクションで、実行するエンジンに必要なエンドポイントの検索について説明します。
トピック
Memcached クラスターのエンドポイントの検索 (コンソール)
すべての Memcached エンドポイントは読み取り/書き込みエンドポイントです。Memcached クラスター内のノードに接続するには、アプリケーションは、各ノードのエンドポイントを使用できるか、クラスターの設定エンドポイントと自動検出を使用できる必要があります。自動検出を使用するには、自動検出をサポートするクライアントを使用する必要があります。
自動検出を使用するとき、クライアントアプリケーションは設定エンドポイントを使用して Memcached クラスターに接続します。ノードの追加や削除を行ってクラスターをスケーリングするたびに、アプリケーションは自動的にクラスターのすべてのノードを「検出して、それらのどのノードにも接続できます。アプリケーションで自動検出が行われない場合は、ノードを追加したり削除したりするたびにエンドポイントを手動で更新する必要があります。自動検出の詳細については、「ノードの自動検出 (Memcached) 」を参照してください。
以下の手順では、ElastiCache コンソールを使用して、クラスターの設定エンドポイントまたは任意のノードエンドポイントを検索してコピーする方法について説明しています。
Memcached クラスターのエンドポイントを検索してコピーするには (console)
-
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。
-
ナビゲーションペインで、[Memcached] を選択します。
キャッシュクラスター画面には Memcached クラスターの一覧が表示されています。
-
エンドポイントについて希望する Memcached クラスターを検索します。
必要なすべてのエンドポイントが設定エンドポイントである場合は、これで完了です。設定エンドポイントは [設定エンドポイント] にあり、
のように表示されます。clusterName.xxxxxx
.cfg.usw2.cache.amazonaws.com:port
個々のノードのエンドポイントを表示したり、クリップボードにコピーしたりするには、[Copy Node Endpoint] を選択します。
Memcached クラスターのエンドポイント
-
エンドポイントをクリップボードにコピーするには:
-
[Copy Node Endpoints] 画面で、コピーするエンドポイントを強調表示します。
-
強調表示されたエンドポイントを右 – クリックして、コンテキストメニューから [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 (クラスターモードが無効) クラスターのエンドポイントを検索するには
-
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。
-
ナビゲーションペインで、[Redis] を選択します。
クラスター画面には、Redis (クラスターモードが無効) および Redis (クラスターモードが有効) クラスターのリストが表示されます。
-
クラスターのプライマリエンドポイントを検索するには、クラスターの名前の左にあるチェックボックスをオンにします。
クラスターに 1 つのみのノードがある場合、プライマリエンドポイントはないため、次のステップに進むことができます。
Redis (クラスターモードが無効) クラスターのプライマリエンドポイント
-
Redis (クラスターモードが無効) クラスターにレプリカノードがある場合は、クラスターの名前を選択して、クラスターのレプリカノードエンドポイントを検索できます。
ノードの画面では、クラスター内のプライマリとレプリカの各ノードがそのエンドポイントと共に表示されます。
Redis (クラスターモードが無効) クラスターのノードエンドポイント
-
エンドポイントをクリップボードにコピーするには:
-
一度に 1 つのみ、コピーするエンドポイントを見つけ、ハイライトします。
-
強調表示されたエンドポイントを右クリックして、コンテキストメニューから [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 (クラスターモードが有効) クラスターの設定エンドポイントを検索するには
-
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。
-
ナビゲーションペインで、[Redis] を選択します。
Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。
-
クラスターのリストから、"Clustered Redis" を実行中のクラスターの左にあるチェックボックスをオンにします。
画面が展開されて、選択したクラスターの詳細が表示されます。
-
設定エンドポイントを見つけます。
Redis (クラスターモードが有効) クラスターの設定エンドポイント
Redis (クラスターモードが有効) クラスターのノードエンドポイントを検索するには
-
AWS マネジメントコンソールにサインインし、ElastiCache コンソール(https://console.aws.amazon.com/elasticache/)を開きます。
-
ナビゲーションペインで、[Redis] を選択します。
Redis のいずれかのバージョンを実行しているクラスターのリストが表示されます。
-
クラスターのリストから、"Clustered Redis" を実行中のクラスターの名前を選択します。
シャードのページが開きます。
-
ノードエンドポイントの対応するシャードの名前を選択します。
シャードのノードのリストには、各ノードのエンドポイントが表示されます。
-
[Endpoint] 列で、各ノードのエンドポイントを確認します。
Redis (クラスターモードが有効) クラスターのノードエンドポイント
エンドポイントをクリップボードにコピーするには
-
先ほどのいずれかの手順を使用して、コピーするエンドポイントを検索します。
-
コピーするエンドポイントを選択します。
-
強調表示されたエンドポイントを右クリックして、コンテキストメニューから [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)
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 用:
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 設定エンドポイントの 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 用:
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 設定エンドポイントの CNAME を作成する場合、PHP クライアントが設定エンドポイントとして CNAME を認識するためには、.cfg.
を CNAME に含める必要があります。たとえば、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」を参照してください。