

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Identifizieren Sie automatisch Knoten in Ihrem Cluster (Memcached)
<a name="AutoDiscovery"></a>

ElastiCache Unterstützt bei Clustern, auf denen die Memcached-Engine ausgeführt wird, *Auto Discovery* — die Fähigkeit von Client-Programmen, automatisch alle Knoten in einem Cluster zu identifizieren und Verbindungen zu all diesen Knoten zu initiieren und aufrechtzuerhalten. 

**Anmerkung**  
Auto Discovery wurde für Cluster hinzugefügt, die auf Amazon ElastiCache Memcached ausgeführt werden. Auto Discovery ist für Valkey- oder Redis OSS-Engines nicht verfügbar.

Mit Auto Discovery muss Ihre Anwendung keine manuelle Verbindung mit einzelnen Cache-Knoten herstellten. Stattdessen stellt sie eine Verbindung mit einem Memcached-Knoten her und ruft die Liste der Knoten ab. Anhand dieser Liste erhält Ihre Anwendung Informationen über die restlichen Knoten im Cluster und kann eine Verbindung mit einem beliebigen Knoten herstellen. Die einzelnen Endpunkte der Cache-Knoten in Ihrer Anwendung müssen nicht als vordefinierter Code aufgenommen werden.

Wenn Sie in Ihrem Cluster einen Dual-Stack-Netzwerktyp verwenden, gibt Auto Discovery nur IPv4 oder IPv6 Adressen zurück, je nachdem, welche Sie auswählen. Weitere Informationen finden Sie unter [Auswahl eines Netzwerktyps in ElastiCache](network-type.md).

Alle Cache-Knoten im Cluster führen eine Liste mit Metadaten über alle anderen Knoten. Diese Metadaten werden aktualisiert, sobald Knoten hinzugefügt oder aus dem Cluster entfernt werden.

**Topics**
+ [Vorteile von Auto Discovery mit Memcached](AutoDiscovery.Benefits.md)
+ [Funktionsweise von Auto Discovery](AutoDiscovery.HowAutoDiscoveryWorks.md)
+ [Verwenden von Auto Discovery](AutoDiscovery.Using.md)
+ [Manuelles Herstellen einer Verbindung zu Memcache-Cache-Knoten](AutoDiscovery.Manual.md)
+ [Hinzufügen von Auto Discovery zu Ihrer Memcached-Clientbibliothek](AutoDiscovery.AddingToYourClientLibrary.md)
+ [ElastiCache Kunden mit auto Erkennung](Clients.md)

# Vorteile von Auto Discovery mit Memcached
<a name="AutoDiscovery.Benefits"></a>

Bei der Verwendung von Memcached bietet Auto Discovery die folgenden Vorteile:
+ Wenn Sie die Anzahl der Knoten in einem Cluster erhöhen, registrieren sich die neuen Knoten selbst beim Konfigurationsendpunkt und bei allen anderen Knoten. Wenn Sie Knoten aus dem Cache-Cluster entfernen, heben die entsprechenden Cluster ihre Registrierung selbst auf. In beiden Fällen werden alle anderen Knoten im Cluster mit den neuen Cache-Knotenmetadaten aktualisiert.
+ Ausfälle von Cache-Knoten werden automatisch erkannt und ausgefallene Knoten automatisch ersetzt.
**Anmerkung**  
Der Knoten fällt solange aus, bis er ersetzt wird.
+ Ein Client-Programm muss nur eine Verbindung mit dem Konfigurationsendpunkt herstellen. Anschließend stellt die Auto Discovery-Bibliothek eine Verbindung mit allen anderen Knoten im Cluster her.
+ Client-Programme fragen den Cluster einmal pro Minute ab (dieses Intervall kann bei Bedarf geändert werden). Wenn Änderungen an der Cluster-Konfiguration vorgenommen wurden, z. B. neue oder gelöschte Knoten, erhält der Client eine aktualisierte Liste mit Metadaten. Anschließend stellt der Client je nach Bedarf eine Verbindung mit diesen Knoten her bzw. trennt die Verbindung.

Auto Discovery ist auf allen ElastiCache Memcached-Clustern aktiviert. Sie müssen Ihre Cache-Knoten nicht neu starten, um diese Funktion zu verwenden.

# Funktionsweise von Auto Discovery
<a name="AutoDiscovery.HowAutoDiscoveryWorks"></a>

