我正在尝试使用当前使用DynamoDB的应用程序的DAX客户端,并发现它仅在VPC中受支持。 DAX端点位于172.31.x.y范围内。
这是否意味着无法从我的本地开发机器测试DAX功能,或者是否可以将DAX配置为可以从Internet访问以便以某种方式进行测试?或者我是否仍然坚持使用SSH进入VPC中的EC2?
答案 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);