AWS:从 lambda 连接到 Neptune

AWS: connect to Neptune from lambda

我正在尝试从我的 lambda 连接到 Neptune。 Lambda 配置包含与我的海王星实例相同的 VPC、子网和安全组。

lambda 的执行角色也有此策略:AmazonRDSFullAccess、AmazonRDSDirectoryServiceAccess、NeptuneFullAccess 和 AWSLambdaENIManagementAccess。

无论如何我有这个错误:无法连接到远程服务器---> System.Net.Http.HttpRequestException:没有这样的设备或地址--->

我是不是漏掉了什么?

谢谢

这看起来确实像是连接问题。管理此类连接的推荐方法是 2 有 2 个安全组:

  1. client - 您附加到所有客户端的安全组,如 Lambdas、EC2 实例等。默认出站规则允许您出站访问 VPC 中的每个资源。如果您愿意,可以收紧它。
  2. db - 您应该附加到 Neptune 集群的安全组。在此安全组中,编辑 hte 入站规则,并明确添加允许入站连接到您的数据库端口(8182 是默认端口)的 TCP 规则。

您可以在创建期间或通过修改现有集群将 db 安全组附加到您的集群。

P.S。作为旁注,您的 Lambda 并不真正需要 AmazonRDSFullAccessNeptuneFullAccess 角色,除非您计划从 lambda 进行管理 API 调用,例如发出 CreateDBCluster 请求例子。这些 IAM 角色与客户端能够与 运行 DB cluster/instance.

对话没有任何关系

希望对您有所帮助。