使用本地开发机器上的AWS DynamoDB DAX

时间:2017-12-12 09:08:15

标签: amazon-web-services amazon-dynamodb-dax

我正在尝试使用当前使用DynamoDB的应用程序的DAX客户端,并发现它仅在VPC中受支持。 DAX端点位于172.31.x.y范围内。

这是否意味着无法从我的本地开发机器测试DAX功能,或者是否可以将DAX配置为可以从Internet访问以便以某种方式进行测试?或者我是否仍然坚持使用SSH进入VPC中的EC2?

2 个答案:

答案 0 :(得分:2)

答:似乎答案是否,我们甚至无法通过我们的本地开发机器进行测试。

我遇到了同样的问题。花了这么多时间挖掘视频和文档后,我终于想到了我的想法。我不明白为什么亚马逊应该限制它只在VPC中。只要客户使用他们的私人和公共凭据密钥,我就不明白为什么您无法从外部VPC安全地访问DAX。 (我唯一能想到的是潜在的DDOS攻击)。无论如何,亚马逊本可以更好地沟通这个...他们没有在任何视频中提及,我只是在一个随机文件中发现了这个......

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.html

  

使用备注有关DAX可用的AWS区域列表,请参阅   https://aws.amazon.com/dynamodb/pricing

     

DAX支持用Java,Node.js,.Python和.NET编写的应用程序,   将AWS提供的客户端用于这些编程语言。

     

DAX不支持传输层安全性(TLS)。

     

DAX仅适用于EC2-VPC平台。(没有支持   对于EC2-Classic平台。)

     

DAX群集维护有关项目属性名称的元数据   存储,并且元数据无限期地维护(即使在   item已过期或已从缓存中逐出)。应用程序   随着时间的推移,使用无限数量的属性名称会导致   DAX集群中的内存耗尽。此限制仅适用于   顶级属性名称,而不是嵌套属性名称。示例   有问题的顶级属性名称包括时间戳,UUID和   会话ID。

     

请注意,此限制仅适用于属性名称,而不适用于属性名称   值。这样的项目不是问题:

答案 1 :(得分:2)

如果创建VPC端点和nlb,则可以从群集外部访问DAX

import com.amazon.dax.client.dynamodbv2.DaxClient;
AmazonDynamoDB amazonDynamoDb = new DaxClient(
                "vpce-XXX-YYY.vpce-svc-ZZZ.us-west-2.vpce.amazonaws.com",
                8111, region, credentials);

更多详细信息在这里:https://stackoverflow.com/a/62094056/278266