将Lambda连接到RDS和S3

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

我有一个Node.js任务,将数据库中的值转换为MP3文件,然后将它们上传到s3存储。在我的笔记本电脑上执行代码时,代码可以正常工作。我决定将它迁移到Lambda,这样我就可以每隔几个小时自动运行它。我做了一些小修改,再次,它工作得很好。但是这里有一个问题:它仅在我的RDS实例设置为允许来自任何IP的连接时才起作用。显然,这是一种不可接受的安全风险。

我将我的数据库和Lambda代码放在同一个VPC和安全组中,但即便如此,我的代码也无法连接到S3。然后,我为S3添加了一个端点,看起来每个控制台日志都有效。但是,S3存储中的文件为空(0字节)。

我需要改变什么?我听说我可能需要配置我的VPC才能访问互联网,但我不确定这是否是我需要做的。老实说,这些教程对我来说似乎很困惑。

有人能指出我正确的方向吗?

node.js amazon-web-services vpc
1个回答
1
投票

这是一个已知的问题(用户已知,我已经看过AWS没有真正认可过)lambda vps文档说:

http://docs.aws.amazon.com/lambda/latest/dg/vpc.html

“当Lambda函数配置为在VPC内运行时,会产生额外的ENI启动损失。这意味着在尝试连接网络资源时,地址解析可能会延迟。”

“如果您的Lambda函数访问VPC,您必须确保您的VPC具有足够的ENI容量,以支持您的Lambda函数的规模要求。”

资料来源:https://forums.aws.amazon.com/thread.jspa?messageID=767285

这意味着它有严重的缺点,使其无法工作:

  1. 速度惩罚
  2. 必须手动设置缩放
  3. 必须支付NAT网关0.059每小时(https://aws.amazon.com/vpc/pricing/
© www.soinside.com 2019 - 2024. All rights reserved.