Usando ALB para direcionar contêineres PHP-FPM ECS

Usando ALB para direcionar contêineres PHP-FPM ECS

Eu adoraria saber se isso é realmente possível, mas tenho certeza de que já vi isso demonstrado por um de nossos antigos TAMs da AWS.

Estou servindo contêineres PHP-FPM (porta 9000) fora do ECS que hospeda um aplicativo PHP. Estou pensando em substituir as caixas nginx por apenas um ALB.

Essencialmente, as solicitações pela porta 80 para o ALB devem executar o ponto de entrada da aplicação na porta 9000 com os dados da solicitação original.

Tentei mexer nos grupos-alvo, mas não consigo descobrir como executar a mesma funcionalidade do ProxyPass que o nginx oferece.

Isso é possível? E, se sim, como?

Responder1

Eu adoraria saber se isso é realmente possível, mas tenho certeza de que já vi isso demonstrado por um de nossos antigos TAMs da AWS.

Estou ansioso por esta solução.

Pelo que entendi, cheguei à conclusão de que PHP-FPM por trás do NGINX é a solução mais fácil. Razões:

  1. FastCGIé um protocolo binário para interface de programas interativos com um servidor web. Portanto, a porta 9000 exposta pelo PHP-FPM não é adequada diretamente atrás de um AWS ELB.
  2. Servidor web integrado do PHPnão deve ser usado em ambientes de produção.
  3. É uma má prática permitir que o mesmo servidor seja o servidor web e o servidor de aplicativos. Os recursos do servidor de aplicativos serão sobrecarregados pelo servidor web e vice-versa. Cada servidor tem seus benefícios. Usamos NGINX desde que foi testado em batalha como servidor web. Usamos PHP-FPM como sua implementação principal do PHP FastCGI.Não deveríamos usar uma AK-47 para matar um rato, deveríamos empregar uma ratoeira.
  4. Os aplicativos Django + Gunicorn atrás de um AWS ELB funcionam perfeitamente até que um cliente lento comece a enviar solicitações. O NGINX facilita o tratamento de clientes lentos, pois armazena em buffer e encaminha solicitações completas (todos os pacotes TCP) para o Gunicorn. Referência:Implantação Gunicórnio. Isso também se aplica ao PHP-FPM.
  5. O NGINX ajuda a fornecer arquivos estáticos com facilidade e os compacta usando GZIP. Dito isto, os arquivos estáticos devem ser servidos usando um armazenamento de objetos como o S3.

informação relacionada