Grupos de instâncias

Um grupo de instâncias é um conjunto de instâncias de máquina virtual (VM, na sigla em inglês) que podem ser gerenciadas como uma única entidade.

O Compute Engine oferece dois tipos de grupos de instâncias de VM: gerenciadas e não gerenciadas:

  • Os grupos de instâncias gerenciadas (MIGs, na sigla em inglês) permitem operar apps em várias VMs idênticas. É possível tornar as cargas de trabalho escalonáveis e altamente disponíveis aproveitando serviços de MIGs automatizados, como escalonamento automático, recuperação automática, implantação regional (várias zonas) e atualização automática.
  • Os grupos de instâncias não gerenciadas permitem balancear a carga em uma frota de VMs gerenciadas por você.

Grupos de instâncias gerenciadas (MIGs)

Os grupos de instâncias gerenciadas (MIGs, na sigla em inglês) são adequados para cenários como estes:

  • Cargas de trabalho de exibição sem estado, como um front-end de site.
  • Cargas de trabalho de computação em lote, de alto desempenho ou alta capacidade sem estado, como o processamento de imagens em fila.
  • Aplicativos com estado, como bancos de dados, aplicativos legados e cálculos em lote de longa duração com checkpoint (Beta).

Cada instância gerenciada em um MIG é criada com base em um modelo de instância.

Para informações sobre como criar um MIG, consulte Como criar grupos de instâncias gerenciadas.

Vantagens

Os MIGs oferecem as seguintes vantagens:

  • Alta disponibilidade.
    • Manter instâncias de VM em funcionamento. Se uma VM no grupo for interrompida, falhar ou for excluída por uma ação que não seja um comando de gerenciamento de grupo de instâncias (por exemplo, uma redução intencional), ela será recriada automaticamente pelo MIG de acordo com as especificações da instância original (mesmo nome e mesmo modelo) para que retome o trabalho.
    • Recuperação automática baseada em aplicativo. Também é possível configurar uma política de recuperação automática que conta com uma verificação de integridade baseada em aplicativo, que verifica periodicamente se o app responde conforme o esperado em cada uma das instâncias do MIG. Se um app não estiver respondendo em uma VM, ela será recriada automaticamente. Verificar se um app responde é mais preciso do que apenas verificar se uma VM está em execução.
    • Cobertura regional (várias zonas). Os MIGs regionais permitem distribuir a carga do app em várias zonas. Essa replicação protege contra falhas nas zonas. Caso isso ocorra, seu aplicativo poderá continuar a veicular o tráfego de instâncias em execução nas zonas disponíveis restantes na mesma região.
    • Balanceamento de carga. Os MIGs trabalham com serviços de balanceamento de carga para distribuir o tráfego em todas as instâncias do grupo.
  • Dimensionamento. quando os aplicativos exigem recursos de computação extras, os MIGs com escalonamento automático podem aumentar automaticamente o número de instâncias no grupo para atender à demanda. Se a demanda cair, os MIGs com escalonamento automático poderão diminuir automaticamente para reduzir os custos.
  • Atualizações automáticas. O atualizador automático do MIG permite implantar novas versões de software em instâncias do MIG com segurança e oferece suporte a uma ampla variedade de cenários de lançamento, como atualizações graduais e canário. É possível controlar a velocidade e o escopo da implantação, bem como o nível de interrupção do serviço.
  • Suporte para cargas de trabalho com estado. É possível usar MIGs para criar implantações altamente disponíveis e automatizar operações de aplicativos com dados ou configurações com estado, como bancos de dados, servidores DNS, aplicativos monolíticos legados ou cálculos em lote de longa duração com checkpoint. Os MIGs com estado preservam o estado exclusivo de cada instância (discos permanentes anexados, metadados e nome da instância) na reinicialização, recriação, recuperação automática ou atualização de máquinas.
Visão geral de cargas de trabalho comuns e recursos de um MIG

Recuperação automática

Os grupos de instâncias gerenciadas mantêm a alta disponibilidade dos aplicativos ao manter as instâncias disponíveis proativamente, ou seja, no estado RUNNING. Um MIG recria automaticamente uma instância que não seja RUNNING. No entanto, pode não ser suficiente confiar apenas no estado da VM. Talvez seja necessário recriar instâncias quando um aplicativo congela, falha ou fica sem memória.

A recuperação automática baseada em aplicativos melhora a disponibilidade por meio de um sinal de verificação de integridade que detecta problemas específicos do aplicativo, como congelamento, falha ou sobrecarga. Se uma verificação de integridade determinar que um aplicativo falhou em uma VM, o grupo recriará automaticamente essa instância da VM.

Verificação de integridade

As verificações de integridade usadas para monitorar MIGs são semelhantes àquelas usadas para balanceamento de carga, com algumas diferenças de comportamento. As de balanceamento de carga ajudam a direcionar o tráfego de instâncias sem resposta para instâncias íntegras. Essas verificações de integridade não fazem o Compute Engine recriar as instâncias. Por outro lado, as verificações de integridade dos grupos de instâncias gerenciadas avisam proativamente para excluir e recriar as instâncias que tiverem o estado UNHEALTHY.

Na maioria dos casos, use verificações de integridade distintas para balanceamento de carga e recuperação automática. As verificações de integridade para o balanceamento de carga podem e precisam ser mais agressivas, já que elas determinam se uma instância receberá tráfego do usuário. Como os clientes talvez dependam dos seus serviços, você precisa encontrar rapidamente instâncias sem resposta para redirecionar o tráfego, se necessário. Por outro lado, com a verificação de integridade para recuperação automática, os MIGs substituem proativamente as instâncias com falha. Assim, essa verificação será mais conservadora do que uma de balanceamento de carga.

