Fase 5: Recovery

O Recovery desfaz as duas falhas na ordem inversa: primeiro o FIS, depois as regras de iptables da Fase 3b.

Parar o FIS (ou aguardar o auto-revert - o template tem duração de 1h):

aws fis stop-experiment --id ${EXPERIMENT_ID} --region sa-east-1

Remover as regras de iptables nos dois nodes de uma vez (par simétrico do bloqueio da Fase 3b, mesma variável EKS_EP_IPS, loop rodando no node):

for node in 192.168.3.51 192.168.3.52; do
  ssh -i ~/.ssh/id_ecdsa lopbruno@$node "for ip in $EKS_EP_IPS; do sudo iptables -D OUTPUT -d \$ip -j DROP; done"
done
Alternativa: logar em cada node e remover por dentro

Logue no node:

ssh -i ~/.ssh/id_ecdsa lopbruno@192.168.3.51

Já no node, remover as regras - um comando para cada IP do resolve (repita no .52):

sudo iptables -D OUTPUT -d <IP-DO-ENDPOINT> -j DROP

Conferir que não sobrou regra (deve retornar 0 nos dois nodes):

for node in 192.168.3.51 192.168.3.52; do
  echo -n "$node DROPs: "
  ssh -i ~/.ssh/id_ecdsa lopbruno@$node "sudo iptables -L OUTPUT -n | grep -c DROP"
done

O client-cloud-to-hybrid volta a 200 sozinho (auto-heal), os nodes voltam Ready em ~10-30s, os pods Pending são agendados. Zero intervenção manual.

kubectl get nodes -l eks.amazonaws.com/compute-type=hybrid
kubectl scale deploy server-hybrid-1 -n demo-resilience --replicas=2