**Topics**
+ [Herstellen von Verbindungen mit Cache-Knoten](#AutoDiscovery.HowAutoDiscoveryWorks.Connecting)
+ [Normale Cluster-Operationen](#AutoDiscovery.HowAutoDiscoveryWorks.NormalOps)
+ [Weitere Operationen in](#AutoDiscovery.HowAutoDiscoveryWorks.OtherOps)

In diesem Abschnitt wird beschrieben, wie Clientanwendungen den ElastiCache Clusterclient verwenden, um Cache-Knotenverbindungen zu verwalten und mit Datenelementen im Cache zu interagieren.

## Herstellen von Verbindungen mit Cache-Knoten
<a name="AutoDiscovery.HowAutoDiscoveryWorks.Connecting"></a>

Von der Anwendungsseite aus betrachtet, unterscheidet sich das Herstellen einer Verbindung mit dem Cluster-Konfigurationsendpunkt nicht vom Herstellen einer direkten Verbindung mit einem einzelnen Cache-Knoten. Das folgende Ablaufdiagramm zeigt den Prozess zum Herstellen der Verbindung mit Cache-Knoten. 

![\[Herstellen von Verbindungen mit Cache-Knoten\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/autodiscovery_cluster_membership_refresh-diagram.png)



**Prozess zum Herstellen von Verbindungen mit Cache-Knoten**  

|  |  | 
| --- |--- |
|  ![\[1\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/1.png) | Die Anwendung löst den DNS-Namen des Konfigurationsendpunkts auf. Da der Konfigurationsendpunkt CNAME-Einträge für alle Cache-Knoten verwaltet, wird der DNS-Name in einen der Knoten aufgelöst. Der Client kann dann eine Verbindung mit diesem Knoten herstellen. | 
|  ![\[2\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/2.png) | Der Client fordert die Konfigurationsinformationen für alle anderen Knoten an. Da jeder Knoten Konfigurationsinformationen für alle Knoten im Cluster verwaltet, kann jeder Knoten auf Anfrage Konfigurationsinformationen an den Client weitergeben. | 
|  ![\[3\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/3.png) | Der Client empfängt die aktuelle Liste mit den Hostnamen und IP-Adressen der Cache-Knoten. Anschließend kann er eine Verbindung mit allen anderen Knoten im Cluster herstellen. | 



**Anmerkung**  
Das Client-Programm aktualisiert seine Liste mit den Hostnamen und IP-Adressen der Cache-Knoten einmal pro Minute. Dieses Abfrageintervall kann bei Bedarf angepasst werden.

## Normale Cluster-Operationen
<a name="AutoDiscovery.HowAutoDiscoveryWorks.NormalOps"></a>

Wenn die Anwendung eine Verbindung zu allen Cache-Knoten hergestellt hat, bestimmt der ElastiCache Cluster-Client, auf welchen Knoten einzelne Datenelemente gespeichert werden sollen und welche Knoten später nach diesen Datenelementen abgefragt werden sollen. Das folgende Ablaufdiagramm zeigt den Prozess für normale Cluster-Operationen.

![\[Normale Cluster-Operationen\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/autodiscovery_normal_cache_usage-diagram.png)



**Prozess für normale Cluster-Operationen**  

|  |  | 
| --- |--- |
|  ![\[1\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/1.png) | Die Anwendung erstellt eine get-Anforderung für ein bestimmtes Datenelement, das durch seinen Schlüssel identifiziert wird. | 
|  ![\[2\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/2.png) | Der Client verwendet einen Hashing-Algorithmus für den Schlüssel, um den Cache-Knoten zu ermitteln, der das Datenelement enthält. | 
|  ![\[3\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/3.png) | Das Datenelement wird vom entsprechenden Knoten angefordert. | 
|  ![\[4\]](http://docs.aws.amazon.com/de_de/AmazonElastiCache/latest/dg/images/callouts/4.png) | Das Datenelement wird an die Anwendung zurückgegeben. | 

## Weitere Operationen in
<a name="AutoDiscovery.HowAutoDiscoveryWorks.OtherOps"></a>

In manchen Situationen kann es vorkommen, dass Sie eine Änderung an den Knoten eines Clusters vornehmen. So können Sie beispielsweise einen zusätzlichen Knoten hinzufügen, um zusätzlichen Bedarf zu decken, oder einen Knoten löschen, um in Zeiten geringerer Nachfrage Geld zu sparen. Oder Sie ersetzen einen Knoten, weil er auf die eine oder andere Weise ausgefallen ist.

Bei einer Änderung im Cluster, die eine Aktualisierung der Metadaten auf die Endpunkte des Clusters erfordert, wird diese Änderung auf allen Knoten gleichzeitig vorgenommen. So sind die Metadaten in einem bestimmten Knoten konsistent mit den Metadaten in allen anderen Knoten im Cluster.

In jedem Fall sind die Metadaten für alle Knoten jederzeit konsistent, da sie für alle Knoten im Cluster gleichzeitig aktualisiert werden. Verwenden Sie immer den Konfigurationsendpunkt, um die Endpunkte der verschiedenen Knoten im Cluster zu erhalten. Durch Verwenden des Konfigurationsendpunkts stellen Sie sicher, dass Sie keine Endpunktdaten von einem Knoten erhalten, der "verschwindet".

### Hinzufügen eines Knotens
<a name="AutoDiscovery.HowAutoDiscoveryWorks.OtherOps.AddNode"></a>

Während der Zeit, in der der Knoten eingerichtet wird, ist sein Endpunkt nicht in den Metadaten enthalten. Sobald der Knoten verfügbar ist, wird er den jeweiligen Metadaten der Cluster-Knoten hinzugefügt. In diesem Szenario sind die Metadaten für alle Knoten konsistent und Sie können mit dem neuen Knoten erst interagieren, sobald er verfügbar ist. Vorher liegen Ihnen keine Informationen darüber vor und Sie interagieren mit den Knoten in Ihrem Cluster so, als ob der neue Knoten nicht vorhanden wäre.

### Löschen eines Knotens
<a name="AutoDiscovery.HowAutoDiscoveryWorks.OtherOps.DelNode"></a>

Wenn ein Knoten entfernt wird, wird sein Endpunkt erst in den Metadaten gelöscht und anschließend wird der Knoten aus dem Cluster entfernt. In diesem Szenario sind die Metadaten in allen Knoten konsistent und zu keiner Zeit enthalten sie den Endpunkt für den Knoten, der entfernt werden soll, während der Knoten nicht verfügbar ist. Während des Zeitraums, in dem der Knoten entfernt wird, erfolgt keine Meldung in den Metadaten. Demzufolge interagiert Ihre Anwendung nur mit den verbleibenden n-1 Knoten, so als ob der Knoten nicht vorhanden wäre.

### Ersetzen eines Knotens
<a name="AutoDiscovery.HowAutoDiscoveryWorks.OtherOps.ReplaceNode"></a>

Wenn ein Knoten ausfällt, wird ElastiCache dieser Knoten heruntergefahren und ein Ersatzknoten installiert. Das Ersetzen dauert einige Minuten. Während dieser Zeit zeigen die Metadaten in allen Knoten den Endpunkt für den ausgefallenen Knoten noch an, doch jeder Versuch, mit dem Knoten zu interagieren, schlägt fehl. Daher sollte Ihre Logik immer Logik für Wiederholungsversuche umfassen.

# Verwenden von Auto Discovery
<a name="AutoDiscovery.Using"></a>

Gehen Sie wie folgt vor, um Auto Discovery ElastiCache für Memcached zu verwenden:
+ [Rufen Sie den Konfigurationsendpunkt ab](#AutoDiscovery.Using.ConfigEndpoint)
+ [Laden Sie den ElastiCache Cluster-Client herunter](#AutoDiscovery.Using.ClusterClient)
+ [Ändern Sie Ihr Anwendungsprogramm](#AutoDiscovery.Using.ModifyApp)

## Rufen Sie den Konfigurationsendpunkt ab
<a name="AutoDiscovery.Using.ConfigEndpoint"></a>

Zum Herstellen der Verbindung mit einem Cluster müssen die Client-Programme den Cluster-Konfigurationsendpunkt kennen. Weitere Informationen finden Sie im Thema [Die Endpunkte eines Clusters finden (Konsole) (Memcached)](Endpoints.md#Endpoints.Find.Memcached).

Sie können auch den Befehl `aws elasticache describe-cache-clusters` mit dem Parameter `--show-cache-node-info` verwenden:

Unabhängig von der Methode, mit der Sie die Endpunkte des Clusters suchen, enthält der Konfigurationsendpunkt in seiner Adresse immer **.cfg**.

**Example Finden von Endpunkten mit dem for AWS CLI ElastiCache**  
Für Linux, macOS oder Unix:  

```
aws elasticache describe-cache-clusters \
    --cache-cluster-id mycluster \
    --show-cache-node-info
```
Für Windows:  

```
aws elasticache describe-cache-clusters ^
    --cache-cluster-id mycluster ^
    --show-cache-node-info
```
Dieser Vorgang erzeugt eine Ausgabe ähnlich der folgenden (JSON-Format):  

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

## Laden Sie den ElastiCache Cluster-Client herunter
<a name="AutoDiscovery.Using.ClusterClient"></a>

Um Auto Discovery nutzen zu können, müssen Client-Programme den *ElastiCache-Cluster-Client* verwenden. Der ElastiCache Cluster-Client ist für Java, PHP und .NET verfügbar und enthält die gesamte erforderliche Logik, um all Ihre Cache-Knoten zu erkennen und eine Verbindung zu ihnen herzustellen.

**Um den ElastiCache Cluster-Client herunterzuladen**

1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die ElastiCache Konsole unter [https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Wählen Sie in der ElastiCache Konsole **ElastiCache Cluster Client** und dann **Herunterladen** aus.

Der Quellcode für den ElastiCache Cluster-Client für Java ist unter [https://github.com/amazonwebservices/aws-elasticache-cluster-client-](https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java) verfügbarmemcached-for-java. Diese Bibliothek basiert auf dem häufig verwendeten Spymemcached-Client. Der ElastiCache Cluster-Client ist unter der Amazon-Softwarelizenz [https://aws.amazon.com/asl](https://aws.amazon.com/asl) veröffentlicht. Es steht Ihnen frei, den Quellcode nach eigenen Wünschen zu ändern. Sie können den Code sogar in andere Memcached-Open-Source-Bibliotheken oder in Ihren eigenen Client-Code integrieren.

**Anmerkung**  
Um den ElastiCache Cluster Client für PHP verwenden zu können, müssen Sie ihn zunächst auf Ihrer EC2 Amazon-Instance installieren. Weitere Informationen finden Sie unter [Installation des ElastiCache Cluster-Clients für PHP](Appendix.PHPAutoDiscoverySetup.md).  
Für einen von TLS unterstützten Client laden Sie die Binärdatei mit PHP-Version 7.4 oder höher herunter.  
Um den ElastiCache Cluster Client für.NET verwenden zu können, müssen Sie ihn zunächst auf Ihrer EC2 Amazon-Instance installieren. Weitere Informationen finden Sie unter [Installation des ElastiCache Clusterclients für.NET](Appendix.DotNETAutoDiscoverySetup.md).

## Ändern Sie Ihr Anwendungsprogramm
<a name="AutoDiscovery.Using.ModifyApp"></a>

Ändern Sie Ihr Anwendungsprogramm, sodass es Auto Discovery verwendet. In den folgenden Abschnitten wird gezeigt, wie Sie den ElastiCache Cluster-Client für Java, PHP und .NET verwenden. 

**Wichtig**  
Stellen Sie beim Angeben des Cluster-Konfigurationsendpunkts sicher, dass der Endpunkt in seiner Adresse ".cfg" enthält, wie hier dargestellt. Verwenden Sie keinen CNAME oder einen Endpunkt ohne ".cfg" in der Adresse.   

```
"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
```
 Wenn Sie den Cluster-Konfigurationsendpunkt nicht explizit angeben, erfolgt die Konfiguration für einen spezifischen Knoten.

# Den ElastiCache Cluster-Client für Java verwenden
<a name="AutoDiscovery.Using.ModifyApp.Java"></a>

Das folgende Programm zeigt, wie Sie den ElastiCache Cluster-Client verwenden, um eine Verbindung zu einem Cluster-Konfigurationsendpunkt herzustellen und dem Cache ein Datenelement hinzuzufügen. Mithilfe von Auto Discovery stellt das Programm eine Verbindung mit allen Knoten im Cluster her, ohne dass ein Eingreifen erforderlich ist.

```
package com.amazon.elasticache;

import java.io.IOException;
import java.net.InetSocketAddress;

// Import the &AWS;-provided library with Auto Discovery support 
import net.spy.memcached.MemcachedClient;  

public class AutoDiscoveryDemo {

    public static void main(String[] args) throws IOException {
            
        String configEndpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
        Integer clusterPort = 11211;

        MemcachedClient client = new MemcachedClient(
                                 new InetSocketAddress(configEndpoint, 
                                                       clusterPort));       
        // The client will connect to the other cache nodes automatically.

        // Store a data item for an hour.  
        // The client will decide which cache host will store this item. 
        client.set("theKey", 3600, "This is the data value");
    }
}
```

# Den ElastiCache Cluster-Client für PHP verwenden
<a name="AutoDiscovery.Using.ModifyApp.PHP"></a>

Das folgende Programm zeigt, wie Sie den ElastiCache Cluster-Client verwenden, um eine Verbindung zu einem Cluster-Konfigurationsendpunkt herzustellen und dem Cache ein Datenelement hinzuzufügen. Mithilfe von Auto Discovery stellt das Programm eine Verbindung mit allen Knoten im Cluster her, ohne dass ein Eingreifen erforderlich ist.

Um den ElastiCache Cluster Client für PHP verwenden zu können, müssen Sie ihn zunächst auf Ihrer EC2 Amazon-Instance installieren. Weitere Informationen finden Sie unter [Installation des ElastiCache Cluster-Clients für PHP](Appendix.PHPAutoDiscoverySetup.md).

```
<?php
	
 /**
  * Sample PHP code to show how to integrate with the Amazon ElastiCache
  * Auto Discovery feature.
  */

  /* Configuration endpoint to use to initialize memcached client. 
   * This is only an example. 	*/
  $server_endpoint = "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
  
  /* Port for connecting to the ElastiCache cluster. 
   * This is only an example 	*/
  $server_port = 11211;

 /**
  * The following will initialize a Memcached client to utilize the Auto Discovery feature.
  * 
  * By configuring the client with the Dynamic client mode with single endpoint, the
  * client will periodically use the configuration endpoint to retrieve the current cache
  * cluster configuration. This allows scaling the cluster up or down in number of nodes
  * without requiring any changes to the PHP application. 
  *
  * By default the Memcached instances are destroyed at the end of the request. 
  * To create an instance that persists between requests, 
  *    use persistent_id to specify a unique ID for the instance. 
  * All instances created with the same persistent_id will share the same connection. 
  * See [http://php.net/manual/en/memcached.construct.php](http://php.net/manual/en/memcached.construct.php) for more information.
  */
  $dynamic_client = new Memcached('persistent-id');
  $dynamic_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::DYNAMIC_CLIENT_MODE);
  $dynamic_client->addServer($server_endpoint, $server_port);
  
  /**
  * Store the data for 60 seconds in the cluster. 
  * The client will decide which cache host will store this item.
  */  
  $dynamic_client->set('key', 'value', 60);  


 /**
  * Configuring the client with Static client mode disables the usage of Auto Discovery
  * and the client operates as it did before the introduction of Auto Discovery. 
  * The user can then add a list of server endpoints.
  */
  $static_client = new Memcached('persistent-id');
  $static_client->setOption(Memcached::OPT_CLIENT_MODE, Memcached::STATIC_CLIENT_MODE);
  $static_client->addServer($server_endpoint, $server_port);

 /**
  * Store the data without expiration. 
  * The client will decide which cache host will store this item.
  */  
  $static_client->set('key', 'value');  
  ?>
```

Ein Beispiel zur Verwendung des ElastiCache Cluster-Clients mit aktiviertem TLS finden Sie unter [Verwenden von In-Transit-Verschlüsselung mit PHP und Memcached](in-transit-encryption.md#in-transit-encryption-connect-php-mc).

# Den ElastiCache Cluster-Client für.NET verwenden
<a name="AutoDiscovery.Using.ModifyApp.DotNET"></a>

**Anmerkung**  
 ElastiCache Der.NET-Clusterclient ist seit Mai 2022 veraltet.

.NET-Client für ElastiCache ist Open Source unter. [https://github.com/awslabs/elasticache-cluster-config-net](https://github.com/awslabs/elasticache-cluster-config-net)

 Die .NET-Anwendungen erhalten ihre Konfigurationen in der Regel von ihrer Config-Datei. Nachfolgend finden Sie ein Beispiel einer Anwendungs-Config-Datei.

```
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section 
            name="clusterclient" 
            type="Amazon.ElastiCacheCluster.ClusterConfigSettings, Amazon.ElastiCacheCluster" />
    </configSections>

    <clusterclient>
        <!-- the hostname and port values are from step 1 above -->
        <endpoint hostname="mycluster.fnjyzo.cfg.use1.cache.amazonaws.com" port="11211" />
    </clusterclient>
</configuration>
```

Das unten stehende C\$1-Programm zeigt, wie Sie den ElastiCache Cluster-Client verwenden, um eine Verbindung zu einem Clusterkonfigurationsendpunkt herzustellen und dem Cache ein Datenelement hinzuzufügen. Mithilfe von Auto Discovery stellt das Programm eine Verbindung mit allen Knoten im Cluster her, ohne dass ein Eingreifen erforderlich ist.

```
// *****************
// Sample C# code to show how to integrate with the Amazon ElastiCcache Auto Discovery feature.

using System;

using Amazon.ElastiCacheCluster;

using Enyim.Caching;
using Enyim.Caching.Memcached;

public class DotNetAutoDiscoveryDemo  {

    public static void Main(String[] args)  {
    
        // instantiate a new client.
        ElastiCacheClusterConfig config = new ElastiCacheClusterConfig();
        MemcachedClient memClient = new MemcachedClient(config);
        
        // Store the data for 3600 seconds (1hour) in the cluster. 
        // The client will decide which cache host will store this item.
        memClient.Store(StoreMode.Set, 3600, "This is the data value.");
        
    }  // end Main
    
}  // end class DotNetAutoDiscoverDemo
```

# Manuelles Herstellen einer Verbindung zu Memcache-Cache-Knoten
<a name="AutoDiscovery.Manual"></a>

Wenn Ihr Client-Programm Auto Discovery nicht verwendet, kann es manuell eine Verbindung zu den einzelnen Memcache-Cache-Knoten herstellen. Dies ist das Standardverhalten für Memcached-Clients.

Eine Liste der Hostnamen und Portnummern der Cache-Knoten erhalten Sie über die [AWS Managementkonsole](https://aws.amazon.com/console/). Sie können den AWS CLI`aws elasticache describe-cache-clusters` Befehl auch mit dem `--show-cache-node-info` Parameter verwenden.

**Example**  
Der folgende Java-Codeausschnitt zeigt, wie eine Verbindung zu allen Knoten in einem Cluster mit vier Knoten hergestellt wird:  

```
...

ArrayList<String> cacheNodes = new ArrayList<String>(
	Arrays.asList(
	    "mycachecluster.fnjyzo.0001.use1.cache.amazonaws.com:11211",
	    "mycachecluster.fnjyzo.0002.use1.cache.amazonaws.com:11211",
	    "mycachecluster.fnjyzo.0003.use1.cache.amazonaws.com:11211",
	    "mycachecluster.fnjyzo.0004.use1.cache.amazonaws.com:11211"));
	      
MemcachedClient cache = new MemcachedClient(AddrUtil.getAddresses(cacheNodes));

...
```

**Wichtig**  
Wenn Sie Ihren Cluster durch Hinzufügen oder Entfernen von Knoten nach oben oder unten skalieren, müssen Sie die Liste der Knoten im Client-Code aktualisieren.

# Hinzufügen von Auto Discovery zu Ihrer Memcached-Clientbibliothek
<a name="AutoDiscovery.AddingToYourClientLibrary"></a>

Die Konfigurationsinformationen für Auto Discovery werden redundant in jedem Memcached-Clusterknoten gespeichert. Client-Anwendungen können jeden Cache-Knoten abfragen und die Konfigurationsinformationen für alle Knoten im Cluster abrufen.

Die jeweilige Methode, die eine Anwendung dazu nutzt, hängt von der Cache-Engine-Version ab:
+ Wenn die Cache-Engine-Version **1.4.14 oder höher** ist, verwenden Sie den Befehl `config`.
+ Wenn die Cache-Engine-Version **älter als 1.4.14** ist, verwenden Sie den Befehl `get AmazonElastiCache:cluster`.

Die Ausgaben dieser beiden Befehle sind identisch und werden im Abschnitt [Ausgabeformat](#AutoDiscovery.AddingToYourClientLibrary.OutputFormat) beschrieben.

## Cache-Engine-Version 1.4.14 oder höher
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus"></a>

Für die Cache-Engine-Version 1.4.14 oder höher verwenden Sie den Befehl `config`. Dieser Befehl wurde den Memcached ASCII- und Binärprotokollen von hinzugefügt und ist im Cluster ElastiCache Client implementiert. ElastiCache Wenn Sie Auto Discovery mit einer anderen Client-Bibliothek verwenden möchten, muss diese Bibliothek um den Support für den Befehl `config` erweitert werden.

**Anmerkung**  
Die folgende Dokumentation bezieht sich zwar auf das ASCII-Protokoll, der Befehl `config` unterstützt jedoch sowohl das ASCII- als auch das Binärprotokoll. Wenn Sie Auto Discovery-Unterstützung mithilfe des Binärprotokolls hinzufügen möchten, lesen Sie im [Quellcode für den Cluster-Client](https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java/tree/master/src/main/java/net/spy/memcached/protocol/binary) nach. ElastiCache 

**Syntax**

`config [sub-command] [key]`

### Optionen
<a name="AutoDiscovery.AddingToYourClientLibrary.1-4-14-plus.Options"></a>


| Name | Description | Erforderlich | 
| --- | --- | --- | 
| sub-command |  Der Unterbefehl, der zum Interagieren mit einem Cache-Knoten verwendet wird. Für Auto Discovery lautet dieser Unterbefehl `get`.  | Ja | 
| key |  Der Schlüssel, mit dem die Cluster-Konfiguration gespeichert ist. Für Auto Discovery lautet dieser Schlüssel `cluster`.  | Ja | 

Verwenden Sie zum Abrufen der Cluster-Konfigurationsinformationen den folgenden Befehl: 

```
config get cluster
```

## Cache-Engine-Version 1.4.14 oder niedriger
<a name="AutoDiscovery.AddingToYourClientLibrary.pre-1-4-14"></a>

Verwenden Sie zum Abrufen der Cluster-Konfigurationsinformationen den folgenden Befehl: 

```
get AmazonElastiCache:cluster
```

**Anmerkung**  
Verändern Sie nicht den Schlüssel „:clusterAmazonElastiCache“, da sich dort die Cluster-Konfigurationsinformationen befinden. Wenn Sie diesen Schlüssel überschreiben, ist der Client möglicherweise für einen kurzen Zeitraum (nicht länger als 15 Sekunden) falsch konfiguriert, bevor die Konfigurationsinformationen ElastiCache automatisch und korrekt aktualisiert werden.

## Ausgabeformat
<a name="AutoDiscovery.AddingToYourClientLibrary.OutputFormat"></a>

Wenn Sie `config get cluster` oder `get AmazonElastiCache:cluster` verwenden, umfasst die Antwort zwei Zeilen:
+ Die Versionsnummer der Konfigurationsinformationen. Jedes Mal, wenn ein Knoten dem Cluster hinzugefügt oder daraus entfernt wird, erhöht sich die Versionsnummer um eins. 
+ Eine Liste der Cache-Knoten. Jeder Knoten in der Liste wird durch eine *hostname\$1ip-address\$1port*-Gruppe repräsentiert und durch ein Leerzeichen getrennt. 

Am Ende jeder Zeile erscheint ein Wagenrücklauf- und Zeilenvorschubzeichen (CR \$1 LF). Die Datenzeile enthält am Ende ein Zeilenvorschubzeichen (LF), dem die Zeichen CR \$1 LF hinzugefügt werden. Die Config-Versionszeile wird durch LF ohne CR beendet. 

Ein Cluster mit drei Knoten würde wie folgt dargestellt:

```
configversion\n
hostname|ip-address|port hostname|ip-address|port hostname|ip-address|port\n\r\n
```

Jeder Knoten wird sowohl mit dem CNAME als auch der privaten IP-Adresse angezeigt. Der CNAME ist immer vorhanden. Wenn die private IP-Adresse nicht verfügbar ist, wird sie nicht angezeigt. Die Pipe-Zeichen "`|`" werden dennoch gedruckt.

**Example**  
Das nachfolgende Beispiel zeigt die Nutzlast, die zurückgegeben wird, wenn Sie die Konfigurationsinformationen abfragen:  

```
CONFIG cluster 0 136\r\n
12\n
myCluster.pc4ldq.0001.use1.cache.amazonaws.com|10.82.235.120|11211 myCluster.pc4ldq.0002.use1.cache.amazonaws.com|10.80.249.27|11211\n\r\n 
END\r\n
```

**Anmerkung**  
Die zweite Zeile gibt an, dass die Konfigurationsinformationen bisher zwölfmal geändert wurden.
In der dritten Zeile wird die Liste der Knoten in alphabetischer Reihenfolge nach Hostname angegeben. Diese Reihenfolge kann sich von der Sequenz unterscheiden, die Sie derzeit in Ihrer Client-Anwendung verwenden.

# ElastiCache Kunden mit auto Erkennung
<a name="Clients"></a>

Cluster-Client-Programme können automatisch alle Clusterknoten identifizieren und eine Verbindung zu ihnen herstellen, auf denen die Memcached-Engine ausgeführt wird.

In diesem Abschnitt wird die Installation und Konfiguration der ElastiCache PHP- und .NET-Clients für die Verwendung mit Auto Discovery beschrieben.

**Topics**
+ [Installieren und Kompilieren von Cluster-Clients](Appendix.InstallingClients.md)
+ [Konfiguration von ElastiCache Clients](ClientConfig.md)

# Installieren und Kompilieren von Cluster-Clients
<a name="Appendix.InstallingClients"></a>

Dieser Abschnitt behandelt die Installation, Konfiguration und Kompilierung der PHP- und .NET Amazon ElastiCache Auto Discovery-Cluster-Clients. 

**Topics**
+ [Installation des ElastiCache Clusterclients für.NET](Appendix.DotNETAutoDiscoverySetup.md)
+ [Installation des ElastiCache Cluster-Clients für PHP](Appendix.PHPAutoDiscoverySetup.md)
+ [Den Quellcode für den ElastiCache Cluster-Client für PHP kompilieren](Appendix.PHPAutoDiscoveryCompile.md)

# Installation des ElastiCache Clusterclients für.NET
<a name="Appendix.DotNETAutoDiscoverySetup"></a>

Den Code für den ElastiCache .NET Cluster Client als Open Source finden Sie unter [https://github.com/awslabs/elasticache-cluster-config-net](https://github.com/awslabs/elasticache-cluster-config-net).

In diesem Abschnitt wird beschrieben, wie Sie die .NET-Komponenten für den ElastiCache Cluster Client auf EC2 Amazon-Instances installieren, aktualisieren und entfernen. Weitere Informationen zu Auto Discovery finden Sie unter [Identifizieren Sie automatisch Knoten in Ihrem Cluster (Memcached)](AutoDiscovery.md). Beispiele für .NET-Code zur Verwendung des Clients finden Sie unter [Den ElastiCache Cluster-Client für.NET verwenden](AutoDiscovery.Using.ModifyApp.DotNET.md).

**Topics**
+ [Installieren von .NET](#Appendix.DotNETAutoDiscoverySetup.DotNET)
+ [Laden Sie den ElastiCache .NET-Clusterclient herunter für ElastiCache](#Appendix.DotNETAutoDiscoverySetup.Downloading)
+ [Installieren Sie Assemblys AWS mit NuGet](#Appendix.DotNETAutoDiscoverySetup.Installing)

## Installieren von .NET
<a name="Appendix.DotNETAutoDiscoverySetup.DotNET"></a>

Sie müssen.NET 3.5 oder höher installiert haben, um AWS das.NET-SDK für verwenden zu können ElastiCache. Wenn .NET 3.5 oder höher nicht installiert ist, können Sie die aktuelle Version unter [http://www.microsoft.com/net](http://www.microsoft.com/net) herunterladen, um sie zu installieren.

## Laden Sie den ElastiCache .NET-Clusterclient herunter für ElastiCache
<a name="Appendix.DotNETAutoDiscoverySetup.Downloading"></a>

**Um ElastiCache den.NET-Clusterclient herunterzuladen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die ElastiCache Konsole unter [ https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Klicken Sie im Navigationsbereich auf **ElastiCache Cluster Client**.

1. **Wählen Sie in der Liste ** ElastiCache Memcached Cluster Client herunterladen** die Option **.NET** aus, und klicken Sie dann auf Herunterladen.**

## Installieren Sie Assemblys AWS mit NuGet
<a name="Appendix.DotNETAutoDiscoverySetup.Installing"></a>

NuGet ist ein Paketverwaltungssystem für die .NET-Plattform. NuGet kennt die Abhängigkeiten von Assemblys und installiert alle erforderlichen Dateien automatisch. NuGet installierte Assemblys werden zusammen mit Ihrer Lösung gespeichert und nicht etwa an einem zentralen Ort`Program Files`, sodass Sie anwendungsspezifische Versionen installieren können, ohne dass Kompatibilitätsprobleme auftreten.

### Wird installiert NuGet
<a name="Appendix.DotNETAutoDiscoverySetup.Installing.NuGet"></a>

NuGet kann über die Installationsgalerie auf MSDN installiert werden; siehe [https://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c](https://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c). Wenn Sie Visual Studio 2010 NuGet oder höher verwenden, wird es automatisch installiert.

Sie können entweder NuGet den **Solution Explorer** oder die **Package Manager Console** verwenden.

### NuGet Vom Solution Explorer aus verwenden
<a name="Appendix.DotNETAutoDiscoverySetup.NuGet.SolutionExplorer"></a>

**Zur Verwendung NuGet aus dem Solution Explorer in Visual Studio 2010**

1. Wählen Sie im Menü **Extras** den **Bibliotheks-Paket-Manager** aus.

1. Klicken Sie auf **Paket-Manager-Konsole**.

**Zur Verwendung NuGet aus dem Solution Explorer in Visual Studio 2012 oder Visual Studio 2013**

1. Wählen Sie im Menü **Tools** die Option **NuGet Package Manager** aus.

1. Klicken Sie auf **Paket-Manager-Konsole**.

An der Befehlszeile können Sie die Komponenten mit `Install-Package` wie im Folgenden dargestellt installieren.

```
Install-Package Amazon.ElastiCacheCluster
```

Eine Seite für jedes Paket, das verfügbar ist NuGet, z. B. für die AWS SDK- und AWS.Extensions-Assemblys, finden Sie auf der NuGet Website unter [http://www.nuget.org](http://www.nuget.org). Die Seite für jedes Paket enthält eine Beispielbefehlszeile für die Installation des Pakets mithilfe der Konsole und eine Liste der früheren Versionen des Pakets, die über NuGet verfügbar sind.

Weitere Informationen zu den Befehlen der **Paket-Manager-Konsole** finden Sie unter [http://nuget.codeplex.com/wikipage?title=Package%20Manager%20Console%20Command%20Reference%20%28v1.3%29](http://nuget.codeplex.com/wikipage?title=Package%20Manager%20Console%20Command%20Reference%20%28v1.3%29).

# Installation des ElastiCache Cluster-Clients für PHP
<a name="Appendix.PHPAutoDiscoverySetup"></a>

In diesem Abschnitt wird beschrieben, wie Sie die PHP-Komponenten für den ElastiCache Cluster-Client auf EC2 Amazon-Instances installieren, aktualisieren und entfernen. Weitere Informationen zu Auto Discovery finden Sie unter [Identifizieren Sie automatisch Knoten in Ihrem Cluster (Memcached)](AutoDiscovery.md). Beispiele für PHP-Code zur Verwendung des Clients finden Sie unter [Den ElastiCache Cluster-Client für PHP verwenden](AutoDiscovery.Using.ModifyApp.PHP.md).

**Topics**
+ [Herunterladen des Installationspakets](Appendix.PHPAutoDiscoverySetup.Downloading.md)
+ [Für Benutzer, die bereits die Erweiterung *php-memcached* installiert haben](#Appendix.PHPAutoDiscoverySetup.InstallingExisting)
+ [Installationsschritte für neue Benutzer](Appendix.PHPAutoDiscoverySetup.Installing.md)
+ [Entfernen des PHP-Cluster-Clients](Appendix.PHPAutoDiscoverySetup.Removing.md)

# Herunterladen des Installationspakets
<a name="Appendix.PHPAutoDiscoverySetup.Downloading"></a>

Um sicherzustellen, dass Sie die richtige Version des ElastiCache Cluster Client für PHP verwenden, müssen Sie wissen, welche Version von PHP auf Ihrer EC2 Amazon-Instance installiert ist. Sie müssen auch wissen, ob auf Ihrer EC2 Amazon-Instance eine 64-Bit- oder 32-Bit-Version von Linux ausgeführt wird.

**So ermitteln Sie die auf Ihrer EC2 Amazon-Instance installierte PHP-Version**
+ Führen Sie in der Befehlszeile den folgenden Befehl aus:

  ```
  php -v
  ```

  Die PHP-Version wird wie in diesem Beispiel ausgegeben:

  ```
  PHP 5.4.10 (cli) (built: Jan 11 2013 14:48:57) 
  Copyright (c) 1997-2012 The PHP Group
  Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
  ```
**Anmerkung**  
Wenn Ihre PHP- und Memcached-Versionen inkompatibel sind, wird in etwa folgende Fehlermeldung ausgegeben:  

  ```
  PHP Warning: PHP Startup: memcached: Unable to initialize module
  Module compiled with module API=20100525
  PHP compiled with module API=20131226
  These options need to match
  in Unknown on line 0
  ```
In diesem Fall müssen Sie das Modul aus dem Quellcode kompilieren. Weitere Informationen finden Sie unter [Den Quellcode für den ElastiCache Cluster-Client für PHP kompilieren](Appendix.PHPAutoDiscoveryCompile.md).

**So ermitteln Sie Ihre Amazon EC2 AMI-Architektur (64-Bit oder 32-Bit)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die EC2 Amazon-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Klicken Sie in der **Instance-Liste** auf Ihre EC2 Amazon-Instance.

1. Suchen Sie auf der Registerkarte **Description** nach dem Feld **AMI:**. Die Beschreibung einer 64-Bit-Instance enthält `x86_64`, bei einer 32-Bit-Instance enthält dieses Feld `i386` oder `i686`.

Sie sind jetzt bereit, den ElastiCache Cluster Client herunterzuladen.

**Um den ElastiCache Cluster-Client für PHP herunterzuladen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die ElastiCache Konsole unter [ https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/).

1. Wählen Sie in der ElastiCache Konsole **ElastiCache Cluster Client** aus.

1. Wählen Sie aus der Liste ** ElastiCache Memcached Cluster Client herunterladen** den ElastiCache Cluster-Client aus, der Ihrer PHP-Version und AMI-Architektur entspricht, und klicken Sie dann auf die Schaltfläche **Herunterladen**.

## Für Benutzer, die bereits die Erweiterung *php-memcached* installiert haben
<a name="Appendix.PHPAutoDiscoverySetup.InstallingExisting"></a>

**So aktualisieren Sie die `php-memcached`-Installation**

1. Entfernen Sie die bisherige Installation der Memcached-Erweiterung für PHP, wie im Thema [Entfernen des PHP-Cluster-Clients](Appendix.PHPAutoDiscoverySetup.Removing.md) beschrieben.

1. Installieren Sie die neue ElastiCache `php-memcached` Erweiterung wie zuvor unter beschrieben[Installationsschritte für neue Benutzer](Appendix.PHPAutoDiscoverySetup.Installing.md). 

# Installationsschritte für neue Benutzer
<a name="Appendix.PHPAutoDiscoverySetup.Installing"></a>

**Topics**
+ [Installieren von PHP 7.x für neue Benutzer](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x)
+ [Installieren von PHP 5.x für neue Benutzer](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x)

## Installieren von PHP 7.x für neue Benutzer
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x"></a>

**Topics**
+ [Um PHP 7 auf einem Ubuntu-Server 14.04 LTS AMI (64-Bit und 32-Bit) zu installieren](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.Ubuntu)
+ [So installieren Sie PHP 7 auf einem Amazon Linux 201609 AMI](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.AmznLinux)
+ [So installieren Sie PHP 7 auf einem SUSE Linux-AMI](#Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.SuseLinux)

### Um PHP 7 auf einem Ubuntu-Server 14.04 LTS AMI (64-Bit und 32-Bit) zu installieren
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.Ubuntu"></a>

1. Starten Sie eine neue Instance aus dem AMI.

1. Führen Sie die folgenden Befehle aus:

   ```
   sudo apt-get update
   sudo apt-get install gcc g++
   ```

1. Installieren Sie PHP 7.

   ```
   sudo yum install php70
   ```

1. Laden Sie den Amazon ElastiCache Cluster Client herunter.

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. Extrahieren Sie `latest-64bit`.

   ```
   tar -zxvf latest-64bit
   ```

1. Kopieren Sie mit Root-Berechtigungen die extrahierte Artefaktdatei `amazon-elasticache-cluster-client.so` nach `/usr/lib/php/20151012`.

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib/php/20151012
   ```

1. Fügen Sie die Zeile `extension=amazon-elasticache-cluster-client.so` in die Datei `/etc/php/7.0/cli/php.ini` ein.

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php/7.0/cli/php.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

### So installieren Sie PHP 7 auf einem Amazon Linux 201609 AMI
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.AmznLinux"></a>

1. Starten Sie eine neue Instance aus dem AMI.

1. Führen Sie den folgenden Befehl aus:

   ```
   sudo yum install gcc-c++
   ```

1. Installieren Sie PHP 7.

   ```
   sudo yum install php70
   ```

1. Laden Sie den Amazon ElastiCache Cluster Client herunter.

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. Extrahieren Sie `latest-64bit`.

   ```
   tar -zxvf latest-64bit
   ```

1. Kopieren Sie mit Root-Berechtigungen die extrahierte Artefaktdatei `amazon-elasticache-cluster-client.so` nach `/usr/lib64/php/7.0/modules/`.

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib64/php/7.0/modules/
   ```

1. Erstellen Sie die Datei `50-memcached.ini`.

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php-7.0.d/50-memcached.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

### So installieren Sie PHP 7 auf einem SUSE Linux-AMI
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP7x.SuseLinux"></a>

1. Starten Sie eine neue Instance aus dem AMI.

1. Führen Sie den folgenden Befehl aus:

   ```
   sudo zypper install gcc
   ```

1. Installieren Sie PHP 7.

   ```
   sudo yum install php70
   ```

1. Laden Sie den Amazon ElastiCache Cluster Client herunter.

   ```
   wget https://elasticache-downloads.s3.amazonaws.com/ClusterClient/PHP-7.0/latest-64bit
   ```

1. Extrahieren Sie `latest-64bit`.

   ```
   tar -zxvf latest-64bit
   ```

1. Kopieren Sie mit Root-Berechtigungen die extrahierte Artefaktdatei `amazon-elasticache-cluster-client.so` nach `/usr/lib64/php7/extensions/`.

   ```
   sudo mv artifact/amazon-elasticache-cluster-client.so /usr/lib64/php7/extensions/
   ```

1. Fügen Sie die Zeile `extension=amazon-elasticache-cluster-client.so` in die Datei `/etc/php7/cli/php.ini` ein.

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php7/cli/php.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

## Installieren von PHP 5.x für neue Benutzer
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x"></a>

**Topics**
+ [So installieren Sie PHP 5 auf einem Amazon Linux 2014.03-AMI (64-Bit und 32-Bit)](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.AmznLinux)
+ [So installieren Sie PHP 5 auf einem Red Hat Enterprise Linux 7.0-AMI (64-Bit und 32-Bit)](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.RHEL)
+ [So installieren Sie PHP 5 auf einem Ubuntu-Server-14.04-LTS-AMI (64-Bit und 32-Bit)](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Ubuntu)
+ [So installieren Sie PHP 5 für SUSE-Linux-Enterprise-Server-11-AMI (64-Bit oder 32-Bit)](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.SuseLinux)
+ [Andere Linux-Distributionen](#Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Other)

### So installieren Sie PHP 5 auf einem Amazon Linux 2014.03-AMI (64-Bit und 32-Bit)
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.AmznLinux"></a>

1. Starten Sie eine Amazon Linux-Instance (64-Bit oder 32-Bit) und melden Sie sich an.

1. PHP-Abhängigkeiten installieren:

   ```
   sudo yum install gcc-c++ php php-pear
   ```

1. Laden Sie das richtige `php-memcached` Paket für Ihre EC2 Amazon-Instance und PHP-Version herunter. Weitere Informationen finden Sie unter [Herunterladen des Installationspakets](Appendix.PHPAutoDiscoverySetup.Downloading.md).

1. Installieren `php-memcached`. Die URI ist der Download-Pfad für das Installationspaket:

   ```
   sudo pecl install <package download path>
   ```

   Hier ist ein Beispielinstallationsbefehl für PHP 5.4, 64-Bit-Linux. Ersetzen Sie es in diesem Beispiel *X.Y.Z* durch die tatsächliche Versionsnummer:

   ```
   sudo pecl install /home/AmazonElastiCacheClusterClient-X.Y.Z-PHP54-64bit.tgz
   ```
**Anmerkung**  
Verwenden Sie immer die aktuelle Version des Installationsartefakts.

1. Fügen Sie mit entsprechender root/sudo Genehmigung eine neue Datei mit dem Namen `memcached.ini` im `/etc/php.d` Verzeichnis hinzu und fügen Sie „extension= amazon-elasticache-cluster-client .so“ in die Datei ein: 

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php.d/memcached.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

### So installieren Sie PHP 5 auf einem Red Hat Enterprise Linux 7.0-AMI (64-Bit und 32-Bit)
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.RHEL"></a>

1. Starten Sie eine Red Hat Enterprise Linux-Instance (64-Bit oder 32-Bit) und melden Sie sich an.

1. PHP-Abhängigkeiten installieren:

   ```
   sudo yum install gcc-c++ php php-pear
   ```

1. Laden Sie das richtige `php-memcached` Paket für Ihre EC2 Amazon-Instance und PHP-Version herunter. Weitere Informationen finden Sie unter [Herunterladen des Installationspakets](Appendix.PHPAutoDiscoverySetup.Downloading.md).

1. Installieren `php-memcached`. Die URI ist der Download-Pfad für das Installationspaket:

   ```
   sudo pecl install <package download path>
   ```

1. Fügen Sie mit entsprechender root/sudo Genehmigung eine neue Datei mit dem Namen `memcached.ini` im `/etc/php.d` Verzeichnis hinzu und fügen Sie sie `extension=amazon-elasticache-cluster-client.so` in die Datei ein.

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php.d/memcached.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

### So installieren Sie PHP 5 auf einem Ubuntu-Server-14.04-LTS-AMI (64-Bit und 32-Bit)
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Ubuntu"></a>

1. Starten Sie eine Ubuntu Linux-Instance (64-Bit oder 32-Bit) und melden Sie sich an.

1. PHP-Abhängigkeiten installieren:

   ```
   sudo apt-get update 
   sudo apt-get install gcc g++ php5 php-pear
   ```

1. Laden Sie das richtige `php-memcached` Paket für Ihre EC2 Amazon-Instance und PHP-Version herunter. Weitere Informationen finden Sie unter [Herunterladen des Installationspakets](Appendix.PHPAutoDiscoverySetup.Downloading.md). 

1. Installieren `php-memcached`. Die URI ist der Download-Pfad für das Installationspaket. 

   ```
   sudo pecl install <package download path>
   ```
**Anmerkung**  
In diesem Installationsschritt wird das Build-Artefakt `amazon-elasticache-cluster-client.so` im Verzeichnis `/usr/lib/php5/20121212*` installiert. Überprüfen Sie den absoluten Pfad des Build-Artefakts, da er im nächsten Schritt benötigt wird. 

   Wenn der vorherige Befehl fehlschlägt, müssen Sie das PHP-Client-Artefakt `amazon-elasticache-cluster-client.so` manuell aus der heruntergeladenen Datei `*.tgz` extrahieren und in das Verzeichnis `/usr/lib/php5/20121212*` kopieren.

   ```
   tar -xvf <package download path>
   cp amazon-elasticache-cluster-client.so /usr/lib/php5/20121212/
   ```

1. Fügen Sie mit entsprechender root/sudo Genehmigung eine neue Datei mit dem Namen `memcached.ini` im `/etc/php5/cli/conf.d` Verzeichnis hinzu und fügen Sie „extension=<absolute path to amazon-elasticache-cluster-client .so>“ in die Datei ein.

   ```
   echo "extension=<absolute path to amazon-elasticache-cluster-client.so>" | sudo tee --append /etc/php5/cli/conf.d/memcached.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

 

### So installieren Sie PHP 5 für SUSE-Linux-Enterprise-Server-11-AMI (64-Bit oder 32-Bit)
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.SuseLinux"></a>

1. Starten Sie eine SUSE-Linux-Instance (64-Bit oder 32-Bit) und melden Sie sich an. 

1. PHP-Abhängigkeiten installieren:

   ```
   sudo zypper install gcc php53-devel
   ```

1. Laden Sie das richtige `php-memcached` Paket für Ihre EC2 Amazon-Instance und PHP-Version herunter. Weitere Informationen finden Sie unter [Herunterladen des Installationspakets](Appendix.PHPAutoDiscoverySetup.Downloading.md). 

1. Installieren `php-memcached`. Die URI ist der Download-Pfad für das Installationspaket. 

   ```
   sudo pecl install <package download path>
   ```

1. Fügen Sie mit entsprechender root/sudo Genehmigung eine neue Datei mit dem Namen `memcached.ini` im `/etc/php5/conf.d` Verzeichnis hinzu und fügen Sie sie **extension=`amazon-elasticache-cluster-client.so`** in die Datei ein.

   ```
   echo "extension=amazon-elasticache-cluster-client.so" | sudo tee --append /etc/php5/conf.d/memcached.ini
   ```

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

**Anmerkung**  
Sollte Schritt 5 für die vorherigen Plattformen nicht funktionieren, überprüfen Sie den Installationspfad für `amazon-elasticache-cluster-client.so`. Geben Sie auch den vollständigen Pfad der Binary in der Erweiterung an. Bei der verwendeten PHP-Version muss es sich um eine unterstützte Version handeln. Die Versionen 5.3 bis 5.5 werden unterstützt. 

 

### Andere Linux-Distributionen
<a name="Appendix.PHPAutoDiscoverySetup.Installing.PHP5x.Other"></a>

Auf einigen Systemen, insbesondere Cent OS7 und Red Hat Enterprise Linux (RHEL) 7.1, `libsasl2.so.3` wurde es ersetzt`libsasl2.so.2`. Wenn Sie auf diesen Systemen den ElastiCache Cluster-Client laden, versucht er, ihn zu finden und zu laden`libsasl2.so.2`, aber er schlägt fehl. Um dieses Problem zu beheben, erstellen Sie einen symbolischen Link auf `libsasl2.so.3`, damit der Client beim Laden von libsasl2.so.2 auf `libsasl2.so.3` weitergeleitet wird. Mit dem folgenden Code wird dieser symbolische Link erstellt.

```
cd /usr/lib64
sudo ln libsasl2.so.3 libsasl2.so.2
```

# Entfernen des PHP-Cluster-Clients
<a name="Appendix.PHPAutoDiscoverySetup.Removing"></a>

**Topics**
+ [Entfernen einer früheren Version von PHP 7](#Appendix.PHPAutoDiscoverySetup.Removing.PHP7x)
+ [Entfernen einer früheren Version von PHP 5](#Appendix.PHPAutoDiscoverySetup.Removing.PHP5x)

## Entfernen einer früheren Version von PHP 7
<a name="Appendix.PHPAutoDiscoverySetup.Removing.PHP7x"></a>

**So entfernen Sie eine frühere Version von PHP 7**

1. Entfernen Sie die Datei `amazon-elasticache-cluster-client.so` aus dem entsprechenden PHP-Bibliotheksverzeichnis, wie zuvor in den Installationsanleitungen erläutert. Weitere Informationen finden Sie in Installationsabschnitt unter [Für Benutzer, die bereits die Erweiterung *php-memcached* installiert haben](Appendix.PHPAutoDiscoverySetup.md#Appendix.PHPAutoDiscoverySetup.InstallingExisting).

1. Entfernen Sie die Zeile `extension=amazon-elasticache-cluster-client.so` aus der Datei `php.ini`.

1. Starten Sie Ihren Apache-Server (neu).

   ```
   sudo /etc/init.d/httpd start
   ```

## Entfernen einer früheren Version von PHP 5
<a name="Appendix.PHPAutoDiscoverySetup.Removing.PHP5x"></a>

**So entfernen Sie eine frühere Version von PHP 5**

1. Entfernen Sie die Erweiterung `php-memcached`:

   ```
   sudo pecl uninstall __uri/AmazonElastiCacheClusterClient
   ```

1.  Entfernen Sie die Datei `memcached.ini` aus dem entsprechenden Verzeichnis, wie zuvor in den Installationsanleitungen erläutert. 

# Den Quellcode für den ElastiCache Cluster-Client für PHP kompilieren
<a name="Appendix.PHPAutoDiscoveryCompile"></a>

In diesem Abschnitt wird beschrieben, wie Sie den Quellcode für den ElastiCache Cluster-Client für PHP abrufen und kompilieren.

[Es gibt zwei Pakete, aus denen Sie Daten abrufen GitHub und kompilieren müssen: [aws-elasticache-cluster-client-libmemcached](https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached) und -. aws-elasticache-cluster-client memcached-for-php](https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php)

**Topics**
+ [Kompilieren der libmemcached-Bibliothek](#Appendix.PHPAutoDiscoveryCompile.Libmemcached)
+ [Den ElastiCache Memcached Auto Discovery Client für PHP kompilieren](#Appendix.PHPAutoDiscoveryCompile.Client)

## Kompilieren der libmemcached-Bibliothek
<a name="Appendix.PHPAutoDiscoveryCompile.Libmemcached"></a>

**Um die Bibliothek -libmemcached zu kompilieren aws-elasticache-cluster-client**

1. Starten Sie eine EC2 Amazon-Instance.

1. Installieren Sie die Abhängigkeiten der Bibliothek.
   + Auf dem Amazon Linux 201509 AMI

     ```
     sudo yum install gcc gcc-c++ autoconf libevent-devel
     ```
   + Auf dem Ubuntu 14.04 AMI

     ```
     sudo apt-get update
     sudo apt-get install libevent-dev gcc g++ make autoconf libsasl2-dev
     ```

1. Führen Sie einen Pull des Repositorys aus und kompilieren Sie den Code.

   ```
   Download and install [ https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached/archive/v1.0.18.tar.gz]( https://github.com/awslabs/aws-elasticache-cluster-client-libmemcached/archive/v1.0.18.tar.gz)
   ```

## Den ElastiCache Memcached Auto Discovery Client für PHP kompilieren
<a name="Appendix.PHPAutoDiscoveryCompile.Client"></a>

In den folgenden Abschnitten wird beschrieben, wie der ElastiCache Memcached Auto Discovery Client kompiliert wird

**Topics**
+ [Kompilieren des ElastiCache Memcached-Clients für PHP 7](#Appendix.PHPAudiscoveryCompile.Client.PHP7)
+ [Kompilieren des ElastiCache Memcached-Clients für PHP 5](#Appendix.PHPAudiscoveryCompile.PHP5)

### Kompilieren des ElastiCache Memcached-Clients für PHP 7
<a name="Appendix.PHPAudiscoveryCompile.Client.PHP7"></a>

Führen Sie die folgenden Befehle im Code-Verzeichnis aus.

```
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
cd aws-elasticache-cluster-client-memcached-for-php 
git checkout php7
sudo yum install php70-devel
phpize
./configure --with-libmemcached-dir=<libmemcached-install-directory> --disable-memcached-sasl
make
make install
```

**Anmerkung**  
Sie können die libmemcached-Bibliothek mit der PHP-Binärdatei statisch verknüpfen, sodass sie über verschiedene Plattformen portiert werden kann. Führen Sie dazu den folgenden Befehl vor `make` aus:  

```
sed -i "s#-lmemcached#<libmemcached-install-directory>/lib/libmemcached.a -lcrypt -lpthread -lm -lstdc++ -lsasl2#" Makefile 
```

### Kompilieren des ElastiCache Memcached-Clients für PHP 5
<a name="Appendix.PHPAudiscoveryCompile.PHP5"></a>

Kompilieren Sie den `aws-elasticache-cluster-client-memcached-for-php`, indem Sie die folgenden Befehle im Ordner `aws-elasticache-cluster-client-memcached-for-php/` ausführen.

```
git clone https://github.com/awslabs/aws-elasticache-cluster-client-memcached-for-php.git
cd aws-elasticache-cluster-client-memcached-for-php 
sudo yum install zlib-devel
phpize
./configure --with-libmemcached-dir=<libmemcached-install-directory>
make
make install
```

# Konfiguration von ElastiCache Clients
<a name="ClientConfig"></a>

Ein ElastiCache Cluster ist protokollkonform mit Valkey, Memcached und Redis OSS. Der Code, die Anwendungen und die beliebtesten Tools, die Sie heute in Ihrer bestehenden Umgebung verwenden, funktionieren problemlos mit dem Service.

Dieser Abschnitt befasst sich mit den spezifischen Überlegungen für das Verbinden mit Cache-Knoten in ElastiCache.

**Topics**
+ [Eingeschränkte Befehle](ClientConfig.RestrictedCommands.md)
+ [Finden von Knotenendpunkten und Portnummern](ClientConfig.FindingEndpointsAndPorts.md)
+ [Verbinden für die Verwendung der automatischen Erkennung](ClientConfig.AutoDiscovery.md)
+ [Verbindung zu Knoten in einem Valkey- oder Redis OSS-Cluster herstellen](ClientConfig.ReplicationGroup.md)
+ [DNS-Namen und zugrunde liegende IP](ClientConfig.DNS.md)

# Eingeschränkte Befehle
<a name="ClientConfig.RestrictedCommands"></a>

 ElastiCache Schränkt den Zugriff auf bestimmte Cache-Engine-spezifische Befehle ein, die erweiterte Rechte erfordern, um ein Managed Service-Erlebnis zu bieten. Für Cluster, auf denen Redis OSS ausgeführt wird, sind die folgenden Befehle nicht verfügbar:
+ `bgrewriteaof`
+ `bgsave`
+ `config`
+ `debug`
+ `migrate`
+ `replicaof`
+ `save`
+ `slaveof`
+ `shutdown`
+ `sync`

# Finden von Knotenendpunkten und Portnummern
<a name="ClientConfig.FindingEndpointsAndPorts"></a>

Um eine Verbindung zu einem Cache-Knoten herzustellen, muss Ihre Anwendung den Endpunkt und die Portnummer für diesen Knoten kennen.

## Finden von Knotenendpunkten und Portnummern (Konsole)
<a name="ClientConfig.FindingEndpointsAndPorts.CON"></a>

 **So bestimmen Sie Knotenendpunkte und Portnummern** 

1. Melden Sie sich bei der [Amazon ElastiCache Management Console](https://aws.amazon.com/elasticache) an und wählen Sie die Engine aus, die auf Ihrem Cluster läuft.

   Es wird eine Liste aller Cluster der ausgewählten Engine angezeigt.

1. Fahren Sie mit der Anleitung für die ausgewählte Engine und Konfiguration fort.

1. Wählen Sie den Namen des gewünschten Clusters aus.

1. Entnehmen Sie die benötigten Informationen für den gewünschten Knoten aus den Spalten **Port** und **Endpoint**.

## Finden von Cache-Knotenendpunkten und Portnummern (AWS CLI)
<a name="ClientConfig.FindingEndpointsAndPorts.CLI"></a>

Verwenden Sie den Befehl `describe-cache-clusters` mit dem Parameter `--show-cache-node-info`, um die Endpunkte und Portnummern von Cache-Knoten zu bestimmen.

```
aws elasticache describe-cache-clusters --show-cache-node-info 
```

Sie finden die vollständig qualifizierten DNS-Namen und Portnummern im Abschnitt Endpunkt in der Ausgabe.

## Suche nach Endpunkten und Portnummern von Cache-Knoten (ElastiCache API)
<a name="ClientConfig.FindingEndpointsAndPorts.API"></a>

Verwenden Sie die Aktion `DescribeCacheClusters` mit dem Parameter `ShowCacheNodeInfo=true`, um die Endpunkte und Portnummern von Cache-Knoten zu bestimmen.

**Example**  

```
 1. https://elasticache.us-west-2.amazonaws.com /
 2.     ?Action=DescribeCacheClusters
 3.     &ShowCacheNodeInfo=true
 4.     &SignatureVersion=4
 5.     &SignatureMethod=HmacSHA256
 6.     &Timestamp=20140421T220302Z
 7.     &Version=2014-09-30   
 8.     &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
 9.     &X-Amz-Credential=<credential>
10.     &X-Amz-Date=20140421T220302Z
11.     &X-Amz-Expires=20140421T220302Z
12.     &X-Amz-Signature=<signature>
13.     &X-Amz-SignedHeaders=Host
```

# Verbinden für die Verwendung der automatischen Erkennung
<a name="ClientConfig.AutoDiscovery"></a>

Wenn Sie in Ihren Anwendungen Auto Discovery verwenden, müssen Sie anstelle der einzelnen Endpunkte für jeden Cache-Knoten den Konfigurationsendpunkt für das Cluster kennen. Weitere Informationen finden Sie unter [Identifizieren Sie automatisch Knoten in Ihrem Cluster (Memcached)](AutoDiscovery.md).

**Anmerkung**  
Derzeit ist Auto Discovery nur für Cluster verfügbar, auf denen Memcached ausgeführt wird.

# Verbindung zu Knoten in einem Valkey- oder Redis OSS-Cluster herstellen
<a name="ClientConfig.ReplicationGroup"></a>

**Anmerkung**  
Derzeit werden Cluster (API/CLI: Replikationsgruppen), die Replikation und Read Replicas unterstützen, nur für Cluster unterstützt, auf denen Valkey oder Redis OSS ausgeführt wird.

 ElastiCache Stellt für Cluster Konsolen-, CLI- und API-Schnittstellen bereit, um Verbindungsinformationen für einzelne Knoten abzurufen.

Für reine Lesezugriffe können Anwendungen eine Verbindung zu beliebigen Knoten im Cluster herstellen. Für Schreibaktivitäten empfehlen wir jedoch, dass Ihre Anwendungen eine Verbindung zum primären Endpunkt (Valkey oder Redis OSS (Clustermodus deaktiviert)) oder Konfigurationsendpunkt (Valkey oder Redis OSS (Clustermodus aktiviert)) für den Cluster herstellen, anstatt eine direkte Verbindung zu einem Knoten herzustellen. Dadurch wird sichergestellt, dass Ihre Anwendungen immer den korrekten Knoten finden, auch wenn Sie das Cluster neu konfigurieren und einem Lesereplikat die primäre Rolle zuweisen.

## Verbinden mit Clustern in einer Replikationsgruppe (Konsole)
<a name="ClientConfig.ReplicationGroup.CON"></a>

**So bestimmen Sie Endpunkte und Portnummern**
+ Weitere Informationen finden Sie auch im Thema [Finden Sie die Endpunkte eines Valkey- oder Redis OSS-Clusters (Cluster-Modus deaktiviert) (Konsole)](Endpoints.md#Endpoints.Find.Redis).

## Verbinden mit Clustern in einer Replikationsgruppe (AWS CLI)
<a name="ClientConfig.ReplicationGroup.CLI"></a>

 **So bestimmen Sie die Cache-Knoten-Endpunkte und Portnummern**

Verwenden Sie den Befehl `describe-replication-groups` mit dem Namen Ihrer Replikationsgruppe:

```
aws elasticache describe-replication-groups redis2x2
```

Die Ausgabe dieses Befehls sieht ähnlich wie folgt aus:

```
{
    "ReplicationGroups": [
        {
            "Status": "available", 
            "Description": "2 shards, 2 nodes (1 + 1 replica)", 
            "NodeGroups": [
                {
                    "Status": "available", 
                    "Slots": "0-8191", 
                    "NodeGroupId": "0001", 
                    "NodeGroupMembers": [
                        {
                            "PreferredAvailabilityZone": "us-west-2c", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "redis2x2-0001-001"
                        }, 
                        {
                            "PreferredAvailabilityZone": "us-west-2a", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "redis2x2-0001-002"
                        }
                    ]
                }, 
                {
                    "Status": "available", 
                    "Slots": "8192-16383", 
                    "NodeGroupId": "0002", 
                    "NodeGroupMembers": [
                        {
                            "PreferredAvailabilityZone": "us-west-2b", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "redis2x2-0002-001"
                        }, 
                        {
                            "PreferredAvailabilityZone": "us-west-2a", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "redis2x2-0002-002"
                        }
                    ]
                }
            ], 
            "ConfigurationEndpoint": {
                "Port": 6379, 
                "Address": "redis2x2.9dcv5r.clustercfg.usw2.cache.amazonaws.com"
            }, 
            "ClusterEnabled": true, 
            "ReplicationGroupId": "redis2x2", 
            "SnapshotRetentionLimit": 1, 
            "AutomaticFailover": "enabled", 
            "SnapshotWindow": "13:00-14:00", 
            "MemberClusters": [
                "redis2x2-0001-001", 
                "redis2x2-0001-002", 
                "redis2x2-0002-001", 
                "redis2x2-0002-002"
            ], 
            "CacheNodeType": "cache.m3.medium", 
            "PendingModifiedValues": {}
        }
    ]
}
```

## Verbindung zu Clustern in einer Replikationsgruppe (API) herstellen ElastiCache
<a name="ClientConfig.ReplicationGroup.API"></a>

 **So bestimmen Sie die Cache-Knoten-Endpunkte und Portnummern** 

Rufen Sie `DescribeReplicationGroups` mit folgendem Parameter auf:

`ReplicationGroupId` = der Name Ihrer Replikationsgruppe

**Example**  

```
 1. https://elasticache.us-west-2.amazonaws.com /
 2.     ?Action=DescribeCacheClusters
 3.     &ReplicationGroupId=repgroup01
 4.     &Version=2014-09-30   
 5.     &SignatureVersion=4
 6.     &SignatureMethod=HmacSHA256
 7.     &Timestamp=20140421T220302Z
 8.     &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
 9.     &X-Amz-Date=20140421T220302Z
10.     &X-Amz-SignedHeaders=Host
11.     &X-Amz-Expires=20140421T220302Z
12.     &X-Amz-Credential=<credential>
13.     &X-Amz-Signature=<signature>
```

# DNS-Namen und zugrunde liegende IP
<a name="ClientConfig.DNS"></a>

Clients verfügen über eine Serverliste mit den Adressen und Ports der Server, auf denen Cache-Daten abgelegt werden. Bei der Verwendung ElastiCache gibt die DescribeCacheClusters API (oder das describe-cache-clusters Befehlszeilenprogramm) einen vollqualifizierten DNS-Eintrag und eine Portnummer zurück, die für die Serverliste verwendet werden können.

**Wichtig**  
Es ist wichtig, dass Client-Anwendungen so konfiguriert werden, dass DNS-Namen von Cache-Knoten regelmäßig aufgelöst werden, wenn sie versuchen, eine Verbindung zu einem Cache-Knotenendpunkt herzustellen.

ElastiCache stellt sicher, dass der DNS-Name der Cache-Knoten derselbe bleibt, wenn Cache-Knoten im Falle eines Fehlers wiederhergestellt werden.

Persistente Cache-Knotenverbindungen werden von den meisten Client-Bibliotheken standardmäßig unterstützt. Wir empfehlen, beim Verwenden von ElastiCache persistente Cache-Knotenverbindungen zu nutzen. Clientseitige Zwischenspeicherung von DNS-Informationen kann an mehreren Orten erfolgen, darunter Client-Bibliotheken, der Sprache der Laufzeitumgebung oder dem Betriebssystem des Clients. Prüfen Sie die Konfiguration Ihrer Anwendung auf allen Ebenen, um sicherzustellen, dass IP-Adressen für Ihre Cache-Knoten regelmäßig aufgelöst werden.