Configurar uma instância do Lightsail para balanceamento de carga - Amazon Lightsail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Configurar uma instância do Lightsail para balanceamento de carga

Antes de anexar instâncias ao seu balanceador de carga Lightsail, você precisa avaliar a configuração do seu aplicativo. Por exemplo, os balanceadores de carga normalmente funcionam melhor quando o nível de dados é separado do resto da aplicação. Este tópico fala sobre cada instância do Lightsail e faz recomendações sobre balancear a carga (ou escalar horizontalmente) e como configurar melhor seu aplicativo.

Diretrizes gerais: aplicativos que usam um banco de dados

Para aplicativos Lightsail que usam um banco de dados, recomendamos que você separe a instância do banco de dados do resto do seu aplicativo, para que você tenha apenas uma instância de banco de dados. O principal motivo é evitar a gravação de dados em mais de um banco de dados. Se você não criar uma única instância de banco de dados, os dados serão gravados no banco de dados da instância que o usuário acessar.

WordPress

Dimensionamento horizontal? Sim, para um WordPress blog ou site.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

  • Separe seu banco de dados para que cada WordPress instância executada por trás do balanceador de carga armazene e recupere informações do mesmo local. Se você precisar de mais desempenho de seu banco de dados, poderá replicar ou alterar a capacidade de processamento ou memória independentemente do seu servidor da web.

  • Descarregue seus arquivos e conteúdo estático em um bucket do Lightsail. Para fazer isso, você deve instalar o plug-in WP Offload Media Lite em seu WordPress site e configurá-lo para se conectar ao seu bucket do Lightsail. Para obter mais informações, consulte Tutorial: Conectar uma WordPress instância a um bucket de armazenamento.

Node.js

Dimensionamento horizontal? Sim, com algumas considerações.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

  • No Lightsail, a pilha Node.js empacotada pela Bitnami contém Node.js, Apache, Redis (um banco de dados na memória) e Python. Dependendo do aplicativo sendo implantado, você pode balancear a carga entre alguns servidores. No entanto, é necessário configurar um load balancer para equilibrar o tráfego entre todos os servidores da web e mover o Redis para outro servidor.

  • Divida o servidor Redis para outro servidor para se comunicar com todas as instâncias. Adicione um servidor de banco de dados, se necessário.

  • Um dos principais casos de uso do Redis é armazenar dados em cache no local para que não seja necessário acessar constantemente o banco de dados central. Recomendamos habilitar a persistência da sessão para aproveitar a melhoria de desempenho do Redis. Para obter mais informações, consulte Enable session persistence for a load balancer.

  • Você também pode ter um nó do Redis compartilhado a fim de que também possa compartilhar um nó ou usar um cache local em cada máquina usando a persistência da sessão.

  • Considere a inclusão de mod_proxy_balancer no servidor Apache se você quiser implantar um load balancer usando o Apache.

Para obter mais informações, consulte Aplicativos dimensionáveis do Node.js.

Magento

Escalar horizontalmente? Sim.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

  • Você pode usar uma implantação de AWS referência do Magento que usa componentes adicionais, como um banco de dados Amazon RDS: Terraform Magento Adobe Commerce on. AWS

  • Habilite a persistência da sessão. O Magento usa um carrinho de compras, e isso ajuda a garantir que os clientes que fazem várias visitas em mais de uma sessão mantenham os itens no carrinho de compras ao voltar para uma nova sessão. Para obter mais informações, consulte Enable session persistence for a load balancer.

GitLab

Dimensionamento horizontal? Sim, com considerações.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

Você deve ter o seguinte:

  • Um nó do Redis em execução e pronto para uso

  • Um servidor de armazenamento em rede compartilhado (NFS)

  • Um banco de dados centralizado (MySQL ou PostgreSQL) para o aplicativo. Consulte as diretrizes gerais sobre bancos de dados, acima.

Para obter mais informações, consulte Alta disponibilidade no GitLabsite.

nota

O servidor de armazenamento em rede compartilhado (NFS) mencionado acima não está disponível atualmente com o GitLab blueprint.

Drupal

Dimensionamento horizontal? Sim. O Drupal tem um documento oficial que descreve como dimensionar horizontalmente seu aplicativo: Server Scaling.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

Você deve configurar um módulo do Drupal para sincronizar arquivos entre instâncias diferentes. O site do Drupal tem vários módulos, mas pode ser mais adequado para criação de protótipos, em vez de uso para produção.

Use um módulo que permita armazenar seus arquivos no Amazon S3. Isso fornece um local centralizado para seus arquivos, em vez de manter cópias separadas em cada instância de destino. Dessa forma, se você editar seus arquivos, as atualizações serão selecionadas do armazenamento centralizado e seus usuários verão os mesmos arquivos, independentemente da instância acessada.

Para obter mais informações, consulte Scaling Drupal horizontally and in cloud (Como escalar o Drupal horizontalmente e em nuvem).

Pilha LAMP

Dimensionamento horizontal? Sim.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

  • Você deve criar um banco de dados em uma instância separada. Todas as instâncias por trás do load balancer devem apontar para essa instância de banco de dados separada a fim de armazenar e recuperar informações do mesmo local.

  • Dependendo do aplicativo que você deseja implantar, pense em como compartilhar o sistema de arquivos (NFS, discos de armazenamento em blocos Lightsail ou armazenamento Amazon S3).

Pilha MEAN

Dimensionamento horizontal? Sim.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

Mova o MongoDB para outra máquina e configure um mecanismo para compartilhar o documento raiz entre as instâncias do Lightsail.

Redmine

Dimensionamento horizontal? Sim.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

  • Obtenha o plug-in Redmine_S3 para armazenar os anexos no Amazon S3, e não no sistema de arquivos local.

  • Separe o banco de dados para uma instância diferente.

Nginx

Dimensionamento horizontal? Sim.

Você pode ter uma ou mais instâncias do Lightsail executando o Nginx e conectadas a um balanceador de carga do Lightsail. Para obter mais informações, consulte Scaling Web Applications with NGINX, Part 1: Load Balancing.

Joomla!

Dimensionamento horizontal? Sim, com considerações.

Recomendações de configuração antes de usar um balanceador de carga Lightsail

Embora não haja documentação oficial no site do Joomla, há algumas discussões nos fóruns da comunidade. Alguns usuários conseguiram dimensionar horizontalmente as instâncias do Joomla com um cluster com a seguinte configuração:

  • Um balanceador de carga Lightsail configurado para permitir a persistência da sessão. Para obter mais informações, consulte Enable session persistence for a load balancer.

  • Várias instâncias do Lightsail executando o Joomla conectadas ao balanceador de carga com a raiz do documento do Joomla! sincronizado. Você pode fazer isso usando ferramentas como o Rsync, ter um servidor NFS encarregado de sincronizar o conteúdo entre todas as instâncias do Lightsail ou compartilhar arquivos usando. AWS

  • Vários servidores de banco de dados configurados com um cluster de replicação.

  • O mesmo sistema de cache configurado em cada instância do Lightsail. Existem algumas extensões úteis, como JotCache.