Como escalonar e balancear carga

O Google Cloud oferece balanceamento de carga e escalonamento automático para grupos de instâncias.

Balanceamento de carga

O Google Cloud oferece balanceamento de carga do servidor para que seja possível distribuir o tráfego de entrada em várias instâncias de máquina virtual (VM, na sigla em inglês). Com o balanceamento de carga, é possível:

  • oferecer escalabilidade para seu aplicativo;
  • aceitar tráfego pesado;
  • detectar e remover automaticamente instâncias não íntegras da VM usando verificações de integridade. Instâncias que se tornam íntegras novamente são automaticamente readicionadas;
  • encaminhar tráfego para a máquina virtual mais próxima.

O balanceamento de carga do Google Cloud usa recursos de regra de encaminhamento para corresponder a determinados tipos de tráfego e encaminhá-los para um balanceador de carga. Por exemplo, uma regra de encaminhamento pode corresponder ao tráfego TCP destinado à porta 80 no endereço IP 192.0.2.1, em seguida, encaminhá-lo para um balanceador de carga, que o direciona para instâncias de VM íntegras.

O balanceamento de carga do Google Cloud é um serviço gerenciado, o que significa que seus componentes são redundantes e altamente disponíveis. Se um componente do balanceamento de carga falhar, ele será reiniciado ou substituído de forma automática e imediata.

O Google Cloud oferece vários tipos diferentes de balanceamento de carga que se diferem em funcionalidades, cenários de uso e configuração. Consulte a documentação do balanceamento de carga do Google Cloud para descrições.

Escalonamento automático

O Compute Engine oferece escalonamento automático para adicionar ou remover instâncias de VM de um grupo de instâncias gerenciadas com base em aumentos ou reduções na carga. Com o escalonamento automático, seus aplicativos lidam com o aumento do tráfego e reduzem o custo quando a necessidade de recursos é menor. Depois de definir a política de escalonamento automático, o autoescalador executa o processo com base na carga medida.

Política de escalonamento automático

Ao criar um escalonador automático, especifique pelo menos um sinal de escalonamento automático. Cada sinal pode ser baseado na utilização da CPU, na capacidade de exibição de balanceamento de carga, nas métricas do Cloud Monitoring ou nas programações. Se você usar uma política de escalonamento automático com vários sinais, o escalonador automático fará o escalonamento de um grupo de instâncias com base no sinal que fornece o maior número de instâncias de VM no grupo.

As seções a seguir discutem os sinais de escalonamento automático, em geral. Para mais informações sobre como configurar um sinal de escalonamento automático específico, consulte a respectiva documentação de sinais.

Utilização da CPU

A utilização da CPU é o escalonamento automático mais básico que pode ser realizado. Esta política diz ao autoescalador para observar a utilização média da CPU de um grupo de instâncias de VM e adicionar ou remover instâncias do grupo para manter a utilização que você quer. Isso é útil para configurações que exigem muita CPU, mas que podem variar no uso dela.

Para mais informações, consulte Escalonamento baseado na utilização de CPU.

Capacidade de disponibilização de balanceamento de carga

Quando você configura um autoescalonador para dimensionar com base na capacidade de serviço de balanceamento de carga, ele observa a capacidade de exibição de um grupo de instâncias, e dimensiona quando as instâncias da VM estão acima ou abaixo da capacidade.

A capacidade de disponibilização de uma instância pode ser definida no serviço de back-end do balanceador de carga e pode ser baseada em utilização ou solicitações por segundo.

Para mais informações, consulte Como escalonar com base na capacidade de exibição de um balanceador de carga HTTP(S) externo.

Como monitorar métricas

Se você exportar ou usar métricas do Cloud Monitoring, poderá configurar o escalonamento automático para coletar dados de uma métrica específica e realizar o escalonamento com base no nível de utilização desejado. É possível fazer o escalonamento com base em métricas padrão fornecidas pelo Monitoring ou usando qualquer métrica personalizada que você criar.

Para mais informações, consulte Escalonamento com base nas métricas de monitoramento.

Programações

O escalonamento automático baseado em programação permite melhorar a disponibilidade das cargas de trabalho programando a capacidade antes da carga prevista. É possível programar um tamanho de grupo de instâncias obrigatório para padrões de carga recorrentes, bem como eventos únicos.

Para mais informações, consulte Como escalonar com base em programações.

A seguir