Grupos de instâncias

Um grupo de instâncias é uma coleção de instâncias de VM que você gerencia como uma única entidade.

O Compute Engine oferece dois tipos de grupos de instâncias de VM:

  • Os grupos de instâncias gerenciadas (MIGs, na sigla em inglês) permitem operar aplicativos em várias VMs idênticas. É possível tornar suas cargas de trabalho escalonáveis e altamente disponíveis com os serviços automatizados de MIG. Esses serviços incluem 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 o balanceamento de carga em uma frota de VMs gerenciadas por você.

Grupos de instâncias gerenciadas (MIGs)

Os MIGs são adequados para cargas de trabalho de veiculação sem estado (como um front-end de site) e para cargas de trabalho de computação em lote de alto desempenho ou alta capacidade (como processamento de imagens em uma fila).

Cada instância de VM em um MIG é criada a partir de um modelo de instância.

Para criar um grupo de instâncias gerenciadas, consulte este artigo.

Benefícios

Os MIGs oferecem as seguintes vantagens:

  • Alta disponibilidade
    • Manutenção de instâncias em execução: se uma instância do grupo falhar, for interrompida ou excluída por uma ação que não seja um comando de gerenciamento de grupo de instâncias (por exemplo, uma redução de escala intencional), o MIG a recriará automaticamente de acordo com as especificações da instância original (mesmo nome e mesmo modelo) para que ela retome seu trabalho.
    • Recuperação automática: também é possível configurar uma política de recuperação automática que usa uma verificação de integridade baseada em aplicativos, que verifica periodicamente se seu aplicativo está respondendo conforme o esperado em cada uma das instâncias do MIG. Se um aplicativo não estiver respondendo em uma instância, ela será recriada automaticamente. Verificar se um aplicativo responde é mais preciso do que apenas verificar se uma instância está em execução.
    • Cobertura regional (várias zonas): com os grupos de instâncias gerenciadas regionais, é possível distribuir a carga de aplicativos em várias zonas. Essa replicação protege contra falhas nas zonas. Se esse tipo de problema ocorrer, o aplicativo continuará a veicular o tráfego a partir das instâncias em execução nas outras zonas disponíveis da mesma região.
    • Balanceamento de carga: os grupos de instâncias gerenciadas trabalham com serviços de balanceamento de carga para distribuir o tráfego em todas as instâncias do grupo.
  • Escalonabilidade: quando os aplicativos exigem mais recursos de computação, 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 podem diminuir automaticamente para reduzir seus custos.
  • Atualizações automáticas: o recurso de atualização automática de grupos de instâncias gerenciadas permite que você implante com facilidade e segurança novas versões de software nas instâncias do MIG. Ele é compatível com uma variedade flexível de cenários de lançamento, como atualizações graduais e atualizações canário. É possível controlar a velocidade e o escopo da implantação, bem como o nível de interrupção do serviço.
Visão geral dos recursos do MIG e cargas de trabalho comuns

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. O grupo de instâncias gerenciadas recria automaticamente as que não estão no estado RUNNING. No entanto, considerar apenas o estado da instância pode não ser suficiente. 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 instância, o grupo recriará automaticamente essa instância.

Verificação de integridade

As verificações de integridade usadas para monitorar grupos de instâncias gerenciadas são semelhantes àquelas usadas para balanceamento de carga, com algumas diferenças de comportamento. As verificações de integridade 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 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 podem depender dos seus serviços, é útil detectar rapidamente as instâncias sem resposta para redirecionar o tráfego, se necessário. Por outro lado, com a verificação de integridade para a recuperação automática, os MIGs substituem proativamente instâncias com falha. Assim, essa verificação será mais conservadora do que uma de balanceamento de carga.

Consulte Como configurar a verificação de integridade e a recuperação automática de grupos de instâncias gerenciadas para mais informações.

Grupos regionais ou por zona

Podem ser criados dois tipos de grupos de instâncias gerenciadas:

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

Balanceamento de carga

O balanceamento de carga do GCP pode usar grupos de instâncias para veicular 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.

Consulte Como adicionar um grupo de instâncias gerenciadas a um balanceador de carga para mais informações.

Escalonamento automático

Os grupos de instâncias gerenciadas aceitam escalonamento automático, que adiciona ou remove dinamicamente as instâncias de um grupo de instâncias gerenciadas em resposta a aumentos ou diminuições na 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 de monitoramento do Stackdriver ou, para MIGs por zonas, na carga de trabalho com base em fila, como o Google Cloud Pub/Sub.

Para mais informações, consulte Como escalonar automaticamente grupos de instâncias.

Atualização automática

É possível implementar com facilidade e segurança novas versões de software nas instâncias de um grupo de instâncias gerenciadas. 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. É possível executar implementações parciais que permitem testes canário.

Consulte Como atualizar grupos de instâncias gerenciadas.

Grupos de instâncias preemptivas

Para cargas de trabalho em que reduzir os custos é mais importante do que a velocidade de execução, reduza 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 normalmente. 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 usa esse modelo para criar um grupo de instâncias gerenciadas, cada instância será criada com um SO otimizado para contêineres que inclui o Docker, e seu contêiner será iniciado automaticamente em cada instância do grupo. Consulte Como implantar contêineres em VMs e grupos de instâncias gerenciadas.

Rede

Por padrão, as instâncias no grupo são colocadas na rede default e recebem endereços IP do intervalo regional atribuídos aleatoriamente. Como alternativa, restrinja o intervalo IP do grupo criando uma rede VPC de modo personalizado e uma sub-rede que use um intervalo IP menor, em seguida, especifique essa sub-rede no modelo da instância.

Demonstração dos recursos do MIG

A seguinte apresentação em vídeo de 45 minutos, gravada no GCP NEXT 2018, contém demonstrações e práticas recomendadas para configurar, executar e atualizar implantações escalonáveis e altamente disponíveis usando grupos de instâncias gerenciadas do Compute Engine.

Você verá como implantar um contêiner em um grupo de instâncias gerenciadas, configurar uma política de recuperação automática, usar um grupo regional para se proteger contra falhas regionais, configurar o escalonamento automático para atender às metas da CPU e às demandas baseadas em filas e gerenciar atualizações canário e graduais.

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. Eles não oferecem escalonamento automático, recuperação automática, suporte a atualizações graduais ou uso de modelos de instâncias e não são adequados para a implantação de cargas de trabalho altamente disponíveis e escalonáveis. Use grupos de instâncias não gerenciadas se você precisar aplicar o balanceamento de carga a grupos de instâncias heterogêneas ou se precisar gerenciar as instâncias sozinho.

Se for necessário criar grupos de instâncias não gerenciadas, consulte Grupos de instâncias não gerenciadas.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine