java - 在 AWS 中连接到 DAX 时出错

标签 java amazon-web-services amazon-ec2 amazon-dynamodb

我们在从测试环境中的 Java 应用程序连接到 DAX 时遇到问题。 DAX 集群和配置在我们的测试环境的 cloudformation 模板中完成。

这些是跟踪中的错误:

[ERROR] DaxClient-39: caught exception during cluster refresh: java.io.IOException: failed to configure cluster endpoints from hosts

Suppressed: com.amazon.dax.client.exceptions.DaxServiceException: [X.X.XX.XX] Connection requires authentication (Service: null; Status Code: -1; Error Code: null; Request ID: null)

我们在开发环境中使用相同的模板,并且能够从该环境中的 ec2 实例连接到该环境中的 DAX。

我们已经使用以下方法验证了与集群的连接:

nc -z v-dax-test.3fxxxx.clustercfg.dax.usw2.cache.amazonaws.com 8111

可以运行

aws dax describe-clusters --r us-west-2

在尝试连接到 DAX 的 ec2 实例上并取回看起来正常的结果。

该实例正在使用 aws java sdk 和 dax 客户端库运行 java 应用程序。

我们已经验证 DAX 的安全组允许来自 ec2 实例所在安全组的 8111 的传入连接。

dax 子网组指定 ec2 实例所在的子网。

谁能告诉我这个错误是什么意思,以及如何解决它?

谢谢!

最佳答案

如果您在实例化 DAX ClientConfig 和访问 us-east-1(客户端默认区域)以外的区域中的 DAX 集群时未指定区域,则可能会发生这种情况。要指定区域,请尝试:

ClientConfig daxConfig = new ClientConfig()
    .withEndpoints(daxEndpoint).withRegion("us-west-2");
AmazonDaxClient client = new ClusterDaxClient(daxConfig);

关于java - 在 AWS 中连接到 DAX 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48196580/

相关文章:

node.js - 通过 Route 53 内的域指向 EC2 实例并超时

amazon-web-services - 无法连接到我的 aws ec2 实例上的 neo4j 服务器 - 端口 7474

java - 如何在 Eclipse 中更改 Android 的 Java 构建路径?

java - 尝试使用 JAXB(xjc) 从架构生成类时出现错误

java - 匹配类型层次结构

java - 如何获取带有逗号和空格的字符串并将其存储在数组变量中

amazon-web-services - 嵌套 cloudformation 在创建 vpc 时获取 vpcid

amazon-web-services - 如何通过 aws 中的 cli 为 admin-update-user-attributes 操作传递 json 值?

ios - 移动设备优先 - 无法为推送通知注册设备

django - ImportError : No module named django. core.wsgi Apache + VirtualEnv + AWS + WSGI