ALB-Nginx-Fargate负载均衡器

时间:2020-04-16 23:30:00

标签: nginx amazon-ecs amazon-elb aws-fargate

我有一个位于NGINX前面的ALB。 Nginx conf有9个不同的服务器conf,每个服务器conf侦听不同的端口。我正在使用Fargate通过服务发现来部署群集。

现在要通过ALB -> Nginx -> Django-uwsgi APP路由流量,我向ALB添加了9个不同的目标组和9个侦听器端口,每个侦听器端口都与目标组之一相关联。

请注意,我的ALB不会直接与App通信,而是通过Nginx路由。因此,在配置Fargate APP 服务时,我没有声明任何负载均衡器。仅在配置 NGINX Fargate服务时声明负载均衡器。

现在,在为Nginx fargate服务配置负载平衡器时,我最多只能添加5个目标组。这意味着我的nginx conf只能服务5个服务器conf,目标服务器组是在配置服务时配置的。

如何通过相同的nginx配置配置其余服务?

我;脑海中几乎没有解决方案:-

1)我部署了2个nginx服务nginx1和nginx2,每个服务都有5个目标组。该解决方案具有成本和操作问题。费用,因为将有N个Nginx服务5N服务器配置。操作上是因为我必须维护不同的nginx文件。

2)目标组将流量路由到IP(在本例中为nginx服务IP)。因此,每当部署nginx fargate服务时,我都会在服务中未配置的其余所有目标组中手动更新私有IP。但是,这将导致一个问题,每当我的容器发生故障并且Fargate尝试维护我的期望数量时,我的私有IP都会在我不知情的情况下被更改。这将导致其余服务的停机。

0 个答案:

没有答案