我们在EC2集群前使用AWS API网关和负载均衡器。 Gateway需要将负载均衡器公开托管,这就是为什么我们将负载均衡器放在VPC的公有子网中以及所有EC2实例都在私有VPC中。
我们面临的问题是,由于我们的负载均衡器在公共VPC中,我们如何使我们的请求无效,而不是来自我们的API网关。我们只想将负载均衡器的请求传递给EC2实例,当且仅当它来自我们的API网关时。
当我探索可能的解决方案时,有人建议使用来自网关的公共客户端证书来验证您的请求。我能够从网关获得此公共证书,但没有找到任何方法在负载均衡器中配置它。
答案 0 :(得分:0)
您无法在Load Balancer级别验证客户端证书。您需要在容器级别验证它。
您可以遵循另一种方法,即将Load Balancer保持为私有并使用Lambda函数(放置在VPC中)代理Load Balancer,您可以在其中验证客户端证书。
答案 1 :(得分:0)
在进一步分析中,我遇到了以下关于AWS API网关方法的问题。
答案 2 :(得分:0)
如今,正确的解决方案是将VPC链接与AWS的Network Load Balancer结合使用。您在VPC资源(例如EC2实例)之前设置了网络负载平衡器,并创建了API网关VPC链接。在API网关集成中,选择VPC链接,然后您就可以访问网络负载平衡器,并且可以扩展您的私有EC2实例。