您如何在Neptune上进行本地测试?

时间:2019-05-31 15:16:54

标签: javascript testing local amazon-neptune

我正在尝试使用gremlin测试我们的neptune数据库。我想出了一种在本地测试的方法。我有什么选择?

当前只是实时测试。这显然不是很有效。

1 个答案:

答案 0 :(得分:0)

如果这仅是出于测试目的,那么您可以做的是解析群集编写器端点的DNS以获取其IP。

// From an EC2 instance that has connectivity to your DB:
dig +short cluster-writer-endpoint-here

然后,创建一个具有目标组的ALB,该目标组将请求转发到此IP。将安全组附加到您的ALB,以便可以通过Internet或专门通过本地计算机进行访问。

现在在您的测试中,指向ALB端点而不是DNS端点。

为什么这样不好?

实例的IP地址不是静态的。如果发生故障转移或主机更换,则端点的IP将更改。不过,您运行一些测试的用例应该没问题。

其他陷阱?

如果在群集上启用了IAM Auth,则此技术将不起作用。另外,如果您正在使用SSL,则客户端将拒绝该请求,因为Neptune返回的证书不会“信任”您的ALB端点。您可能需要显式跳过dns验证,或者在请求中显式设置Host标头以指向群集端点本身。像这样:

// To skip dns validation in curl
curl -k https://alb-endpoint:port/ 

// To set host head explicitly
curl -H 'Host: dns-endpoint' https://alb-endpoint:port/