Resolução de DNS Nginx para o PHP Load Balancer

1

Nossa configuração da AWS tem um servidor nginx apontando todas as solicitações do PHP para um ELB com vários servidores PHP. Quando o próprio ELB é dimensionado, perdemos a conectividade nas próximas horas, já que esses IPs antigos são reciclados. Uma reinicialização dos servidores nginx re-armazena em cache os IPs do ELB e tudo volta a funcionar. Coisas bastante padrão.

A solução que encontrei em todos os lugares é que preciso incluir um resolver para permitir a nova resolução enquanto o servidor está em funcionamento. O problema que estou encontrando é duplo:

  1. Minha configuração atual não está funcionando.
  2. Não sei como testá-lo adequadamente sem esperar que ele falhe.

Aqui está minha configuração atual:

http {
    resolver 10.0.0.2 valid=10s;
    ...

    server {
        ...

        location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            set $route "php:9000";
            fastcgi_pass $route;
        }
    }
}

Um artigo que eu encontrei mencionado usando o tcpdump para revisar solicitações de DNS, mas não vejo nada, e definitivamente não a cada 10 segundos como está escrito. Poderia ter a ver com o uso de fastcgi_pass em vez de proxy_pass? Estou faltando alguma outra coisa?

    
por ahamilton9 21.11.2016 / 18:29

0 respostas