2017-09-03 1 views
1

Ich versuche DAX von einem lokalen Host mit dem folgenden Code zu verbinden:Amazon DAX-Client wirft „Keine Endpunkte verfügbar“ Ausnahme

ClientConfig daxConfig = new ClientConfig() 
      .withEndpoints("dax-cluster.yhdqu5.clustercfg.dax.use1.cache.amazonaws.com:8111"); 
    AmazonDaxClient client = new ClusterDaxClient(daxConfig); 

Der Cluster ist und läuft, habe ich es in einem öffentlichen erstellt Subnetz und offenen Port 8111 in der Sicherheitsgruppe, aber trotzdem erhalte ich die folgende Ausnahme:

Caused by: java.io.IOException: No endpoints available 
    at com.amazon.dax.client.cluster.Cluster.leaderClient(Cluster.java:560) 
    at com.amazon.dax.client.dynamodbv2.ClusterDaxClient$3.getClient(ClusterDaxClient.java:154) 
    at com.amazon.dax.client.dynamodbv2.ClusterDaxClient$RetryHandler.makeRequestWithRetries(ClusterDaxClient.java:632) 
    ... 10 more 
    Suppressed: java.io.IOException: No endpoints available 
     ... 13 more 
     Suppressed: java.io.IOException: No endpoints available 
      ... 13 more 

Andere Antworten auf Stackoverflow lassen vermuten, dass dies durch falsch konfigurierte Sicherheitsgruppe verursacht werden kann und es testen ich habe ein ins Leben gerufen Instanz im selben VPC/Subnetz und verwendet die gleiche Sicherheit Gruppe und ich konnte SSH zu diesem Host (beide 22nd und 8111-st Ports sind in der Sicherheitsgruppe geöffnet). Es sollte also einen anderen DAX-Grund geben.

Die Firewall auf meinem Computer ist ausgeschaltet.

Aber wenn ich auf eine Maschine in EC2 ssh, dann kann ich an den DAX-Cluster verbinden:

[[email protected] ~]$ nc -z dax-cluster.yhdqu5.clustercfg.dax.use1.cache.amazonaws.com 8111 
Connection to dax-cluster.yhdqu5.clustercfg.dax.use1.cache.amazonaws.com 8111 port [tcp/*] succeeded! 
+2

Sie können geöffnet Verbinden Sie sich von einem EC2-Computer in derselben VPC wie der DAX-Cluster nur mit DAX. Sofern Ihr lokaler Host keine EC2-Instanz in derselben VPC ist, kann er keine Verbindung zum DAX-Cluster herstellen. –

Antwort

2

Sie nur DAX aus einer EC2-Maschine in der gleichen VPC wie der DAX-Cluster verbinden können. Sofern Ihr lokaler Host keine EC2-Instanz in derselben VPC ist, kann er keine Verbindung zum DAX-Cluster herstellen.

+0

Kann jemand erklären, warum das so ist? Warum sollten sie diese Einschränkung haben? Gibt es das überhaupt? Ich habe einen Dienst, der in einem anderen Cloud-Anbieter lebt, den ich auf DAX zugreifen möchte. – Charles

0

Wenn Sie Anruf von Ihrem Lambda machen, stellen Sie sicher, dass Sie das Lambda haben mit der gleichen VPC läuft, hat es iam Rolle für den Zugriff auf dax gewährt und es hat den dax-Anschluss für die Sicherheitsgruppe