接続エンドポイントの検索 - Amazon ElastiCache

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

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

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

使用するエンドポイント

Memcached による ElastiCache サーバーレスキャッシュでは、コンソールからクラスターエンドポイントの DNS とポートを取得するだけです。

AWS CLI から、describe-serverless-caches コマンドを使用してエンドポイント情報を取得します。

Linux

aws elasticache describe-serverless-caches --serverless-cache-name CacheName

Windows

aws elasticache describe-serverless-caches --serverless-cache-name CacheName

上記のオペレーションからの出力は以下のような JSON 形式になります。

{ "ServerlessCaches": [ { "ServerlessCacheName": "serverless-memcached", "Description": "test", "CreateTime": 1697659642.136, "Status": "available", "Engine": "memcached", "MajorEngineVersion": "1.6", "FullEngineVersion": "21", "SecurityGroupIds": [ "sg-083eda453e1e51310" ], "Endpoint": { "Address": "serverless-memcached-01.amazonaws.com", "Port":11211 }, "ARN": "<the ARN>", "SubnetIds": [ "subnet-0cf759df15bd4dc65", "subnet-09e1307e8f1560d17" ], "SnapshotRetentionLimit": 0, "DailySnapshotTime": "03:00" } ] }

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

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

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

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

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

エンドポイントをコピーするには、エンドポイントアドレスのすぐ前にあるコピーアイコンを選択します。エンドポイントを使用してノードに接続する方法については、「ノードに接続する」を参照してください。

設定エンドポイントとノードエンドポイントはよく似ています。その違いは以下の太字の部分です。

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. を含める必要があります。

Amazon ElastiCache の AWS CLI を使用して、ノードおよびクラスターのエンドポイントを検出できます。

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

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

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

Linux、macOS、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.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.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.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.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", } ] }
重要

自動検出クライアントが設定エンドポイントとして CNAME を認識するように、Memcached 設定エンドポイントの CNAME を作成する場合は、CNAME に .cfg. を含める必要があります。例えば、php.ini ファイルの mycluster.cfg.local パラメータで session.save_path を含めます。

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

Amazon ElastiCache API を使用して、ノードおよびクラスターのエンドポイントを検出できます。

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

ElastiCache API を使用して、DescribeCacheClusters アクションでクラスターのエンドポイントとそのノードを検出することができます。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>
重要

自動検出クライアントが設定エンドポイントとして CNAME を認識するように、Memcached 設定エンドポイントの CNAME を作成する場合は、CNAME に .cfg. を含める必要があります。例えば、php.ini ファイルの mycluster.cfg.local パラメータで session.save_path を含めます。