#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
также вы можете добавить проверку работоспособности перед изменением восходящих потоков.