

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

# 自動検出の使用
<a name="AutoDiscovery.Using"></a>

ElastiCache for Memcached で自動検出の使用を開始するには、次のステップを実行します。
+ [設定エンドポイントを取得する](#AutoDiscovery.Using.ConfigEndpoint)
+ [ElastiCache クラスタークライアントをダウンロードする](#AutoDiscovery.Using.ClusterClient)
+ [アプリケーションプログラムを変更する](#AutoDiscovery.Using.ModifyApp)

## 設定エンドポイントを取得する
<a name="AutoDiscovery.Using.ConfigEndpoint"></a>

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

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

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

**Example 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"
        }
    ]
}
```

## ElastiCache クラスタークライアントをダウンロードする
<a name="AutoDiscovery.Using.ClusterClient"></a>

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

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

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

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

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

**注記**  
PHP 向けの ElastiCache クラスタークライアントを使用するには、まず Amazon EC2 インスタンスにインストールする必要があります。詳細については、「[ElastiCache Cluster Client for PHP のインストール](Appendix.PHPAutoDiscoverySetup.md)」を参照してください。  
TLS がサポートされているクライアントの場合は、PHP バージョン 7.4 以上のバイナリをダウンロードします。  
.NET 向けの ElastiCache Cluster Client を使用するには、まず Amazon EC2 インスタンスにインストールする必要があります。詳細については、「[ElastiCache Cluster Client for .NET のインストール](Appendix.DotNETAutoDiscoverySetup.md)」を参照してください。

## アプリケーションプログラムを変更する
<a name="AutoDiscovery.Using.ModifyApp"></a>

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

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

```
"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
```
 クラスターの設定エンドポイントを明示的に指定しない場合は、特定のノードが設定されます。