首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不使用NAT网关或NAT实例的情况下,有没有一种奇怪的方法可以让来自AWS lambda的传出请求在VPC中运行?

在不使用NAT网关或NAT实例的情况下,有没有一种奇怪的方法可以让来自AWS lambda的传出请求在VPC中运行?
EN

Stack Overflow用户
提问于 2020-07-22 21:05:51
回答 2查看 89关注 0票数 0

静态弹性公网EIP可以通过NAT网关获取,也可以通过NAT实例获取,但在此特定需求中,不允许使用这两种方式。有没有其他方法可以做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2020-07-23 00:07:27

不幸的是,AFAIK是不可能的。如果您在私有网络中运行,则需要NAT (网关或实例)将流量路由到私有网络外部,因为无法将弹性公网in直接附加到lambda函数。我假设他们不允许这样做,因为弹性公网I一次只能连接到一个网络接口。由于可以同时运行同一Lambda函数的多个实例,因此它们不可能共享单个EIP。

https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/

如果您不是在私有网络中运行,那么您将获得一个外部IP,但该IP将在每次创建新的lambda上下文(实例)时更改。你可以通过保持函数温暖来减少这种情况的发生,比如每隔5分钟左右调用一次,这样函数上下文就不会经常被移除。但是,这并不能完全阻止上下文被重新创建(或从同时运行的多个实例),因此这不会解决您的问题。

https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html

https://www.serverless.com/blog/keep-your-lambdas-warm

编辑:一些较大的公司不允许NAT,因为它们通过自己的防火墙路由所有流量,以便能够监控流量。如果是这种情况,那么您可能不必执行任何操作,这取决于路由是如何设置的。如果VPC/子网通过公司防火墙路由外部流量,那么它可能会正常工作,或者您可能需要与公司的网络组进行交谈。确保您的lambda函数在将0.0.0.0/0流量路由到网关的子网中运行。

票数 1
EN

Stack Overflow用户

发布于 2020-07-27 07:20:34

在EC2上实现HAProxy,lambda调用HAProxy实例调用外部系统,解决了这一问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63034926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档