Para mais informações, consulte Como configurar a verificação de integridade e a recuperação automática de MIGs.

Grupos regionais ou zonais

É possível criar dois tipos de MIGs:

  • Um MIG zonal, que implanta instâncias em uma zona única.
  • Um MIG regional, que implanta instâncias em várias zonas na mesma região.

Ambos oferecem todas as vantagens dos MIGs. Os MIGs regionais aumentam a disponibilidade ao distribuir a carga de aplicativos por várias zonas, o que protege a carga de trabalho contra falhas zonais. Além disso, eles oferecem mais capacidade, com um máximo de 2.000 instâncias por grupo regional.

Balanceamento de carga

O balanceamento de carga do Google Cloud pode usar grupos de instâncias para exibir o tráfego. Dependendo do tipo de balanceador de carga escolhido, é possível adicionar grupos de instâncias a um pool de destino ou serviço de back-end.

Para mais informações, consulte Como adicionar um grupo de instâncias em um balanceador de carga.

Autoscaling

Os MIGs são compatíveis com o escalonamento automático que adiciona ou remove dinamicamente instâncias do MIG em resposta aos aumentos ou às diminuições de carga. Ao ativá-lo, você configura uma política de escalonamento automático para especificar como quer que o grupo seja escalonado. As políticas de escalonamento automático incluem escalonamento baseado na utilização da CPU, na capacidade de balanceamento de carga, nas métricas do Cloud Monitoring ou, para MIGs zonais, na carga de trabalho com base em fila, como o Pub/Sub.

Para mais informações, consulte Escalonamento automático de grupos de instâncias.

Atualização automática

É possível implantar, com facilidade e segurança, novas versões de software nas instâncias de um MIG. O lançamento de uma atualização acontece automaticamente de acordo com suas especificações: controle a velocidade e o escopo da atualização para minimizar interrupções no aplicativo. Outra opção é fazer lançamentos parciais que permitam testes canário.

Consulte Como atualizar MIGs.

Suporte para cargas de trabalho com estado

É possível criar implantações altamente disponíveis de cargas de trabalho com estado em VMs usando grupos de instâncias gerenciadas com estado (MIGs com estado). As cargas de trabalho com estado incluem aplicativos com dados ou configurações com estado, como bancos de dados, aplicativos monolíticos legados e cálculos em lote de longa duração com checkpoint.

É possível melhorar o tempo de atividade e a resiliência desses aplicativos com a recuperação automática, atualizações controladas e implantações em várias zonas, preservando o estado exclusivo de cada instância, incluindo discos permanentes, metadados e nomes de instância personalizáveis.

Para mais informações, leia MIGs com estado.

Grupos de instâncias preemptivas

Para cargas de trabalho em que redução nos custos é mais importante do que agilidade na execução, diminua o custo da carga de trabalho usando instâncias de VM preemptivas no grupo de instâncias. As instâncias preemptivas duram até 24 horas e são interrompidas de forma forçada e otimizada. O aplicativo terá 30 segundos para fechar corretamente. As instâncias preemptivas podem ser excluídas a qualquer momento, mas a recuperação automática as trará de volta quando a capacidade preemptiva estiver disponível novamente.

Contêineres

Simplifique a implantação de aplicativos implantando contêineres em instâncias de grupos de instâncias gerenciadas. Quando você especifica uma imagem de contêiner em um modelo de instância e depois usa esse modelo para criar um grupo de instâncias gerenciadas, cada VM será criada com um SO otimizado para contêineres que inclui o Docker, e seu contêiner será iniciado automaticamente em cada VM do grupo. Consulte Como implantar contêineres em VMs e MIGs.

Rede e sub-rede

Ao criar um grupo de instâncias gerenciadas, você precisa referenciar um modelo de instância atual. O modelo de instância define a rede VPC e a sub-rede que as instâncias membro usam. Para redes VPC de modo automático, é possível omitir a sub-rede. Isso instrui o Google Cloud a selecionar a sub-rede criada automaticamente na região especificada no modelo. Se você omitir uma rede VPC, o Google Cloud tentará usar a rede VPC chamada default.

Para mais informações, consulte Redes e sub-redes.

Demonstração dos recursos de MIG

Nesta apresentação em vídeo de 45 minutos, gravada no Google Cloud Next '18, você encontrará demonstrações e práticas recomendadas para configurar, executar e atualizar implantações escalonáveis e altamente disponíveis usando MIGs do Compute Engine.

O vídeo mostra como implantar um contêiner em um MIG, configurar uma política de recuperação automática, usar um grupo regional para se proteger contra uma falha de zona, configurar o escalonamento automático para atender às metas de CPU e às demandas baseadas em fila, além de gerenciar atualizações graduais e canário.

Grupos de instâncias não gerenciadas

Os grupos de instâncias não gerenciadas podem conter instâncias heterogêneas que podem ser adicionadas e removidas arbitrariamente do grupo. Esses grupos não oferecem escalonamento automático, recuperação automática, suporte a atualizações graduais, suporte a várias zonas ou o uso de modelos de instâncias, além de não serem adequados para implantar cargas de trabalho altamente disponíveis e escalonáveis. Use grupos de instâncias não gerenciadas quando precisar aplicar o balanceamento de carga a grupos de instâncias heterogêneas ou quando precisar gerenciar as instâncias por conta própria.

Caso seja necessário criar grupos de instâncias não gerenciadas, consulte esta página.

A seguir