Referência de falha de computação

Esta página descreve o que acontece durante um experimento com um tipo de falha "Fail Compute" e as medidas a serem tomadas caso o Fault Injection Testing não consiga interromper o experimento.

Como funciona a falha de computação FailCompute

A falha de computação usa tags de recurso para marcar VMs e uma política de firewall com regras que têm como destino essas tags para bloquear todo o tráfego de entrada e saída. Essa configuração faz com que os recursos segmentados pareçam estar passando por uma interrupção, mas garante que eles permaneçam intactos e possam ser recuperados rapidamente.

O destino dessa falha pode ser:

O que acontece durante a execução do experimento

À medida que o experimento avança pelos estados, os recursos envolvidos passam pelas seguintes mudanças.

Recurso

PREPARING

INJECTING

REVERTING

VMs

Nenhum

Vincular tag de recurso

Desvincular tag de recurso

MIGs / RMIGs

Nenhum

Desative a recuperação automática e o escalonamento automático (se estiverem ativos).

Restaurar as configurações de recuperação automática e escalonamento automático

Tag

Crie um recurso TagValue exclusivo para o experimento.

Nenhum

Excluir TagValue

Política de firewall

Criar um recurso FirewallPolicy no nível do SISTEMA

Preencha com regras DENY e vincule a política às VPCs relevantes

Desvincular das VPCs e excluir FirewallPolicy

Recuperação manual de emergência

Em caso de falha catastrófica do back-end em que o Fault Injection Testing não consegue interromper automaticamente um experimento, é possível restaurar manualmente a conectividade com os recursos da VM removendo manualmente as tags de recursos vinculadas às VMs afetadas. A política de firewall do sistema, que tem como destino essas tags, não será mais aplicada, separando efetivamente as VMs da falha de isolamento.

Permissões necessárias

Você precisa das seguintes permissões do IAM:

  • Necessário para visualizar instâncias de VM:
    • compute.instances.get
    • compute.instances.list
  • Necessário para visualizar e remover vinculações de tags:
    • resourcemanager.tagValueBindings.list
    • resourcemanager.tagValueBindings.delete

Recuperação manual usando UI do console Google Cloud

Para fazer uma recuperação usando o console do Google Cloud :

  1. Navegue até a página Instâncias de VM no console do Google Cloud .
  2. Selecione as instâncias de VM específicas afetadas pela falha de isolamento.
  3. Na página de detalhes da instância, navegue até a seção que gerencia Tags.
  4. Identifique a vinculação de tag específica do Fault Injection Testing associada à falha de computação do Fault Injection Testing.
  5. Remova a vinculação de tag da VM.

Depois que a tag for removida, a política de firewall associada não vai mais segmentar a VM, e a conectividade será restaurada.

Recuperação manual usando a CLI gcloud

É possível remover manualmente a vinculação de tags de experimento de uma VM usando a Google Cloud CLI. Nos comandos a seguir, substitua TAG_VALUE_NAME, PROJECT_NUMBER, ZONE e VM_NAME pelos valores específicos do seu ambiente.

Primeiro, recupere o nome do valor da tag específico da experiência listando as vinculações de tag atuais da VM:

gcloud resource-manager tag bindings list --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

Use a saída do comando anterior para determinar o TAG_VALUE_NAME necessário para a etapa de exclusão:

gcloud resource-manager tag bindings delete --tag-value=TAG_VALUE_NAME --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

Depois que a tag for removida, a política de firewall associada não vai mais segmentar a VM, e a conectividade será restaurada.