无法通过AWS Lambda到RDS MySQL连接到任何特定的MySQL主机

问题描述 投票:1回答:1

我具有用于API的AWS Lambda函数。我在API内有一个测试函数,该函数返回“成功”字符串,因此我知道可以从我的机器(邮递员)中访问该API。

Lambda API在我的VPC中。我有公共和私有子网。该API位于公共子网中。我也有一个RDS数据库,该数据库位于专用子网中。我可以通过堡垒主机连接到数据库,因此我知道数据库已连接并且正在运行。

[当我尝试连接到数据库的API调用时,我可以在CloudWatch中看到一条错误消息:

    [Error] Amazon.Lambda.AspNetCoreServer.APIGatewayProxyFunction: Unknown error responding to request: MySqlException:
MySql.Data.MySqlClient.MySqlException (0x80004005): Unable to connect to any of the specified MySQL hosts. ---> System.InvalidOperationException: Sequence contains more than one matching element

[该错误消息有很多引用,它们讨论了Linq SingleOrDefault()方法,但我对该方法没有任何引用。

我认为该错误与安全组有关。我有一个RDS安全组,该RDS安全组在来自内部VPC ip地址的3306端口上具有入站规则。

我的Lambda函数的安全组应该可以,因为我可以成功命中测试路径。

任何人还有其他想法或地方吗?

amazon-web-services aws-lambda amazon-rds amazon-vpc aws-security-group
1个回答
0
投票

您是否可以检查是否为RDS安全组启用了此设置?

Inbound RDS Security Group

Outbound RDS Security Group

© www.soinside.com 2019 - 2024. All rights reserved.