在AWS上部署自定义的第四层负载均衡器

42次阅读
没有评论

问题描述

想要在AWS上部署一个负载均衡器,满足以下要求:
– 启动自己的EC2实例进行自动扩展。
– 在负载均衡器上部署第三方软件。
– 具备可读的共享内存(可以是S3)。

用户在Kubernetes文档中找到了一个关于创建外部负载均衡器的教程,但对此并不确定。

编辑:
– 部署第三方软件在负载均衡器上的目的是什么?用户想要使用这些软件来启动具有参数的新实例,并为自动扩展创建的实例设置路由规则。
– “可读的共享内存”是如何使用的?用于负载均衡器和实例之间的共享内存。可以使用套接字来实现。

负载均衡器为什么是第四层而不是其他层?需要TCP参数,第七层的信息也可能有用。

TLS是在哪里处理的?用户还没有考虑这个问题。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1:使用F5的Application Delivery Controller

历史上,F5的Application Delivery Controller一直是企业级的行业解决方案。使用这个解决方案,你可以:
– 使用iRules LX与其他软件进行通信,根据需要进行自动扩展。
– 在第四层或第七层进行负载均衡,以实现更好的吞吐量和加速。
– 在虚拟服务器之间共享内存(使用iRules LX而不仅仅是iRules可能有更好的方法)。
– 在负载均衡器上进行TLS的桥接、卸载/终止。
– 如果需要,获得供应商支持和咨询。
– 在Amazon的云中(或其他任何地方)执行所有这些操作(你也可以在内部运行)。
– 扩展到比Kubernetes、nginx或任何其他不使用微内核的负载均衡器解决方案能处理的更多连接。

方案2:使用其他负载均衡器

如果你不想使用F5的解决方案,还有其他负载均衡器可供选择。例如,你可以考虑使用Kubernetes、nginx或其他特定于Kubernetes的负载均衡器。这些负载均衡器可以满足你的需求,并提供相应的功能。

请注意,使用负载均衡器时,你需要确保它们与你的自动扩展组(Auto Scaling Group)和其他组件正确链接,并按照你的需求进行配置。

以上是两种常见的解决方案,你可以根据自己的需求选择适合的负载均衡器。

正文完