我正在尝试从办公室的本地计算机连接到AWS Instance中的Neptune DB,就像从办公室连接RDS。是否可以从本地计算机连接Neptune db? Neptune db是公开可用的吗?开发人员可以通过任何方式从办公室连接neptune db。

最佳答案

Neptune不支持公共端点(可从VPC外部访问的端点)。但是,很少有体系结构选项可用来访问VPC外部的Neptune实例。它们全部具有相同的主题:设置位于VPC内的代理(EC2机器,ALB或类似的东西,或它们的组合),并使该代理可从VPC外部访问。

似乎您只是想出于开发目的而与您的实例对话。最简单的选择是启动ALB,并创建一个指向您实例IP的目标组。

简要步骤(有意不详细介绍,请参阅AWS Docs了解详细说明):


dig +short <your cluster endpoint>
这将为您提供当前主机的IP地址。
创建一个ALB(有关如何执行此操作,请参阅AWS Docs)。
使您的ALB的目标组指向为步骤#1获得的IP地址。在此步骤结束时,您应该使ALB监听PORT-A,它将请求转发给IP:PORT,其中IP是您的数据库IP(来自步骤1),而PORT是您的数据库端口(默认)是8182)。
创建一个安全组,该安全组允许来自任何地方的入站流量。即0.0.0.0PORT-A的入站TCP规则。
将安全组附加到您的ALB


现在,从开发人员框中,您可以连接到PORT-A处的ALB端点,该端点将在内部将请求转发到您的Neptune实例。

请查看ALB文档,以获取有关如何创建它以及围绕它的概念的详细信息。如果您需要我详细说明任何步骤,请随时提问。

注意:对于生产设置,这不是推荐的解决方案。 Neptune实例使用的IP必然会随着故障转移和主机更换而发生变化。仅将此解决方案用于测试目的。如果您需要类似的生产设置,请随时提出问题,我们可以讨论选项。

10-07 20:22