繁体   English   中英

AWS Neptune:尽管我可以从我的 EC2 实例连接到数据库,但笔记本电脑未连接

[英]AWS Neptune: Notebook Does Not Connect Though I Can Connect to the DB from my EC2 Instance

问题

我已经创建了一个 AWS Neptune 数据库集群,但它没有从 Jyupiter Notebook (SageMaker) 连接。 status检查没有响应,并最终在一分钟或更长时间后显示超时消息。 看起来像是挂着的。

  • 我创建了一个具有新名称和新 IAM 角色名称的笔记本。

  • 我选择Direct access through Amazon SageMaker这是默认设置。

这样做之后,它根本就没有连接到我的数据库。 尽管如此,我可以从在指定 VPC 上运行的 EC2 实例与 gdotv.com Gremlin IDE 和 Gremlin 控制台连接良好。

可能的修复

此答案适用于您已经可以从 EC2 实例但不能从 SageMaker 端连接到 Neptune 的情况。

导致 Neptune 连接问题的原因有很多,但大多数都与安全组相关,尤其是在各种情况下未启用inbound port 8182

特定于 SageMaker 笔记本,它可能正在请求来自您尚未允许 8182 的 su.net 的连接。这就是我的情况。

要检查这种情况:

  • Go 到 SageMaker 控制台,Notebook -> Notebook Instances 和 select 你的实例。

  • 向下滚动该页面,直到找到网卡和 select su.net。 单击 su.net 并记下 IPv4 CIDR(您也可以使用 IPv6)块信息。

  • 在您的 Neptune 控制台上,select 集群的写入器节点。 您可以在此处找到实例正在使用的security group 单击Connectivity and Security卡右上角的安全组链接。

  • 单击列表中的Security Group ID ,然后您应该会看到Inbound Rules表。 单击该面板上的Edit inbound rules按钮。

  • 添加规则

  • 并为端口 8182 添加新的自定义 TCP 规则并添加 su.net 块。

  • 保存配置 - 保存按钮经常被遗漏,但它会出现在面板底部。

现在重新启动笔记本电脑并测试状态。

注意:如果所有其他方法都失败,请在短时间内添加 0.0.0.0/32(整个世界)并查看它是否连接。 如果确实连接,您就知道这是您的 SG。 如果没有,这不是答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM