2017-09-03 2 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을 열고,하지만 그럼에도 불구하고 나는 다음과 같은 예외가 나타납니다이 잘못 구성된 보안 그룹에 의해 야기 될 수 있음을 시사하고 내가 출시 한 그것을 테스트에 StackOverflow에

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 번째 포트 모두 보안 그룹에서 열렸다.) 그래서 다른 DAX 관련 이유가 있어야합니다.

내 컴퓨터의 방화벽이 꺼져 있습니다. 내가 EC2에서 기계에 ssh를하는 경우

, 그때 나는 DAX 클러스터에 연결할 수 있습니다 : 당신 만의 DAX 클러스터와 같은 VPC에서 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 포트를 열었습니다 DAX 클러스터와 동일한 VPC의 EC2 시스템에서만 DAX에 연결합니다. 로컬 호스트가 동일한 VPC의 EC2 인스턴스가 아니면 DAX 클러스터에 연결할 수 없습니다. –

답변

2

. 로컬 호스트가 동일한 VPC의 EC2 인스턴스가 아니면 DAX 클러스터에 연결할 수 없습니다.

+0

누군가 이것이 왜 그런지 설명 할 수 있습니까? 왜 그들은이 제한을 가지고 있 었는가? 어쨌든 주변에 있습니까? DAX에 액세스하려는 다른 클라우드 공급자에있는 서비스가 있습니다. – Charles

0

것은 당신이 같은 VPC에서 실행 람다가 있는지 확인, 당신의 람다에서 전화를 걸 경우, 그것은 DAX에 액세스 할 IAM 역할을 부여하며 보안 그룹