Jakiś czas temu pisałem o pojawieniu się “floating IP” (wybaczcie, ale będę posługiwał się angielskim/oryginalnym określeniem, bo “zmienne/pływające IP” chyba nie do końca oddaje sens usługi) w DigitalOcean, i jest to pierwszy nasz dzisiejszy bohater.

Drugim bohaterem będzie serwis Cloudflare, o którym również pisałem już nieraz, i to w przeróżnych znaczeniach/zastosowaniach – od ochrony serwera/strony, przez szybki serwer DNS, aż po wykorzystanie Cloudflare jako usługi DynDNS/DDNS.

I w sumie w tym wpisie nie będzie nic nowego, ale chciałbym Wam pokazać na konkretnym przykładzie jak połączenie usługi typu “floating IP” w DigitalOcean z Cloudflare (ale mogą to być dowolne inne firmy/podmioty/usługi, które działają na podobnej zasadzie) pozwoliło nam dziś sprawnie i bezpiecznie przeprowadzić “dużą aktualizację” serwera na którym działa Webinsider.

Duża aktualizacja serwera

Wprawdzie większość aktualizacji serwerów przeprowadzam “na żywo” (oczywiście z wykorzystaniem odpowiednich kopii zapasowych), to są takie sytuacje, gdzie/gdy takie działanie jest albo niemożliwe, albo przynajmniej mocno ryzykowne i jest duża szansa, że podczas ich wykonywania nie uda się zachować ciągłości działania niektórych usług (np. serwer WWW).

Taka sytuacja miała miejsce dzisiaj – uznałem, że pora na serwerze na którym działa m.in. Webinsider.pl zmienić Debiana 7 Wheezy na najnowszą stabilną wersje, czyli Debian 8 Jessie.

Zazwyczaj tak duże zmiany wiążą się nie tylko ze zmianą/aktualizacją plików systemowych, ale i innych pakietów/programów. Np. webserwer Nginx, który w systemie Wheezy występuje w wersji 1.2.*, a w Jessie jest to “już” wersja 1.6.*, a z tą zmianą wiążą się też pewne konieczne zmiany w konfiguracji, choćby związane z obsługą plików PHP.

A to tylko jeden z przykładów – takich “problemów” może być więcej, i pewnie nie da się ich wszystkich wyłapać w testach “na sucho”.

Cloudflare – szybki serwer DNS

Kiedyś, by zachować ciągłość działania usług zazwyczaj robiłem tak, że czekałem na aktualną kopię zapasową (BackUp), ew. gdy sprawa była pilna, a do zaplanowanej pełnej kopii zapasowej było kilka dni korzystałem z migawki, na potrzeby wykonania której “gdzieś w godzinach nocnych, gdy większość z nas śpi” na kilka(naście) minut zatrzymywałem serwer (chyba jedyna moja bolączka z/w DigitalOcean, to to, że nie można tworzyć migawek przy działającym serwerze).

Następnie na bazie tej kopii zapasowej (lub migawki) tworzyłem lustrzany serwer, na który kierowałem tymczasowo wszystkie domeny/usługi korzystające z serwera podstawowego, na który mogłem teraz swobodnie aktualizować/modyfikować.

Oczywiście można serwer pomocniczy (utworzony z kopii zapasowej) zaktualizować, przetestować i gdy wszystko będzie działać jak należy przekierować na/do niego domeny, robiąc z niego główny serwer.

Choć osobiście najczęściej pomocniczy serwer traktuje jako tymczasowy – głównie ze względu na adres IP (niektóre usługi korzystają z adresów IP a nie domen), czy też “nazwę hosta” i adresacje w wirtualnej sieci LAN.

Operacja zmian w systemie DNS (np. zmiana rekordów A dla poszczególnych domen) jest w takich przypadkach kluczowa, i dzięki Cloudflare zazwyczaj trwa od kilkunastu sekund do kilku minut – zależy przez ile domen trzeba się “przeklikać”.

cloudflare_digitalocean_floating-ip_w-praktyce01

I to jest (kolejne) miejsce w którym świetnie sprawdza się Cloudflare – jako bardzo szybki serwer DNS.

Przy czym pisząc “szybki” nie mam (tylko) na myśli czasów reakcji na zapytania użytkowników chcących się połączyć z naszą stroną/usługa, a czas jaki jest potrzebny na wejście “w życie” zmian, które wprowadzamy w strefie DNS dla danej domeny – właściwie wszystkie zmiany są odwzorowywane natychmiast po ich wprowadzeniu/zatwierdzeniu, a więc np. zmiana serwera na który kieruje domena (rekord A) zaczyna obowiązywać zaraz po jej wprowadzeniu.

Cała operacja w punktach wygląda tak:

  • Tworzymy kopie serwera A
  • Na bazie kopii serwera A tworzymy serwer B
  • Przełączamy domeny/usługi korzystające z serwera A na serwer B
  • Aktualizujemy/modyfikujemy serwer A
  • Testujemy działanie serwera A (np. kierując na niego wybraną domenę)
  • Przełączamy z powrotem domeny/usługi z serwera B na serwer A

Floating IP w DigitalOcean

Dzięki usłudze “Floating IP” w DigitalOcean odpada konieczność zmian adresów IP dla wykorzystywanych domen – po prostu domena (np. rekord A) kieruje nie na IP samego serwera, ale na nasz zmienny/pływający adres IP, pod który w każdej chwili (i w kilak sekund) możemy podpiąć inny serwer – w moim przypadku serwer tymczasowy, utworzony z kopii/migawki głównego serwera.

digitalocean_floating-ip_w-praktyce_dodatkowy-serwer01

Nie oznacza to, że nie przyda się możliwość wprowadzania szybkich zmian w strefie DNS jakie daje np. Cloudflare – wręcz przeciwnie, przyda się choćby do testowego przełączenia wybranej domeny/usługi na zaktualizowany/zmodyfikowany serwer podstawowy.

digitalocean_floating-ip_w-praktyce01

Cała operacja w punktach wygląda tak:

  • Tworzymy kopie serwera A
  • Na bazie kopii serwera A tworzymy serwer B
  • Pod adres “floating IP” podpisany serwer B zamiast serwera A
  • Aktualizujemy/modyfikujemy serwer A
  • Testujemy działanie serwera A (np. kierując na niego wybraną domenę)
  • Pod adres “floating IP” podpisany z powrotem serwer A zamiast serwera B

Niby punktów tyle samo, to jednak pracy dużo mnie – zwłaszcza, jak na dany serwer kieruje więcej domen/usług.

Przy okazji przypominam, że cały czas możecie otrzymać 10$ na przetestowanie usług w DigitaOcean (10$ starczy nawet na 2 miesiące pracy serwera). Wystarczy, że założycie konto z tego linka.

Więcej informacji na temat tej promocji znajdziecie na tej stronie…

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk