我正在为我目前使用 DynamoDB 的应用程序试用 DAX 客户端,发现它仅在 VPC 中受支持。DAX 端点位于 172.31.xy 范围内。
这是否意味着无法从我的本地开发机器测试 DAX 功能,或者是否可以将 DAX 配置为可从 Internet 以某种方式进行测试?还是我坚持使用 SSH 连接到 VPC 中的 EC2?
我正在为我目前使用 DynamoDB 的应用程序试用 DAX 客户端,发现它仅在 VPC 中受支持。DAX 端点位于 172.31.xy 范围内。
这是否意味着无法从我的本地开发机器测试 DAX 功能,或者是否可以将 DAX 配置为可从 Internet 以某种方式进行测试?还是我坚持使用 SSH 连接到 VPC 中的 EC2?
答:似乎答案是否定的,我们甚至无法通过本地开发机器进行测试。
我遇到了同样的问题。在花了这么多时间挖掘视频和文档之后,我终于想明白了。我不明白为什么亚马逊应该将其限制在 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。
请注意,此限制仅适用于属性名称,而不适用于它们的值。像这样的项目不是问题:
如果您创建 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);