Um grupo de instâncias é um conjunto de instâncias de máquinas virtuais (VMs) que pode gerir como uma única entidade.
O Compute Engine oferece dois tipos de grupos de instâncias de VM: geridos e não geridos:
Os grupos de instâncias geridas (GIGs) permitem-lhe operar apps em várias VMs idênticas. Pode tornar as suas cargas de trabalho escaláveis e altamente disponíveis tirando partido dos serviços MIG automatizados, incluindo: dimensionamento automático, autocura, implementação regional (várias zonas) e atualização automática.
Os grupos de instâncias não geridas permitem-lhe equilibrar a carga numa frota de VMs que gere por si.
Experimente
Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Compute Engine em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.
Experimente o Compute Engine gratuitamenteGrupos de instâncias geridas (MIGs)
Use um grupo de instâncias geridas (GIG) para cenários como estes:
- Cargas de trabalho de publicação sem estado, como um front-end de Website
- Cargas de trabalho de computação sem estado, de alto desempenho ou de alto débito, como o processamento de imagens a partir de uma fila
- Aplicações com estado, como bases de dados, aplicações antigas e computações em lote de longa duração com pontos de verificação
O Compute Engine mantém cada uma das instâncias geridas do MIG com base na configuração que especificar num modelo de instância e numa configuração com estado opcional.
Para obter informações sobre como criar um MIG, consulte o artigo Criar grupos de instâncias geridos.
Vantagens
Os MIGs oferecem as seguintes vantagens:
- Elevada disponibilidade.
- Reparar automaticamente VMs com falhas. Se uma VM no grupo parar, falhar, for anulada (VMs de preço instantâneo) ou for eliminada por uma ação não iniciada pelo GIG, o GIG recria automaticamente essa VM com base na respetiva configuração original (mesmo nome da VM, mesmo modelo) para que a VM possa retomar o respetivo trabalho.
- Autocorreção baseada na aplicação. Também pode configurar uma verificação de funcionamento baseada na aplicação, que verifica periodicamente se a aplicação responde conforme esperado em cada uma das instâncias do MIG. Se uma aplicação não estiver a responder numa VM, o MIG recria automaticamente essa VM para si. Verificar se uma aplicação responde é mais preciso do que simplesmente verificar se uma VM está em funcionamento.
- Cobertura regional (várias zonas). Os MIGs regionais permitem distribuir a carga da app por várias zonas. Esta replicação protege contra falhas zonais. Se isso acontecer, a sua app pode continuar a publicar tráfego a partir de instâncias em execução nas zonas disponíveis restantes na mesma região.
- Balanceamento de carga. Os MIGs funcionam com serviços de balanceamento de carga para distribuir o tráfego por todas as instâncias no grupo.
- Escalabilidade. Quando as suas apps requerem recursos de computação adicionais, os GIGs com escala automática podem aumentar automaticamente o número de instâncias no grupo para satisfazer a procura. Se a procura diminuir, os GIGs com escala automática podem diminuir automaticamente para reduzir os custos.
- Atualizações automáticas. O atualizador automático do MIG permite-lhe implementar com segurança novas versões de software em instâncias no seu MIG e suporta uma gama flexível de cenários de implementação, como atualizações contínuas e atualizações canary. Pode controlar a velocidade e o âmbito da implementação, bem como o nível de interrupção do seu serviço.
- Suporte para cargas de trabalho com estado. Pode usar os MIGs para: criar implementações de alta disponibilidade e automatizar o funcionamento das aplicações com dados ou configuração com estado, como bases de dados, servidores DNS, aplicações monolíticas antigas ou cálculos em lote de longa duração com pontos de verificação. Os MIGs com estado preservam o estado único de cada instância (nome da instância, discos persistentes anexados e metadados) no reinício, na recriação, na autocura e nos eventos de atualização da máquina.
- Crie VMs com GPUs de uma só vez. Quando tem uma tarefa em lote, como uma tarefa de preparação de IA ou ML, que requer um número exato de VMs com GPU, a criação de um pedido de redimensionamento num MIG pode ajudar a criar as VMs de uma só vez. Pode especificar a duração durante a qual quer que as VMs sejam executadas, o que melhora a obtenção de recursos muito procurados, como GPUs.
Reparação automática e autorrecuperação
Os grupos de instâncias geridas mantêm a elevada disponibilidade das suas aplicações mantendo as instâncias disponíveis de forma proativa. Um MIG repara automaticamente as instâncias com falhas recriando-as.
Também pode querer reparar instâncias quando uma aplicação bloqueia, falha ou fica sem memória. A autocorreção baseada em aplicações melhora a disponibilidade das aplicações através de um sinal de verificação do estado que deteta problemas específicos das aplicações, como bloqueios, falhas ou sobrecarga. Se uma verificação de estado determinar que uma aplicação falhou numa VM, o grupo recria automaticamente essa instância de VM.
Para mais informações, consulte o artigo Acerca da reparação de VMs num MIG.
Verificação de funcionamento
As verificações de estado usadas para monitorizar os MIGs são semelhantes às verificações de estado usadas para o equilíbrio de carga, com algumas diferenças no comportamento. As verificações de estado do balanceamento de carga ajudam a direcionar
o tráfego das instâncias que não respondem para as instâncias em bom estado. Estas
verificações de estado não fazem com que o Compute Engine recrie instâncias. Por outro lado, as verificações de funcionamento do grupo de instâncias gerido sinalizam proativamente para eliminar e recriar instâncias que se tornam UNHEALTHY
.
Na maioria dos cenários, use verificações de funcionamento separadas para o balanceamento de carga e para a autorrecuperação. A verificação de funcionamento para o balanceamento de carga pode e deve ser mais agressiva, porque estas verificações de funcionamento determinam se uma instância recebe tráfego de utilizadores. Uma vez que os clientes podem depender dos seus serviços, é importante detetar rapidamente as instâncias que não respondem para poder redirecionar o tráfego, se necessário. Por outro lado, a verificação de funcionamento para a autorrecuperação faz com que os GMIs substituam proativamente as instâncias com falhas, pelo que esta verificação de funcionamento deve ser mais conservadora do que uma verificação de funcionamento do balanceamento de carga.
Para mais informações, consulte o artigo Configure uma verificação de funcionamento da aplicação e a autocura.
Grupos regionais ou zonais
Pode criar dois tipos de MIGs:
- Um GIG zonal, que implementa instâncias numa única zona.
- Um MIG regional, que implementa instâncias em várias zonas na mesma região.
Ambos os tipos oferecem todas as vantagens dos MIGs. Os MIGs regionais adicionam maior disponibilidade ao distribuir a carga da aplicação por várias zonas, o que protege a sua carga de trabalho contra falhas zonais, e os MIGs regionais oferecem mais capacidade. Por predefinição, pode criar até 2000 VMs num GIG regional e 1000 VMs num GIG zonal. Se precisar de mais VMs, pode aumentar o limite de tamanho do seu MIG ou contactar o apoio técnico.
Balanceamento de carga
Google Cloud O equilíbrio de carga pode usar grupos de instâncias para publicar tráfego. Consoante o tipo de balanceador de carga que escolher, pode adicionar grupos de instâncias a um conjunto de destino ou a um serviço de back-end.
Para mais informações, consulte o artigo Adicionar um grupo de instâncias a um equilibrador de carga.
Escala automática
Os GIGs suportam a escala automática que adiciona ou remove dinamicamente instâncias de VMs do grupo em resposta a aumentos ou diminuições na carga. Pode configurar uma política de dimensionamento automático para especificar como quer dimensionar o grupo. Na política de escala automática, pode definir um ou mais sinais para dimensionar o grupo com base na utilização da CPU, na capacidade de balanceamento de carga, nas métricas do Cloud Monitoring, nos horários ou, para GIGs zonais, através de uma carga de trabalho baseada em filas, como o Pub/Sub.
Para mais informações, leia o artigo Grupos de dimensionamento automático de instâncias.
Atualização automática
Pode implementar novas versões de software de forma fácil e segura em instâncias num MIG. A implementação de uma atualização ocorre automaticamente com base nas suas especificações: pode controlar a velocidade e o âmbito da implementação da atualização para minimizar as interrupções na sua aplicação. Opcionalmente, pode fazer implementações parciais, o que permite testes.
Consulte o artigo Atualizar MIGs.
Suporte para cargas de trabalho com estado
Pode criar implementações de alta disponibilidade de cargas de trabalho com estado em VMs usando grupos de instâncias geridas com estado (GIGs com estado). As cargas de trabalho com estado incluem aplicações com dados ou configuração com estado, como bases de dados, aplicações monolíticas antigas e cálculos em lote de execução prolongada com pontos de verificação.
Pode melhorar o tempo de atividade e a resiliência destas aplicações com a autorrecuperação, as atualizações controladas e as implementações em várias zonas, ao mesmo tempo que preserva o estado único de cada instância, incluindo o nome da instância personalizável, os discos persistentes e os metadados.
Para mais informações, leia o artigo sobre os MIGs com estado.
Crie VMs com GPUs de uma só vez
Pode criar um pedido de redimensionamento num MIG com VMs com GPU para criar as VMs pedidas de uma só vez quando a capacidade pedida ficar disponível. Quando cria um pedido de redimensionamento num GIG, o Compute Engine agenda a criação das VMs com base no número de VMs pedidas, na duração de execução pedida e na disponibilidade dos recursos pedidos nas zonas do GIG. Em seguida, na entrega agendada dos recursos, o MIG cria o número pedido de VMs de uma só vez. As VMs são executadas até ao fim da respetiva duração ou até as eliminar.
Para mais informações, consulte o artigo Acerca dos pedidos de redimensionamento num MIG.
Grupos de instâncias preemptivas
Para cargas de trabalho em que os custos mínimos são mais importantes do que a velocidade de execução, pode reduzir o custo da carga de trabalho usando instâncias de VM preemptivas no grupo de instâncias. As instâncias preemptíveis duram até 24 horas e são preemptadas de forma elegante. A sua aplicação tem 30 segundos para sair corretamente. As instâncias preemptivas podem ser eliminadas em qualquer altura, mas a autocorreção repõe as instâncias quando a capacidade preemptiva volta a ficar disponível.
Contentores
Pode simplificar a implementação de aplicações implementando contentores em instâncias em grupos de instâncias geridos. Quando especifica uma imagem de contentor num modelo de instância e, em seguida, usa esse modelo para criar um grupo de instâncias gerido, cada VM é criada com um SO otimizado para contentores que inclui o Docker, e o seu contentor é iniciado automaticamente em cada VM no grupo. Consulte o artigo Implementar contentores em VMs e MIGs.
Rede e sub-rede
Quando cria um grupo de instâncias gerido, tem de referenciar um modelo de instância existente. O modelo de instância define a rede VPC e a sub-rede que as instâncias membro usam. Se omitir uma rede VPC, oGoogle Cloud tenta usar a rede VPC denominada default
e a sub-rede criada automaticamente na região especificada no modelo.
Para mais informações, consulte o artigo Redes e sub-redes.
Se quiser que o seu grupo de instâncias gerido inclua instâncias de VM que usem o endereçamento IPv6, tem de usar a definição de pilha dupla ou apenas IPv6 quando criar o modelo de instância. Para mais informações, consulte o artigo Crie um modelo de instância com endereços IPv6.
Demonstração das capacidades da MIG
A seguinte apresentação de vídeo de 45 minutos, gravada no Google Cloud NEXT '18, contém demonstrações e práticas recomendadas para configurar, executar e atualizar implementações escaláveis e altamente disponíveis através dos MIGs do Compute Engine.
O vídeo mostra como implementar um contentor num GIG, configurar uma política de autorreparação, usar um grupo regional para se proteger contra uma falha zonal, configurar a escala automática para cumprir os objetivos de CPU e as exigências baseadas em filas, e gerir atualizações de lançamento e progressivas.
Grupos de instâncias não geridos
Os grupos de instâncias não geridos podem conter instâncias heterogéneas que pode adicionar e remover arbitrariamente do grupo. Os grupos de instâncias não geridos não oferecem redimensionamento automático, autorreparação, suporte de atualização contínua, suporte de várias zonas nem a utilização de modelos de instâncias e não são adequados para implementar cargas de trabalho altamente disponíveis e escaláveis. Use grupos de instâncias não geridos se precisar de aplicar o equilíbrio de carga a grupos de instâncias heterogéneas ou se precisar de gerir as instâncias por si. Pode adicionar até 2000 VMs a um grupo. Se quiser adicionar mais de 2000 VMs ao grupo, contacte o apoio técnico.
Se tiver de criar grupos de instâncias não geridos, consulte o artigo Grupos de instâncias não geridos.
Preços
Não existe qualquer custo adicional pela utilização de grupos de instâncias geridos ou não geridos. A cobrança é feita com base nos recursos que o seu grupo usa. Para informações de preços do Compute Engine, consulte a secção Preços.
O que se segue?
Saiba mais acerca dos modelos de instâncias ou crie um modelo de instância que pode usar para configurar as VMs num MIG.
Saiba mais sobre os cenários básicos para criar um MIG.
Saiba como atualizar os MIGs para usar uma nova configuração.
Experimente um tutorial: