AWS Lambda是否有必要使用收费的NAT网关来访问外部资源?

时间:2017-05-23 05:55:58

标签: amazon-web-services aws-lambda mqtt nat

我正在尝试创建一个由Amazon Echo Skill调用的AWS Lambda函数。 Lambda函数应该连接到不在AWS中的MQTT代理,我注意到单独的Lambda函数无法访问外部资源。我尝试了几种配置,它可以在创建NAT网关后连接到代理。但是,NAT网关是一项收费服务,我想知道是否有必要。

这是我的问题。在我的情况下,是否有必要让充电的NAT网关为Lambda函数访问外部资源?如果没有,我该怎么办?我欢迎任何让Echo Skill向我的MQTT代理发布MQTT消息的想法,即使没有AWS Lambda。

感谢。

2 个答案:

答案 0 :(得分:4)

只有在VPC中运行Lambda函数时才需要NAT网关。默认情况下,Lambda函数不会在VPC中运行,并且可以访问Internet和外部资源。

检查您正在运行的lambda函数是否在VPC中运行。

答案 1 :(得分:0)

如果您正在VPC上运行Lambda函数并希望访问外部世界,那么是的,NAT网关是必不可少的。但是,您实际上并不需要使用亚马逊的付费NAT网关服务。

您可以使用公共NAT网关AMI(guide here)抛出EC2实例。我有一个简单的Lambda函数,需要同时访问Internet和VPC中的数据库。为专用的NAT网关付费似乎有点过头,所以我使用了这张图片,即使在t2.nano实例上,它也很吸引人!显然便宜得多。