我正试图从我的lambda连接到海王星。 Lambda配置包含与我的海王星实例相同的VPC,子网和安全组。
lambda的执行角色还具有以下策略:AmazonRDSFullAccess,AmazonRDSDirectoryServiceAccess,NeptuneFullAccess和 AWSLambdaENIManagementAccess。
无论如何我都会遇到此错误:无法连接到远程服务器---> System.Net.Http.HttpRequestException:没有这样的设备或地址--->
我错过了什么吗?
谢谢
答案 0 :(得分:1)
这肯定看起来像是连接问题。推荐的管理此类连接的方法是2具有2个安全组:
client
-您附加到所有客户端(例如Lambda,EC2实例等)的安全组。默认出站规则使您可以出站访问VPC中的每个资源。如果愿意,可以收紧它。db
-您应该附加到Neptune群集的安全组。在此安全组中,编辑入站规则,并显式添加一个TCP规则,该规则允许入站连接到数据库端口(默认端口为8182)。 您可以在创建过程中或通过修改现有集群将db
安全组附加到集群。
P.S。附带说明一下,除非您计划从Lambda进行管理API调用,例如发出AmazonRDSFullAccess
请求,否则您的Lambda并不需要NeptuneFullAccess
或CreateDBCluster
角色。这些IAM角色实际上与客户端能够与正在运行的数据库集群/实例进行通信没有任何关系。
希望这会有所帮助。