目前我正在开发一款收集数据并进行处理的应用程序。所有数据收集都由AWS Lambda处理。首先,Lambda从API中获取数据,然后对数据进行处理并发送到SQS。一切都很好,但不幸的是NAT成本比预期的要高。Lambda每月的下载量约为10TB(我计划增加这个数字(,因此仅NAT流量就每月向我收取约500美元的费用。其他服务不使用NAT。有什么NAT替代方案或降低成本的方法吗?我想的是在私有子网中用ElasticCache取代SQS,但这"只"减少了3 TB的流量。
如果AWS Lambda函数连接到VPC,它可以与VPC中的资源进行通信。例如,它可能需要连接到VPC中的Amazon RDS数据库。
要访问互联网,Lambda功能需要连接到专用子网,然后通过NAT网关或NAT实例与互联网通信。(NAT实例比NAT网关便宜,但可靠性较差。(
但是,如果Lambda函数不需要访问VPC内部的资源,则不要将VPC与Lambda函数关联起来。这将提供对互联网的直接访问。