自動検出の使用 - Amazon ElastiCache

自動検出の使用

自動検出の使用を開始するには、以下のステップに従います。

ステップ 1: 設定エンドポイントを取得する

クラスターに接続するには、クライアントプログラムがクラスター設定エンドポイントを認識している必要があります。トピック「クラスターのエンドポイントの検索 (コンソール)」を参照してください。

aws elasticache describe-cache-clusters パラメーターを指定して、--show-cache-node-info コマンドを使用することもできます。

クラスターのエンドポイント検索に使用する方法に関係なく、設定エンドポイントのアドレスには、必ず .cfg が含まれます。

例 AWS CLI for ElastiCache を使用したエンドポイントの検索

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.fnjyzo.cfg.0001.use1.cache.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-10-12T21:39:28.001Z", "CustomerAvailabilityZone": "us-east-1e" }, { "CacheNodeId": "0002", "Endpoint": { "Port": 11211, "Address": "mycluster.fnjyzo.cfg.0002.use1.cache.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-10-12T21:39:28.001Z", "CustomerAvailabilityZone": "us-east-1a" } ], "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "mycluster", "PreferredAvailabilityZone": "Multiple", "ConfigurationEndpoint": { "Port": 11211, "Address": "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-10-12T21:39:28.001Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "available", "NumCacheNodes": 2, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": {}, "PreferredMaintenanceWindow": "sat:06:00-sat:07:00", "CacheNodeType": "cache.r3.large" } ] }

ステップ 2: ElastiCache クラスタークライアントをダウンロードする

自動検出を利用するには、クライアントプログラムが ElastiCache クラスタークライアントを使用する必要があります。ElastiCache Cluster Client は、Java、PHP、および .NET 向けが用意されており、すべてのキャッシュノードを検出して接続するのに必要なロジックすべてが含まれています。

ElastiCache クラスタークライアントをダウンロードするには

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

  2. ElastiCache コンソールで、[ElastiCache Cluster Client] を選択して [Download] を選択します。

Java 向けの ElastiCache クラスタークライアントのソースコードは、https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java で入手できます。このライブラリは、広く使用されている Spymemcached クライアントがベースとなっています。ElastiCache クラスタークライアントは、Amazon ソフトウェアライセンス https://aws.amazon.com/asl の下でリリースされています。ソースコードは必要に合わせて自由に変更できます。他のオープンソース Memcached ライブラリや独自のクライアントコードにコードを組み込むこともできます。

注記

PHP 向けの ElastiCache クラスタークライアントを使用するには、まず Amazon EC2 インスタンスにインストールする必要があります。詳細については、「ElastiCache Cluster Client for PHP のインストール」を参照してください。

.NET 向けの ElastiCache Cluster Client を使用するには、まず Amazon EC2 インスタンスにインストールする必要があります。詳細については、「ElastiCache Cluster Client for .NET のインストール」を参照してください。

ステップ 3: アプリケーションプログラムを変更する

自動検出を使用するようにアプリケーションプログラムを変更する準備ができました。以下のセクションでは、Java、PHP、および .NET 向けの ElastiCache Cluster Client を使用する方法を示します。

重要

クラスターの設定エンドポイントを指定する際は必ず、ここに示す設定エンドポイントのアドレスに「.cfg」が含まれていることを確認してください。「.cfg」のない CNAME またはエンドポイントは使用しないでください。

"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";

クラスターの設定エンドポイントを明示的に指定しない場合は、特定のノードが設定されます。