Welcome! Log In Create A New Profile

Advanced

Проксирование на aws/alb

Anton Bessonov
May 25, 2017 06:40AM
Здравстуйте,

есть такой сетап:
интернет -> внешний alb -> энджин (ECS-Cluster) -> внутренний alb ->
кучка сервисов (ECS-Cluster).

alb меняет время от времени свой айпи адрес, а энджин новый адрес не
резольвит. Нашол
https://distinctplace.com/2017/04/19/nginx-resolver-explained/. Как
узнать айпи адрес резольвера? ЛоадБалансер прикреплён к двум AZ: CIDR
10.180.24.0/21 http://10.180.24.0/21 и 10.180.32.0/21
http://10.180.32.0/21. Правильно ли я понимаю, что конфигурация должна
выглядить следующим образом (особенно айпи резольвера при ECS):

server {
listen 0.0.0.0:8000 http://0.0.0.0:8000;

location /service {
resolver 10.180.24.2 10.180.32.2 valid=5s;
set $upstream_endpoint http://${ALB_URL};
proxy_pass $upstream_endpoint;
}

location /otherservice {
resolver 10.180.24.2 10.180.32.2 valid=5s;
[...]

Как я понимаю, то при смене айпи есть вероятность в течении 5ти секунд,
что возникнет предыдущая ощибка:

connect() failed (113: No route to host) while connecting to upstream

Как можно избежать этого?

Ну и вопрос удобства. Что можно куда вынести из локейшн? В данный момент
конфиг выглядит следующим образом:

upstream frontend {
server ${ALB_URL};
}

server {
listen 0.0.0.0:8000 http://0.0.0.0:8000;

location /service {
proxy_pass http://frontend;
}

location /otherservice {
proxy_pass http://frontend;
}
[...]

И так как блоков сервер и локейшн много, не хотелось бы копипейстить.
Где и что можно применять стоит в документации, но вопрос в том, будет
ли работать хак с обновлением айпи адреса в резольвере?

С уважением,

Антон


_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Проксирование на aws/alb

Anton Bessonov May 25, 2017 06:40AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 210
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready