Amazon web services 如何基于请求URI实现负载平衡?

Amazon web services 如何基于请求URI实现负载平衡?,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我使用的是弹性负载平衡器。现在我想基于URI检查进行负载平衡 现在我有了一组实例,我想重定向到那个特定的实例组 例如 如果我向这样的一个实例发送post请求 使用自定义标头数据,因此现在应该使用负载平衡器将此请求重定向到group1服务器 如果我像这样向同一个实例发送post请求 使用自定义标头数据,因此现在应该使用负载平衡器将此请求重定向到group2服务器 简而言之,我想做条件负载平衡 那我该怎么做呢 有两种方法可以做到这一点 由于Amazon不支持条件负载平衡,您可以创建两个负载平衡器,一

我使用的是弹性负载平衡器。现在我想基于URI检查进行负载平衡

现在我有了一组实例,我想重定向到那个特定的实例组

例如

如果我向这样的一个实例发送post请求 使用自定义标头数据,因此现在应该使用负载平衡器将此请求重定向到group1服务器

如果我像这样向同一个实例发送post请求 使用自定义标头数据,因此现在应该使用负载平衡器将此请求重定向到group2服务器

简而言之,我想做条件负载平衡


那我该怎么做呢

有两种方法可以做到这一点

  • 由于Amazon不支持条件负载平衡,您可以创建两个负载平衡器,一个具有group1实例,另一个具有group2实例。现在您必须使用Route53对交通进行布线。定义Cname记录或别名为load balancer的记录作为记录名。一个问题是,我不确定uri&是否会工作,但肯定会工作

  • 另一个选项是处理来自服务器(ec2实例)的请求。如果group1请求到达group2服务器,则必须重定向请求,反之亦然。在这种情况下,您将不需要2个负载平衡器


  • 实际上,我会首先质疑架构。如果您有一些特定的逻辑,只需要在一个特定的服务器或一组服务器上运行,那么您可能应该将其放在自己的域或子域中,并在其前面有自己的负载平衡器。实际上,您首先就违背了使用负载平衡器的目的,因为您将在负载平衡器上人为地不平衡负载,除非这两个URI之间的请求数几乎相等。因为您可以将CNAMES指向别名,所以不需要使用route53,但您必须使用dns1.example.com和dns2.example.com