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.
Spis treści w artykule
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ć”.
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.
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.
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.
Więcej informacji na temat tej promocji znajdziecie na tej stronie…
- Mały dron, duże zamieszanie, czyli seria DJI Mini i zabawa w klasy (unijne klasy dla dronów) z EASA i użytkownikami - 1970-01-01
- Opcja “restore_from_flash”, czyli sposób na zapamiętywanie ustawień w ESPHome na układach ESP8266 - 1970-01-01
- Blokowe szablony powiadomień (block notice) w WooCommerce, nawet w klasycznych motywach - 1970-01-01