问题描述
目前,我正在开发可收集数据并对其进行处理的应用程序。所有数据收集均由AWS Lambda处理。首先lambda从API获取数据,然后处理数据并将其发送到SQS。一切正常,但不幸的是NAT成本比预期的高。 Lambda每月下载大约10TB(我打算增加该数量),因此我每月仅为NAT流量收取500美元的费用。其他服务不使用NAT。是否有任何NAT替代方法或降低成本的方法?我想到的是在专用子网中用ElasticCache替换SQS,但这仅减少了3 TB的流量。
解决方法
如果AWS Lambda函数连接到VPC ,则它可以与VPC中的资源进行通信。例如,可能需要连接到VPC中的Amazon RDS数据库。
要访问Internet,需要将Lambda功能连接到专用子网,然后通过NAT网关或NAT实例与Internet通信。 (NAT实例比NAT网关便宜,但可靠性不高。)
但是,如果Lambda函数不需要访问VPC内部的资源,请 not 将VPC与Lambda函数相关联。这将提供直接访问互联网。