Fase 3 — Failover
La Fase 3 aggiunge il failover con controllo dello stato sulla zona creata nella Fase 1: un bilanciatore del carico DNS F5 XC restituisce risposte diverse per un nome in base allo stato del pool, in modo che il traffico venga instradato automaticamente verso un pool sano.
Design pianificato
Sezione intitolata “Design pianificato”Lo stack del bilanciatore del carico DNS è composto da tre risorse F5 XC e un record nella zona:
| Risorsa | Ruolo |
|---|---|
xcsh_dns_lb_health_check | Verifica ciascun membro (HTTP, HTTPS, TCP, ICMP o UDP) per determinare lo stato del pool |
xcsh_dns_lb_pool | Un insieme di membri con una modalità di bilanciamento del carico (ROUND_ROBIN, PRIORITY, …) e un riferimento al controllo dello stato |
xcsh_dns_load_balancer | Regole che selezionano un pool per richiesta, con un pool di fallback |
lb_record (in xcsh_dns_zone) | Associa un nome nella zona al bilanciatore del carico DNS |
Il modulo dns-lb esprimerà queste risorse, e il modulo della zona includerà una voce lb_record che punta
al bilanciatore del carico — in modo che un singolo terraform apply costruisca l’intero percorso di failover.
Dimostrazione pianificata
Sezione intitolata “Dimostrazione pianificata”Una volta rilasciato il modulo, la dimostrazione del failover:
- Distribuirà due pool (primario e secondario) dietro il bilanciatore del carico DNS, con un controllo dello stato.
- Risolverà il nome bilanciato e confermerà che restituisce la risposta del pool primario.
- Renderà il pool primario non sano e confermerà che la risoluzione passa al secondario — il gate di prontezza
interroga
digfino a quando la risposta non cambia. - Ripristinerà il pool primario e confermerà il failback.
Nel frattempo, proseguire con la Fase 4 — Teardown per rimuovere la zona della Fase 1.