AWS:从 lambda 连接到 Neptune
AWS: connect to Neptune from lambda
我正在尝试从我的 lambda 连接到 Neptune。
Lambda 配置包含与我的海王星实例相同的 VPC、子网和安全组。
lambda 的执行角色也有此策略:AmazonRDSFullAccess、AmazonRDSDirectoryServiceAccess、NeptuneFullAccess 和
AWSLambdaENIManagementAccess。
无论如何我有这个错误:无法连接到远程服务器---> System.Net.Http.HttpRequestException:没有这样的设备或地址--->
我是不是漏掉了什么?
谢谢
这看起来确实像是连接问题。管理此类连接的推荐方法是 2 有 2 个安全组:
client
- 您附加到所有客户端的安全组,如 Lambdas、EC2 实例等。默认出站规则允许您出站访问 VPC 中的每个资源。如果您愿意,可以收紧它。
db
- 您应该附加到 Neptune 集群的安全组。在此安全组中,编辑 hte 入站规则,并明确添加允许入站连接到您的数据库端口(8182 是默认端口)的 TCP 规则。
您可以在创建期间或通过修改现有集群将 db
安全组附加到您的集群。
P.S。作为旁注,您的 Lambda 并不真正需要 AmazonRDSFullAccess
或 NeptuneFullAccess
角色,除非您计划从 lambda 进行管理 API 调用,例如发出 CreateDBCluster
请求例子。这些 IAM 角色与客户端能够与 运行 DB cluster/instance.
对话没有任何关系
希望对您有所帮助。
我正在尝试从我的 lambda 连接到 Neptune。 Lambda 配置包含与我的海王星实例相同的 VPC、子网和安全组。
lambda 的执行角色也有此策略:AmazonRDSFullAccess、AmazonRDSDirectoryServiceAccess、NeptuneFullAccess 和 AWSLambdaENIManagementAccess。
无论如何我有这个错误:无法连接到远程服务器---> System.Net.Http.HttpRequestException:没有这样的设备或地址--->
我是不是漏掉了什么?
谢谢
这看起来确实像是连接问题。管理此类连接的推荐方法是 2 有 2 个安全组:
client
- 您附加到所有客户端的安全组,如 Lambdas、EC2 实例等。默认出站规则允许您出站访问 VPC 中的每个资源。如果您愿意,可以收紧它。db
- 您应该附加到 Neptune 集群的安全组。在此安全组中,编辑 hte 入站规则,并明确添加允许入站连接到您的数据库端口(8182 是默认端口)的 TCP 规则。
您可以在创建期间或通过修改现有集群将 db
安全组附加到您的集群。
P.S。作为旁注,您的 Lambda 并不真正需要 AmazonRDSFullAccess
或 NeptuneFullAccess
角色,除非您计划从 lambda 进行管理 API 调用,例如发出 CreateDBCluster
请求例子。这些 IAM 角色与客户端能够与 运行 DB cluster/instance.
希望对您有所帮助。