[英]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.