Para testar se o grupo de instâncias gerenciadas (MIG, na sigla em inglês) regional está superprovisionado o suficiente e pode resistir a uma interrupção de zona, use o exemplo a seguir para simular uma falha de zona.
Antes de começar
- Para usar os exemplos de linha de comando deste guia, instale a Google Cloud CLI.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Usar um script para simular uma interrupção de zona
Neste script, o Apache é interrompido e iniciado como o cenário padrão. Caso isso não se aplique ao aplicativo, substitua os comandos que interrompem e iniciam o Apache pelo seu próprio cenário de falha e recuperação.
Implante e execute esse script continuamente em todas as VMs do grupo. Para fazer isso, adicione o script ao modelo da instância ou inclua esse script a uma imagem personalizada e use essa imagem no modelo.
Simule uma falha de zona definindo estes dois campos de metadados do projeto:
failed_zone
: define a zona em que simular a falha (limite a falha a apenas uma zona);failed_instance_names
: escolha as VMs que ficarão off-line por nome (para limitar a falha apenas a nomes de VM que contenham essa string).
É possível definir esses metadados usando a CLI gcloud. Por exemplo, o comando a seguir define a interrupção da zona como a zona
europe-west1-b
e afeta as VMs que têm nomes que começam combase-instance-name
:gcloud compute project-info add-metadata --metadata failed_zone='europe-west1-b',failed_instance_names='base-instance-name-'
Depois de simular a falha, execute a recuperação removendo as chaves de metadados:
gcloud compute project-info remove-metadata --keys failed_zone,failed_instance_names
Aqui estão algumas ideias de cenários de falha que podem ser executados com esse script:
- Interrompa seu aplicativo completamente para ver como o MIG responde.
- Faça com que suas VMs retornem como "não íntegras" nas verificações de integridade de balanceamento de carga.
- Modifique o iptables para bloquear parte do tráfego de e para a VM.
- Encerre as VMs. Por padrão, ele será recriado pelo MIG regional logo após, mas a nova encarnação será encerrada imediatamente assim que o script for executado e enquanto os valores de metadados forem definidos. Isso acarreta um loop de falha.
A seguir
- Aprenda a criar aplicativos da web escaláveis e resilientes.
- Saiba mais sobre recuperação de desastres no Google Cloud Platform.