DAX集群无法连接到dynamodb?错误:NoRouteException:无法解析地址

时间:2018-02-03 01:52:30

标签: amazon-dynamodb-dax

我正在使用Amazon nodejs / javascript客户端进行dax,每次发送查询时,都会收到此响应(我必须通过插入日志语句来挖掘代码):

{ "time": 1517618635321, "code": null, "retryable": false, "requestId": null, "statusCode": -1, "_tubeInvalid": true, "waitForRecoveryBeforeRetrying": false, "codeSeq": [ 4, 23, 31, 34 ] }

显然返回的代码序列甚至不是节点模块似乎理解的代码序列,所以我完全迷失了。

我怀疑是VPC网络配置问题或IAM问题,但是我已经用精细的牙齿梳子进行了检查,但是我仍然看不到它。

如何解码此错误消息,在dax群集服务器上查找日志,或以其他方式找出如何了解导致此错误的错误?

1 个答案:

答案 0 :(得分:0)

[4, 23, 31, 34]PermissionDenied,因此您的预感是权限问题是正确的(我会做一个注释来修复映射,以便更清楚)。

凭据可以作为AWS.Credentials object提供,但建议的方法是从EC2实例元数据中获取凭据,AWS SDK和DAX客户端将自动执行这些元数据。这要求您的EC2实例具有服务角色,授予他们访问DAX的权限。最简单的方法是在控制台中创建一个新角色,以便在EC2中使用,并将AmazonDynamoDBFullAccess策略附加到该角色。然后,您使用该角色启动的任何EC2实例都将能够访问您的DAX群集。

(至于为什么错误是NoRouteException,发布的版本有一个过于宽泛的异常处理程序需要清理。)