我正在尝试使用gremlin测试我们的neptune数据库。我想出了一种在本地测试的方法。我有什么选择?
当前只是实时测试。这显然不是很有效。
答案 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/