2017-09-03 134 views
1

我嘗試使用下面的代碼從本地主機連接到DAX:亞馬遜DAX客戶端拋出「沒有終點用」異常

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

集羣啓動並運行,我在公共創建它子網和安全組中打開端口8111,但儘管這樣,我收到以下異常:

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 

在計算器上其他的答案表明,這可以通過配置不正確的安全組所引起,並對其進行測試,我發起了實例在相同的VPC /子網中並使用相同的安全性組和我能夠ssh到這個主機(第22和8111-st端口在安全組中打開)。所以應該有一些其他DAX相關的原因。

我的機器上的防火牆已關閉。

但是,如果我ssh到EC2中的一臺機器,那麼我就可以連接到集羣DAX指數:

[[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

你可以只能從與DAX羣集相同的VPC中的EC2機器連接到DAX。除非您的本地主機在同一個VPC中是EC2實例,否則它將無法連接到DAX羣集。 –

回答

2

您可以從EC2機在同一VPC只能連接到DAX作爲DAX集羣。除非您的本地主機在同一個VPC中是EC2實例,否則它將無法連接到DAX羣集。

+0

有人可以解釋爲什麼這是這種情況?他們爲什麼會有這個限制?反正有它嗎?我有一個服務位於另一個想要訪問DAX的雲提供商。 – Charles

0

如果你正在從你的拉姆達電話,請確保您有在同一VPC運行的λ,它已授予IAM角色訪問DAX它已經打開了DAX端口安全組