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 aplicativos 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)

Esses grupos 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 de 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 mais informações sobre como criar um grupo de instâncias gerenciadas, consulte esta página.

Vantagens

Os MIGs oferecem as seguintes vantagens:

  • Alta disponibilidade
    • Manutenção de instâncias em execução: se uma instância 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 de escala 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: também é possível configurar uma política de recuperação automática vinculada a uma verificação de integridade baseada em aplicativo, que confere periodicamente se o aplicativo responde conforme o esperado em cada instância 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 simplesmente verificar se uma instância está ativa e em execução.
    • Cobertura regional (várias zonas): os grupos de instâncias gerenciadas regionais permitem distribuir a carga do aplicativo 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 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 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 recurso de atualização automática de grupos de instâncias gerenciadas permite implantar com segurança novas versões de software em instâncias no MIG e oferece suporte a uma ampla variedade 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, assim como o nível de interrupção no serviço.
Visão geral de recursos do MIG e de 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. Um grupo de instâncias gerenciadas recria automaticamente uma instância que não seja RUNNING. No entanto, pode não ser suficiente confiar apenas no estado da instância. 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 não fazem o Compute Engine recriar 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 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.

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

Grupos regionais ou por zona

É possível criar dois tipos de grupos de instâncias gerenciadas:

Ambos 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 a 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 a um serviço de back-end.

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

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 do Stackdriver Monitoring ou, para MIGs por zona, na carga de trabalho com base em fila, como o Cloud Pub/Sub.

Para mais informações, consulte Como escalonar automaticamente 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 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. Outra opção é fazer lançamentos parciais que permitam teste canário.

Consulte Como atualizar grupos de instâncias gerenciadas.

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 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

Implemente contêineres em instâncias de grupos de instâncias gerenciadas para simplificar a implantação de aplicativos. 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 aleatoriamente do intervalo regional. Como alternativa, restrinja o intervalo IP do grupo. Para isso, primeiro crie uma rede VPC de modo personalizado e uma sub-rede que utilize um intervalo IP menor e, em seguida, especifique essa sub-rede no modelo da instância.

Demonstração dos recursos do MIG

Nesta apresentação em vídeo de 45 minutos, gravada no GCP NEXT 2018, você encontrará 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.

O vídeo mostra 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 proteger contra uma falha zonal, configurar o escalonamento automático para atender a metas de CPU e demandas baseadas em fila 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. 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 se precisar gerenciar as instâncias sozinho.

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

A seguir

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

Enviar comentários sobre…

Documentação do Compute Engine