是否可以通过AWS lambda连接到本地计算机中托管的数据库

时间:2018-04-17 12:04:03

标签: aws-lambda

我在AWS中启动了一个RDS实例,s3和EC2,并使用lambda正确触发了它。现在我希望将RDS和EC2的更改从AWS更改为本地计算机。我的lambda是从s3触发的。

如何通过AWS中的lambda连接本地数据库?

2 个答案:

答案 0 :(得分:1)

您的要求似乎是:

  • 您希望运行AWS Lambda函数
  • 在该功能中,您希望连接到在您自己的计算机上运行的数据库(在AWS之外)

首先,我不推荐这种策略。要保持良好的性能,应始终使应用程序尽可能靠近数据库。这意味着在同一网络上,在同一位置,通过远程网络连接或Internet。

但是,如果您希望这样做,那么您需要执行以下操作:

  • 您的数据库需要在互联网上访问,以便您可以远程连接到它。要对此进行测试,请尝试从Amazon EC2实例访问它。
  • AWS Lambda函数应配置为没有VPC连接(这意味着它已连接到Internet),或者,如果您已将其配置为VPC连接,则需要将其设置为私有具有NAT网关的子网,可以访问Internet。
  • (可选)为了增强安全性,您可以锁定数据库以仅接受来自已知IP地址的连接。为此,您需要使用VPC + NAT网关,以便所有流量来自分配给NAT网关的弹性IP地址。

答案 1 :(得分:0)

我同意John Rotenstein的说法,将本地计算机连接到在AWS上运行的Lambda可能是一个坏主意。

如果您打算在本地开发或测试,我建议使用无服务器框架和无服务器离线插件。它允许您在本地模拟Lambda,并且可以通过环境变量传递数据库配置值。

https://medium.com/a-man-with-no-server/running-aws-lambda-and-api-gateway-locally-serverless-offline-3c64b3e54772