用于 lambda 的亚马逊负载均衡器
Posted
技术标签:
【中文标题】用于 lambda 的亚马逊负载均衡器【英文标题】:amazon load balancer for lambda 【发布时间】:2019-08-16 07:52:37 【问题描述】:我是 aws 的新手。
通常,我使用像底部这样的负载平衡和 2 个服务器。
对于L4负载均衡,服务器多于2台
但我认为 ALB - Lambda 不是
我对 ALB - Lambda 关系很好奇
是 1:1 吗?不像L4开关?还是 VPC 代表服务器?
我想知道将 ALB 用于 lambda 的好处。
【问题讨论】:
我想知道What are the use cases for Application Load Balancers and Lambda? 是否解决了您的问题。这不是因为 Lambda 函数需要负载均衡器。这是因为将 Lambda 函数与 ALB 集成提供了一种将 Lambda 函数公开到 Internet 的便捷方式——可以与现有的基于服务器的应用程序结合使用(您可以通过 ALB 将特定路径路由到 Lambda 函数)或作为更简单(更易于配置)的 API Gateway 替代方案(但功能更少)。 【参考方案1】:由于 Lambda 是一个简短的运行代码 (FAAS) - 函数即服务。该服务在几毫秒内快速执行并消失。您需要改变考虑使用 Lambda 的方式,因为这无法与 VPS(虚拟私有服务器)或 EC2 实例进行比较。您必须采用不同的方法,称为无服务器计算。
相反,您可以让 API Gateway 位于 Lambda 函数之上,并且您可以调用这些 API 来执行您的代码。每个 lambda 函数只能执行 1 个任务,仅此而已。
事实上,lambda 函数运行的时间越长,它在计费方面的成本就越高。因此,短期运行功能是控制账单的方法。
如果您想使用 lambda - 试试这个无服务器堆栈教程 - 参考:https://serverless-stack.com/。
Lambda 确实存在中断问题 - 处理此问题的方法是使用 Route53 服务作为负载均衡器。
另一个很好的参考: 参考:https://serverless.com/
【讨论】:
我认为这个答案可能有点误导。对于要从用户连接的 aws lambda 函数,它总是需要一些东西来与公共 Internet 用户交互。拥有 ALB 是其中之一,而 API Gateway 是另一种选择。所以它们都扮演着相似的角色,作为 lambda 的反向代理。只是他们每个人都有其他不同的功能。对于被称为“无服务器”的 lambda,它实际上仍然需要一台服务器来运行您的代码,只是您不是管理它的人,aws 会为您完成。它需要一个 IP 地址和后端的 ec2 才能运行。 您说您不需要 Lambda 的 LB,但您建议使用 API 网关?马铃薯,略有不同的马铃薯。 docs.aws.amazon.com/lambda/latest/dg/services-alb.html【参考方案2】:您也可以通过 api gateway 和 alb 调用 lambda。区别在于成本。 API 网关的成本更高
【讨论】:
以上是关于用于 lambda 的亚马逊负载均衡器的主要内容,如果未能解决你的问题,请参考以下文章
为啥从亚马逊弹性负载均衡器后面发送重定向时收到 502 错误网关?
如何使 HTTP 调用到达亚马逊 AWS 负载均衡器后面的所有实例?