“无法在 lambda 中连接到 MySQL 服务器

Pri*_*mit 1 python amazon-s3 aws-lambda

import pymysql
from botocore.vendored import requests
def lambda_handler(event,context):
      conn=pymysql.connect (host ="rootrestdatabase.cd6kbmibgfod.ap-south-1.rds.amazonaws.com", user="****" , passwd="*****",db="restawsdatabase")
Run Code Online (Sandbox Code Playgroud)

我想在 lambda 中连接 rds。但我犯了错误

"errorMessage": "(2003, \"Can't connect to MySQL server on 'rootrestdatabase.cd6kbmibgfod.ap-south-1.rds.amazonaws.com' (timed out)\")",
  "errorType": "OperationalError",
  "stackTrace": [
    [
Run Code Online (Sandbox Code Playgroud)

我已经在本地机器上尝试过它工作正常但是当我在lamba中部署代码时它没有工作。lambda 函数和 rds 也都在同一区域。我该怎么办?

Vla*_*nko 10

要与 RDS 实例通信,lambda 函数必须在同一个 VPC 中——网络超时错误是一个很好的指标。但是,如果您的 RDS 实例可公开访问,请确保您附加到该函数的安全组允许您需要的流量。