我尝试通过 Fiddler 使用 Neptune END Point 发送 HTTP Post 请求来连接到 Amazon Neptune 实例。
但最终出现超时错误。
可以使用 fiddler/Postman 通过 HTTP 请求连接 Neptune 实例吗?
如果您在连接到数据库时看到超时,第一步是检查是否有到端点的网络连接。
Try: telnet endpoint port
如果您有连接,您会看到类似这样的内容:
Trying 172.217.5.110...
Connected to endpoint (172.217.5.110).
Escape character is '^]'
如果这确实有效,那么任何 HTTP 客户端都应该能够连接到您的数据库。 (卷曲、邮递员等)
如果 telnet 不起作用,则几乎可以肯定您没有正确配置 EC2 安全组。您需要做的要点是:
创建一个安全组(例如“ec2”)并将其附加到您的 EC2 客户端实例。默认情况下,此安全组应允许到所有 IP 的出站连接。如果不是这种情况,请添加它。
创建一个安全组(例如“db”)。在入站规则中,添加一条允许入站 TCP 连接到数据库端口的规则,并将源设置为 #1 中创建的安全组。
现在修改您的 Neptune 集群,并将“db”附加到它。
安全组更改传播得非常快,因此您应该能够使用 telnet 进行测试。
您可能会找到其他答案,表明您需要数据库和 EC2 实例位于同一安全组中。这并不完全正确,这只是上述步骤的一个特例,您可以为数据库和客户端实例使用单个安全组,而不是创建 2 个安全组。从安全和设计的角度来看,最好为数据库和客户端实例设置单独的安全组。
正确配置所有网络设置后,确认 telnet 可以正常工作。之后,您可以使用您选择的客户端发出 HTTP 请求。例如:
> curl http://my-endpoint:port/status
healthy
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)