Nginx, использующий автоматическое масштабирование AWS, группирует экземпляры в файлах конфигурации с открытым исходным кодом Nginx

#amazon-web-services #nginx #nginx-reverse-proxy #nginx-config #aws-auto-scaling

#amazon-веб-сервисы #nginx #nginx-обратный прокси #nginx-config #aws-автоматическое масштабирование

Вопрос:

Я хочу добавить серверы, которые находятся за группой автоматического масштабирования AWS, в конфигурационный файл Nginx, я вижу, что в Nginx plus есть агент nginx-asg-sync, который мы можем использовать напрямую, и он выполнит всю работу.

Есть ли какая-либо возможность, что мы можем использовать то же самое в службе Nginx с открытым исходным кодом? , Я использую Nginx с открытым исходным кодом, и я не нахожу способа решить эту проблему

Спасибо

Ответ №1:

в AWS вам нужно только знать, как работает CLI / API. вы можете создать этот агент, используя только две команды cli:

 aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names {PARAMS}
 

где {PARAMS} вы запрашиваете имя группы автоматического масштабирования и получаете из него идентификаторы экземпляров.

вторая команда:

 aws ec2 describe-instances --instance-ids {PARAMS}
 

затем все, что вам нужно сделать, это построить всю логику вокруг этого, например, в bash script вы создаете шаблон nginx upstream, и каждый раз, когда запускается новый экземпляр, вы сравниваете ip-адреса, меняете потоки вверх и перезагружаете nginx. или вы можете просто добавить / удалить ip с помощью sed

вот еще несколько примеров того, как вы можете это сделать: https://serverfault.com/questions/704806/how-to-get-autoscaling-group-instances-ip-adresses

также вы можете добавить проверку работоспособности перед изменением восходящих потоков.