从 Lambda 函数访问 RDS
Access RDS from Lambda function
我在 RDS 中有一个 Aurora 集群和一个 Lambda 函数。
- 两者都分配了相同的 VPC。
- 两者具有相同的子网 (us-east-1 a-f)
- 两者分配了相同的安全组
- Lambda 分配有 AmazonRDSFullAccess、AmazonVPCFullAccess、
AWSLambdaVPCAccessExecutionRole
当我 运行 lambda 实例时,我在尝试连接到 Aurora 时遇到连接超时。我能够在本地访问 Aurora(将访问密钥添加到 aws configure)。
关于 lambda 无法访问该实例的原因,还有什么我可以检查的想法吗?谢谢
更新:每个子网都有以下配置:
我遇到了类似的问题,直到我意识到我使用的 VPC 没有为 VPC 内的主机启用 dns 解析。
需要为 VPC 设置 enableDnsSupport 选项。
见http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html
Both have the same security group assigned
认为同一安全组的成员只要是同一组的成员就可以相互通信,这是一种常见的误解。不是这种情况。属于同一个组只意味着他们遵循同一套规则。
安全组的成员只能访问该组的其他成员,前提是该组允许访问其自身。
Instances associated with a security group can't talk to each other unless you add rules allowing it (exception: the default security group has these rules by default).
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
为 "MySQL/Aurora" 流量向该组添加规则,但不输入 IP 地址,而是输入安全组的 sg-xxxxxxxx
标识符。
我在 RDS 中有一个 Aurora 集群和一个 Lambda 函数。
- 两者都分配了相同的 VPC。
- 两者具有相同的子网 (us-east-1 a-f)
- 两者分配了相同的安全组
- Lambda 分配有 AmazonRDSFullAccess、AmazonVPCFullAccess、 AWSLambdaVPCAccessExecutionRole
当我 运行 lambda 实例时,我在尝试连接到 Aurora 时遇到连接超时。我能够在本地访问 Aurora(将访问密钥添加到 aws configure)。
关于 lambda 无法访问该实例的原因,还有什么我可以检查的想法吗?谢谢
更新:每个子网都有以下配置:
我遇到了类似的问题,直到我意识到我使用的 VPC 没有为 VPC 内的主机启用 dns 解析。
需要为 VPC 设置 enableDnsSupport 选项。
见http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-dns.html
Both have the same security group assigned
认为同一安全组的成员只要是同一组的成员就可以相互通信,这是一种常见的误解。不是这种情况。属于同一个组只意味着他们遵循同一套规则。
安全组的成员只能访问该组的其他成员,前提是该组允许访问其自身。
Instances associated with a security group can't talk to each other unless you add rules allowing it (exception: the default security group has these rules by default).
http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
为 "MySQL/Aurora" 流量向该组添加规则,但不输入 IP 地址,而是输入安全组的 sg-xxxxxxxx
标识符。