DAX cluster can't connect to dynamodb? Error: NoRouteException: not able to resolve address

DAX cluster can't connect to dynamodb? Error: NoRouteException: not able to resolve address

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

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

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

我怀疑是 VPC 网络配置问题或 IAM 问题,但我已经用足以除虱的细齿梳检查过了,但我仍然没有看到。

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

[4, 23, 31, 34]PermissionDenied,所以您认为这是权限问题的预感是正确的(我会记下修复映射以便更清楚)。

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

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