AWS:从Lambda连接到Neptune

时间:2018-10-03 15:09:22

标签: c# aws-lambda amazon-neptune

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

lambda的执行角色还具有以下策略:AmazonRDSFullAccess,AmazonRDSDirectoryServiceAccess,NeptuneFullAccess和 AWSLambdaENIManagementAccess。

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

我错过了什么吗?

谢谢

1 个答案:

答案 0 :(得分:1)

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

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

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

P.S。附带说明一下,除非您计划从Lambda进行管理API调用,例如发出AmazonRDSFullAccess请求,否则您的Lambda并不需要NeptuneFullAccessCreateDBCluster角色。这些IAM角色实际上与客户端能够与正在运行的数据库集群/实例进行通信没有任何关系。

希望这会有所帮助。