4

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

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

4

2 回答 2

4

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

我遇到了同样的问题。在花了这么多时间挖掘视频和文档之后,我终于想明白了。我不明白为什么亚马逊应该将其限制在 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 集群维护有关它们存储的项目的属性名称的元数据,并且该元数据会无限期地维护(即使在项目已过期或从缓存中逐出之后)。随着时间的推移,使用无限数量的属性名称的应用程序可能会导致 DAX 集群中的内存耗尽。此限制仅适用于顶级属性名称,不适用于嵌套属性名称。有问题的顶级属性名称的示例包括时间戳、UUID 和会话 ID。

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

于 2018-03-09T10:22:03.443 回答
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

于 2020-06-01T22:35:10.080 回答