如何在 lambda 函数运行时设置 starts/stops NAT 网关的作业

how to set up a job that starts/stops the NAT gateway when lambda function is runing

目前我正在做一个项目,在aws rds中创建了一个数据库实例。我们买了一些传感器来监测一些排污口的水质,传感器会将数据上传到供应商的服务器。我们可以从供应商的网站请求这些增量数据 API.

我想实现的是设置一个脚本运行自动从供应商的网站请求增量数据并将其导入到我的aws数据库中。

因此创建了一个 lambda 函数并设置了一个云手表,使其每天自动 运行 一次。 lambda 函数从供应商的服务器请求增量数据并将其加载到我们自己的 aws 数据库实例中。目前系统运行良好

但是我在检查我的 AWS 账单时发现了一个问题。

https://i.stack.imgur.com/eojBo.png

如您所见,NAT 网关需要付费。为了让 lambda 函数可以访问 public 互联网,我按照本文中的教程创建了它。但是我没想到费用取决于它的时间 运行s.

那么有没有一种方法可以设置 starts/stops NAT 网关只在我需要的时候使用?由于lambda函数每天运行一次,只需3、4秒左右,如果我不需要一直维护NAT网关,成本会低很多。

无法阻止 NAT 网关。你只能删除它。如果你这样做,下次你想访问互联网时,你必须提供新的,修改所有路由表以匹配新的 NAT。显然这个过程可以自动化,但它需要一个自定义解决方案

但是,如果互联网的使用非常有限,您可以使用 NAT instance 而不是 NAT 网关。您可以设置微型 NAT 实例,并且由于它的实例,您可以在不使用时停止它