【问题标题】:Can't access to RDS from Amazon Lambda, same VPC and correct role permissions无法从 Amazon Lambda、相同的 VPC 和正确的角色权限访问 RDS
【发布时间】:2017-09-01 00:44:05
【问题描述】:

我无法在生产环境中从 Amazon Lambda 成功连接到 RDS。 对于 Amazon Lambda,我使用的是无服务器框架,离线执行 sls 我可以从 localhost 连接到 RDS,但在生产中 Amazon Lambda 不能。

两者都在同一个 VPC 中,在同一个安全组中,具有所有流量入站访问权限,以及指向 Vpc 的 CIDR 的规则。

我附加了以下权限:AmazonRDSFullAccess、AWSLambdaFullAccess、AmazonVPCFullAccess、AWSLambdaExecute 和 AWSLambdaVPCAccessExecutionRole。

谢谢你的帮助。

【问题讨论】:

  • 我按照所有指示进行操作,但无法使连接正常工作,我想这是另一个错误。
  • 我附加了以下权限:AmazonRDSFullAccess、AWSLambdaFullAccess、AmazonVPCFullAccess、AWSLambdaExecute 和 AWSLambdaVPCAccessExecutionRole,但仍然无法正常工作。
  • 这是您的许可。尝试将 rds 和 Lambda 放在一些 vpc/安全组和子集中。如果您的 rds 是公开的,那么您的 lambda 子网应该可以通过互联网访问它。

标签: amazon rds serverless-framework


【解决方案1】:

我遇到了这个问题,以下是我为解决而采取的步骤摘要:

  1. 在 lambda 网络部分选择 VPC 和所有子网。将安全组设置为创建 RDS 时使用/设置的安全组。
  2. 编辑所述安全组入站策略并使用 RDS 端口/访问设置设置策略并将源设置为等于其自己的组 ID。如果它不接受来自它自己组的连接,那么它们在同一个组中是不够的。
  3. 确保 lambda 函数执行角色附加了 AWSLambdaVPCAccessExecutionRole 和 AWSLambdaBasicExecutionRole 策略。

祝你好运。

【讨论】:

  • 经过数小时的搜索,这看起来正是我们所需要的。但是它仍然不起作用。经过一番挠头后,我去使用 RDS 中的查询编辑器,但我的管理员凭据不起作用!所以我的猜测是问题出在 RDS 设置上,而不是 Lambda。
  • 显然我的主帐户(用户名:admin)的密码不正确...修复允许我连接到查询编辑器。验证查询编辑器工作后,Lambda 代码工作正常。
【解决方案2】:

尝试在您的数据库上将“IAM DB Authentication Enabled”更改为 YES 并立即应用更改,这样您就不必等待维护。

这解决了我的问题。

【讨论】:

    猜你喜欢
    • 2020-03-22
    • 2019-07-31
    • 1970-01-01
    • 2022-12-05
    • 2016-05-27
    • 2019-09-18
    • 2021-04-02
    • 2018-04-19
    • 2020-10-08
    相关资源
    最近更新 更多