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.pl moż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