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 as instâncias do Lightsail para balanceamento de carga
Antes de anexar instâncias ao load balancer do Amazon Lightsail, é necessário avaliar a configuração de sua aplicação. Por exemplo, os balanceadores de carga normalmente funcionam melhor quando o nível de dados é separado do resto da aplicação. Este tópico explica sobre cada instância Lightsail e contém recomendações de balanceamento de carga (ou de dimensionamento horizontal) e da melhor forma de configurar sua aplicação.
Diretrizes gerais: aplicativos que usam um banco de dados
Para aplicações do Lightsail que usam um banco de dados, recomendamos separar a instância de banco de dados do resto da sua aplicação, a fim de que 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
Escalar horizontalmente? Sim, para um site ou blog WordPress.
Recomendações de configuração antes de usar um load balancer do Lightsail
-
Separe seu banco de dados para que cada instância do WordPress em execução por trás do load balancer 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 o conteúdo estático em um bucket do Lightsail. Para fazer isso, você deve instalar o plugin WP Offload Media Lite em seu site WordPress e configurá-lo para se conectar ao seu bucket do Lightsail. Para obter mais informações, consulte Tutorial: como conectar uma instância do WordPress a um bucket.
Node.js
Escalar horizontalmente? Sim, com algumas considerações.
Recomendações de configuração antes de usar um load balancer do 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 da aplicação sendo implantada, 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_balancerno servidor Apache se você quiser implantar um load balancer usando o Apache.
Para obter mais informações, consulte Aplicações dimensionáveis do Node.js
Magento
Escalar horizontalmente? Sim.
Recomendações de configuração antes de usar um load balancer do Lightsail
-
Você pode usar uma implantação de referência da AWS do Magento que usa componentes adicionais, como um banco de dados do Amazon RDS: Terraform Magento Adobe Commerce na 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
Escalar horizontalmente? Sim, com considerações.
Recomendações de configuração antes de usar um load balancer do 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 a aplicação. Consulte as diretrizes gerais sobre bancos de dados, acima.
Para obter mais informações, consulte High Availability
nota
O servidor de armazenamento em rede compartilhado (NFS) mencionado acima não está disponível no momento com o esquema do GitLab.
Drupal
Escalar horizontalmente? Sim. O Drupal tem um documento oficial que descreve como dimensionar horizontalmente sua aplicação: Server Scaling
Recomendações de configuração antes de usar um load balancer do 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 Como escalar o Drupal horizontalmente e em nuvem
Pilha LAMP
Escalar horizontalmente? Sim.
Recomendações de configuração antes de usar um load balancer do 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 da aplicação que você deseja implantar, considere como compartilhar o sistema de arquivos (NFS, discos de armazenamento em bloco do Lightsail ou armazenamento do Amazon S3).
Pilha MEAN
Escalar horizontalmente? Sim.
Recomendações de configuração antes de usar um load balancer do Lightsail
Mova o MongoDB para outra máquina e configure um mecanismo para compartilhar o documento raiz entre as instâncias Lightsail.
Redmine
Escalar horizontalmente? Sim.
Recomendações de configuração antes de usar um load balancer do 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
Escalar horizontalmente? Sim.
Você pode ter uma ou mais instâncias do Lightsail em execução no Nginx e anexadas a um load balancer do Lightsail. Para obter mais informações, consulte Scaling Web Applications with NGINX, Part 1: Load Balancing
Joomla!
Escalar horizontalmente? Sim, com considerações.
Recomendações de configuração antes de usar um load balancer do 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 load balancer do Lightsail configurado para habilitar 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 com Joomla anexadas ao load balancer com a raiz do documento do Joomla! sincronizada. Você pode fazer isso usando ferramentas como Rsync, com um servidor NFS responsável pela sincronização do conteúdo entre todas as instâncias do Lightsail ou compartilhando arquivos usando a 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 Lightsail. Há algumas extensões úteis, como JotCache
.