Część 1 — Przełączyłem stronę z Raspberry Pi na VPS i z powrotem
Wstęp
Inspiracją do tego tekstu była awaria platformy szkoleniowej, o której można poczytać tutaj: Czy to u mnie nie działa, czy u nich? Krótka historia jednej awarii.
Nie chodzi o ocenianie cudzej awarii. Potraktowałem ją raczej jako przypomnienie, że backup i procedura awaryjna są coś warte dopiero wtedy, gdy faktycznie zostały sprawdzone.
Moja strona logos.net.pl działa na Raspberry Pi 4. Postanowiłem sprawdzić, czy w razie problemu mogę przełączyć ją na VPS i potem wrócić z powrotem.
Punkt wyjścia
- produkcja: Raspberry Pi 4
- backup: VPS
- frontend: Hugo
- backend: Flask
- reverse proxy: Traefik
- wejście z internetu: Cloudflare Tunnel
- problem dodatkowy: lokalny Pi-hole, który udawał problem z DNS
Cel testu
Chciałem sprawdzić:
- czy
logos.net.plmożna szybko przełączyć z RPi4 na VPS, - czy strona działa po przełączeniu,
- czy formularz kontaktowy działa,
- czy można wrócić z VPS na RPi4,
- czy taki mechanizm wystarczy do restartu malinki po aktualizacji.
Co poszło nie tak
Największym problemem nie był Cloudflare, VPS ani Traefik.
Największym problemem był mój lokalny Pi-hole, który cache’ował starą odpowiedź DNS i przez chwilę wyglądało, jakby failover nie działał.
Test failoveru
curl -I https://logos.net.pl/pl/
curl -s https://logos.net.pl/health
Po przełączeniu route w Cloudflare strona zaczęła odpowiadać z VPS-a.
Test formularza
Formularz kontaktowy również działał po przełączeniu na VPS. To było ważne, bo sama strona statyczna to za mało — backend też musi działać.
Rollback
Po teście przełączyłem logos.net.pl z powrotem na tunel RPi4. Rollback również zadziałał praktycznie od razu.
Wnioski
- Cloudflare Tunnel nadaje się do prostego ręcznego failoveru małej strony.
- Publiczny DNS może działać poprawnie, mimo że lokalny resolver pokazuje stare dane.
- Pi-hole potrafi udawać awarię.
- Warto testować nie tylko stronę, ale też backend i formularz.
Procedura awaryjna ma wartość dopiero wtedy, gdy została przećwiczona.
Przy podobnym porządkowaniu środowiska pomocne są backup i monitoring serwerów oraz techniczne sprawdzenie podstaw działania usług.
Checklista na przyszłość
dig A logos.net.pl @1.1.1.1
dig CNAME logos.net.pl @1.1.1.1
curl -I https://logos.net.pl/pl/
curl -s https://logos.net.pl/health
