Um grupo de instâncias geridas (GIG) que distribui as respetivas VMs por várias zonas numa região também é conhecido como um GIG regional. Um MIG confinado a uma única zona também é conhecido como MIG zonal.
Pode usar um GIG regional para aumentar a resiliência da sua carga de trabalho baseada em GIGs. Distribuir a sua carga de trabalho por várias zonas numa região ajuda a proteger-se de casos extremos em que todas as instâncias numa única zona falham.
Este documento contém informações conceptuais acerca dos MIGs regionais:
- Por que motivo escolher um MIG regional em vez de um MIG zonal
- Opções de configuração regional
- Diferenças de comportamento dos MIGs zonais
- Como aumentar a disponibilidade através do aprovisionamento excessivo
Para saber como criar um GIG regional, consulte o artigo Criar um GIG em várias zonas.
Por que motivo deve escolher grupos de instâncias geridos regionais?
A Google recomenda GIGs regionais em vez de GIGs zonais pelos seguintes motivos:
- Pode usar GIGs regionais para gerir até 2000 instâncias, o dobro das instâncias que pode gerir com GIGs zonais. Se precisar de mais, pode aumentar ainda mais o limite de tamanho de um MIG regional para 4000 instâncias.
- Pode usar MIGs regionais para distribuir a carga da aplicação por várias zonas, em vez de confinar a aplicação a uma única zona ou gerir vários MIGs zonais em diferentes zonas.
A utilização de várias zonas protege contra falhas zonais e cenários imprevistos em que todo um grupo de instâncias numa única zona funciona incorretamente. Se isso acontecer, a sua aplicação pode continuar a publicar tráfego a partir de instâncias em execução noutra zona na mesma região.
No caso de uma falha zonal ou se um grupo de instâncias numa zona deixar de responder, um MIG regional continua a suportar as suas instâncias da seguinte forma:
O número de instâncias que fazem parte do MIG regional nas zonas restantes continua a publicar tráfego. Não são adicionadas novas instâncias e não são redistribuídas instâncias (a menos que configure a escalabilidade automática).
Depois de a zona com falhas ser recuperada, o MIG começa a publicar novamente tráfego a partir dessa zona.
Quando criar apps robustas e escaláveis, use MIGs regionais.
Opções de configuração adicionais para MIGs regionais
A criação de um GIG regional é semelhante à criação de um GIG zonal, exceto que tem opções adicionais:
- Pode selecionar as zonas numa região para criar VMs.
- Pode escolher uma forma de distribuição alvo para determinar como distribuir instâncias pelas zonas selecionadas.
- Pode optar por desativar ou reativar a redistribuição proativa de instâncias, que tenta distribuir uniformemente as VMs do grupo pelas zonas selecionadas.
Estas opções estão descritas nas secções seguintes.
Seleção de zonas
Por predefinição, um MIG regional distribui as respetivas instâncias geridas uniformemente por três zonas. Por vários motivos, pode querer selecionar zonas específicas para a sua aplicação. Por exemplo, se precisar de GPUs para as suas instâncias, pode selecionar apenas zonas que suportem GPUs ou ter discos persistentes ou reservas existentes que só estão disponíveis em determinadas zonas.
Se quiser escolher o número de zonas ou as zonas específicas em que o grupo é apresentado, tem de o fazer quando criar o grupo pela primeira vez. Depois de escolher zonas específicas durante a criação, não pode alterar nem atualizar as zonas posteriormente.
Se quiser que o MIG use automaticamente zonas que suportam o hardware que
especifica na configuração do MIG, pode definir o formato de distribuição
alvo do MIG como BALANCED
, ANY
ou ANY_SINGLE_ZONE
e selecionar todas as
zonas numa região. O MIG verifica automaticamente a disponibilidade de recursos e agenda instâncias apenas em zonas que tenham os recursos.
Para mais informações, consulte o artigo
Forma de distribuição de destino.
Para selecionar mais de três zonas numa região, tem de especificar explicitamente as zonas individuais. Por exemplo, para selecionar todas as quatro zonas numa região, tem de fornecer explicitamente todas as quatro zonas no seu pedido. Se não o fizer, o Compute Engine seleciona três zonas por predefinição.
Para selecionar duas ou menos zonas numa região, tem de especificar explicitamente as zonas individuais. Mesmo que a região contenha apenas duas zonas, tem de especificar explicitamente as zonas no seu pedido.
A Google expande regularmente a sua infraestrutura disponibilizando hardware especializado em mais zonas. Um MIG regional verifica periodicamente a disponibilidade de hardware e começa automaticamente a agendar instâncias em zonas que suportam as máquinas necessárias. Se, por algum motivo, não quiser executar as suas instâncias em algumas zonas, não selecione essas zonas quando criar o grupo.
Para saber como criar um GIG regional e selecionar zonas, consulte o artigo Criar um GIG regional.
Forma de distribuição alvo
Por predefinição, um MIG regional distribui as respetivas instâncias geridas uniformemente pelas zonas selecionadas. No entanto, se precisar de hardware que não esteja disponível em todas as zonas ou se precisar de dar prioridade à utilização de reservas zonais, pode preferir uma distribuição diferente.
Para configurar a forma como o MIG regional distribui as respetivas instâncias pelas zonas selecionadas numa região, defina o formato de distribuição de destino do MIG. Estão disponíveis as seguintes opções:
- EVEN (predefinição): o grupo cria e elimina VMs para alcançar e manter o mesmo número de VMs nas zonas selecionadas. Numa distribuição
EVEN
, o número de VMs não difere em mais de 1 entre duas zonas. Recomendado para cargas de trabalho de publicação altamente disponíveis. - EQUILIBRADO: o grupo dá prioridade à criação de VMs em zonas onde os recursos estão disponíveis, ao mesmo tempo que distribui as VMs o mais uniformemente possível pelas zonas selecionadas para minimizar o impacto de uma falha zonal. Recomendado para o fornecimento altamente disponível ou cargas de trabalho em lote.
- ANY: o grupo escolhe zonas para criar instâncias de VM de modo a cumprir o número de VMs pedido dentro das restrições de recursos atuais e maximizar a utilização de reservas zonais não usadas. Recomendado para cargas de trabalho em lotes que não requerem alta disponibilidade.
- QUALQUER ZONA ÚNICA: o grupo cria todas as instâncias de VMs numa única zona. A zona é escolhida com base no suporte de hardware, na disponibilidade atual de recursos e quotas, e nas reservas correspondentes. Recomendado em combinação com uma política de posicionamento de instâncias compactas para cargas de trabalho que requerem uma comunicação extensiva entre VMs.
Quando cria o MIG, se definir o respetivo formato como BALANCED
, ANY
ou
ANY_SINGLE_ZONE
, não precisa de verificar manualmente que zonas suportam o
hardware que especifica na configuração do MIG. Pode selecionar todas as zonas numa região e, com a forma definida como BALANCED
, ANY
ou ANY_SINGLE_ZONE
, as verificações de GIGs regionais verificam a disponibilidade de recursos e agendam instâncias apenas em zonas que tenham os recursos.
Escolha uma opção com base nos requisitos da sua carga de trabalho e nas capacidades do GIG de que precisa. Para mais informações, consulte a tabela de comparação e os exemplos de utilização.
Para saber como configurar o formato de destino para um MIG novo ou existente, consulte o artigo Definir uma política para distribuir instâncias por zonas.
Redistribuição proativa de instâncias
Por predefinição, um MIG regional tenta manter uma distribuição uniforme de instâncias entre zonas na região para maximizar a disponibilidade da sua aplicação em caso de falha ao nível da zona.
Se eliminar ou abandonar instâncias do seu grupo, o que provoca uma distribuição desigual entre as zonas, o grupo redistribui proativamente as instâncias para restabelecer uma distribuição uniforme.
Para restabelecer uma distribuição uniforme entre zonas, o grupo elimina instâncias em zonas com mais instâncias e adiciona instâncias a zonas com menos instâncias. O grupo seleciona automaticamente as instâncias a eliminar.
Por exemplo, suponhamos que tem um MIG regional com 12 instâncias distribuídas por 3 zonas: a
, b
e c
. Se eliminar 3 instâncias geridas em c
, o grupo tenta reequilibrar para que as instâncias sejam novamente distribuídas uniformemente pelas zonas. Neste caso, o grupo elimina 2 instâncias (uma de a
e uma de b
) e cria 2 instâncias na zona c
, para que cada zona tenha 3 instâncias e seja alcançada uma distribuição uniforme. Não existe forma de determinar seletivamente que instâncias são eliminadas. O grupo perde temporariamente
capacidade enquanto as novas instâncias são iniciadas.
Para impedir a redistribuição automática das suas instâncias, pode desativar a redistribuição proativa de instâncias.
Desativar a redistribuição proativa de instâncias é útil quando precisa de:
- Eliminar ou abandonar instâncias do grupo sem afetar outras instâncias em execução. Por exemplo, pode eliminar uma instância de worker em lote após a conclusão do trabalho sem afetar outros workers.
- Proteja instâncias com cargas de trabalho com estado contra a eliminação automática indesejável devido à redistribuição proativa.
- Defina o formato de distribuição alvo do MIG como
BALANCED
ouANY_SINGLE_ZONE
Se desativar a redistribuição proativa de instâncias, um MIG não adiciona nem remove proativamente instâncias para alcançar o equilíbrio, mas continua a convergir oportunisticamente para o equilíbrio durante as operações de redimensionamento, tratando cada operação de redimensionamento como uma oportunidade para equilibrar o grupo. Por exemplo, quando reduz a escala, o grupo usa automaticamente o redimensionamento como uma oportunidade para remover instâncias de zonas maiores. Quando aumenta a escala, o grupo usa a oportunidade para adicionar instâncias a zonas mais pequenas.
Diferenças de comportamento em relação aos MIGs zonais
A principal diferença entre um MIG zonal e um MIG regional é que um MIG regional pode usar mais do que uma zona.
Uma vez que as instâncias geridas de um MIG regional são distribuídas por zonas numa região, as seguintes funcionalidades do MIG comportam-se de forma ligeiramente diferente.
Escala automática de um GIG regional
O Compute Engine oferece escala automática para GIGs, o que permite que os seus grupos adicionem automaticamente VMs (aumentem a escala) ou removam VMs (diminuam a escala) com base nos aumentos ou nas diminuições da carga.
Se ativar o dimensionamento automático para um MIG regional, a funcionalidade comporta-se da seguinte forma:
O escalador automático distribui as VMs pelas zonas da forma mais equitativa possível.
Com o formato de distribuição alvo definido como
BALANCED
, o dimensionamento automático tem conhecimento da disponibilidade de recursos em várias zonas. O escalador automático cria proativamente VMs apenas em zonas com quota e capacidade suficientes para VMs, conforme especificado na configuração do GIG.
Atualizar um MIG regional
Não pode alterar nem atualizar as zonas de um MIG regional depois de o grupo ser criado. No entanto, pode definir o formato de distribuição do destino do grupo para dar prioridade à utilização de diferentes zonas, por exemplo, se tiver recursos reservados ou precisar de hardware que não esteja disponível em todas as zonas.
Se quiser implementar um novo modelo num MIG regional, consulte o artigo Atualizar um MIG regional.
Se quiser adicionar ou remover instâncias num MIG, o processo é semelhante para MIGs regionais e zonais. Consulte o artigo Adicione e remova VMs num MIG.
Se tiver interesse em configurar discos com estado ou metadados com estado num MIG, consulte o artigo Configurar MIGs com estado.
Como aumentar a disponibilidade através do aprovisionamento excessivo
Vários eventos podem fazer com que uma ou mais instâncias fiquem indisponíveis, e pode ajudar a mitigar este problema usando vários Google Cloud serviços:
- Use um MIG regional com uma
EVEN
ou umaBALANCED
forma de distribuição de destino para distribuir a sua aplicação por várias zonas. - Use a recuperação automática baseada em aplicações para recriar instâncias com aplicações com falhas.
- Use o equilíbrio de carga para direcionar automaticamente o tráfego de utilizadores para longe de instâncias indisponíveis.
No entanto, mesmo que use estes serviços, os seus utilizadores podem continuar a ter problemas se demasiadas instâncias estiverem indisponíveis em simultâneo.
Para se preparar para o caso extremo em que uma zona falha ou um grupo inteiro de instâncias deixa de responder, a Google recomenda vivamente o aprovisionamento excessivo do seu MIG. Dependendo das necessidades da sua aplicação, o aprovisionamento excessivo do grupo impede que o sistema falhe completamente se uma zona ou um grupo de instâncias deixar de responder.
A Google faz recomendações para o aprovisionamento excessivo com a prioridade de manter a sua aplicação disponível para os utilizadores. Estas recomendações incluem o aprovisionamento e o pagamento de mais instâncias do que a sua aplicação pode precisar no dia a dia. Baseie as suas decisões de aprovisionamento excessivo nas necessidades da aplicação e nas limitações de custos.
Pode definir o tamanho do MIG quando o criar e pode adicionar ou remover instâncias depois de o criar.
Pode configurar um escalador automático para adicionar e remover automaticamente instâncias no grupo com base na carga.
Estimativa da dimensão do grupo recomendada
Recomendamos que aprovisione instâncias suficientes para que, se todas as instâncias numa zona ficarem indisponíveis, as instâncias restantes continuem a cumprir o número mínimo de instâncias de que precisa.
Use a tabela seguinte para determinar o tamanho mínimo recomendado para o seu grupo:
Número de zonas | Instâncias de VM adicionais | Total de instâncias de VM recomendado |
---|---|---|
2 | +100% | 200% |
3 | +50% | 150% |
4 | +33% | 133% |
Aprovisionar um MIG regional em três ou mais zonas
Quando cria um GIG regional numa região com, pelo menos, três zonas, a Google recomenda o aprovisionamento excessivo do seu grupo em, pelo menos, 50%. Por predefinição, um GIG regional cria instâncias em três zonas. Ter instâncias em três zonas já ajuda a preservar, pelo menos, 2/3 da sua capacidade de publicação e, se uma única zona falhar, as outras duas zonas na região podem continuar a publicar tráfego sem interrupções. Ao fazer o aprovisionamento excessivo para 150%, pode garantir que, se 1/3 da capacidade for perdida, 100% do tráfego é suportado pelas zonas restantes.
Por exemplo, se precisar de 20 instâncias no MIG em três zonas, recomendamos, no mínimo, mais 50% de instâncias. Neste caso, 50% de 20 são mais 10 instâncias, o que dá um total de 30 instâncias no grupo. Se criar um GIG regional com um tamanho de 30, o grupo distribui as suas VMs pelas três zonas, da seguinte forma:
Zona | Número de instâncias de VM |
---|---|
example-zone-1 | 10 |
example-zone-2 | 10 |
example-zone-3 | 10 |
Se uma única zona falhar, continua a ter 20 instâncias a publicar tráfego.
Aprovisionamento de um MIG regional em duas zonas
Para aprovisionar as suas instâncias em duas zonas em vez de três, a Google recomenda duplicar o número de instâncias. Por exemplo, se precisar de 20 instâncias para o seu serviço, distribuídas por duas zonas, recomendamos que configure um MIG regional com 40 instâncias, para que cada zona tenha 20 instâncias. Se uma única zona falhar, continua a ter 20 instâncias a publicar tráfego.
Zona | Número de instâncias de VM |
---|---|
example-zone-1 | 20 |
example-zone-2 | 20 |
Se o número de instâncias no seu grupo não for igualmente divisível por duas zonas, o Compute Engine divide uniformemente o grupo de VMs e coloca aleatoriamente as instâncias restantes numa das zonas.
Aprovisionar um MIG regional numa zona
Pode criar um GIG regional com apenas uma zona. Isto é semelhante à criação de um GIG zonal.
Não é recomendável criar um MIG regional de zona única, pois oferece a garantia mínima para aplicações de elevada disponibilidade. Se a zona falhar, todo o MIG fica indisponível, o que pode perturbar os seus utilizadores.
O que se segue?
- Crie um MIG regional
- Saiba como criar aplicações Web escaláveis e resilientes.
- Saiba mais sobre a recuperação de desastres na Google Cloud plataforma.