Jak łatwo zauważyć patrząc choćby na baner na dole strony (troszkę nad stopką) strona działa na serwerze VPS uruchomionym w DigitalOcean, stąd to informacje na ten temat pojawiają się częściej, niż na temat „konkurencji” (choć bywają wyjątki).

Dziś będzie o kolejnej nowości – dosłownie z przed dwóch dni, a konkretnie pływających adresach IP…

DigitalOcean udostępnia pływające IP

No dobra – skoro czytacie dalej, to albo wiecie o co chodzi, i interesuje Was jak do tego podeszła ekipa z DigitalOcean, lub zastanawiacie się o co chodzi z tym, że jakieś adresy IP pływają, i czy to ma związek z oceanem w nazwie firmy… ;-)

Zacznę od tego, że określenie/nazwa „pływające IP” (floating IP) nie wzięła się od oceanu w nazwie DigitalOcean, a jest to określenie – w pewnym uproszczeniu – usługi pozwalającej dynamicznie przenosić adres IP między urządzeniami.

Prywatny, publiczny, stały, dynamiczny, a teraz jeszcze pływający

Zazwyczaj spotykamy 2 rodzaje adresów:

  • Prywatny adres IP – adres pod którym jesteśmy widoczni/dostępni w ramach sieci LAN, bez możliwości połączenia się z naszym komputerem „z zewnątrz” (przynajmniej bez NATa i dodatkowego publicznego adresu IP)
  • Publiczny adres IP – jest to adres pod którym nasze urządzenie (zazwyczaj będzie to komputer, serwer lub router) jest dostępne z zewnątrz, czyli z internetu (często spotyka się określenie sieć WAN)

Jeszcze może być stały bądź dynamiczny – czyli albo mamy adres IP przypisany do urządzenia na stałe, i zawsze to urządzenie jest pod nim dostępne (oczywiście jeśli jest włączone), albo jest nam przydzielany dynamicznie, bez gwarancji, że następnym razem będzie taki sam (usługa często realizowana przez serwery DHCP, dynamiczny i publiczny adres występuje też np. w Neostradzie).

I to chyba tyle, jeśli chodzi o „użytkowników domowych” i niezbędną teorię…

Highly Available Web Servers

W przypadku serwerów czasami jest to za mało – często potrzebujemy móc pod dany adres IP, na który np. wskazuje nasza domena (rekord A) szybko podstawić inny serwer, bez konieczności zmiany samego adresu IP. Czy to na potrzeby podstawienia innej, np. mocniejszej maszyny, czy musimy szybko podstawić zapasową maszynę, bo główna uległa awarii, a czas to pieniądz (zwłaszcza w przypadku sklepów internetowych).

Gdy mamy własną serwerownię i/lub korzystamy z własnego serwera DHCP nie jest to większym problemem – wystarczy zmienić odpowiedni zapis w tablicy NAT.

W przypadku gdy korzystamy z serwerów VPS – czy „w chmurze” (cloud) jak to się teraz nazywa – zazwyczaj każdy taki serwer ma swój publiczny adres IP, pod którym dostępne są uruchomione na nim usługi (np. serwer WWW), i na który wskazują DNSy naszych domen (stron WWW).

I nawet jeśli korzystamy z usług typu Cloudflare do zarządzania wpisami DNS dla domen, gdzie właściwie każda zmiana odbywa się w czasie rzeczywistym (dlatego Cloudflare nadaje się również na serwer DDNS), to zostają jeszcze inne usługi, które działają nie po nazwie domeny, ale bezpośrednio po adresie IP serwera (np. jakiś monitor pracy serwera).

Load Balancer

Oczywiście możemy skorzystać z tzw. Load Balancera, który automatycznie i dynamicznie dzieli nam ruch na poszczególne serwery, np. w zależności od obciążenia poszczególnych serwerów, czy ich dostępności.

Ale i taki Load Balancer może ulec awarii, lub może potrzebować prac serwisowych w trybie „offline”.

A nie będziemy chyba stawiać Load Balancera przed Load Balancerem tylko na potrzeby takiej sytuacji, zwłaszcza że ten pierwszy Load Balancer też może kiedyś potrzebować kolejnego Load Balancera przed sobą ;-)

Floating IP

I tu dochodzimy do pływających adresów IP – przydatne, niezależnie od tego czy korzystamy z rozbudowanej sieci serwerów połączonej Load Balancerem, czy mamy tylko jeden serwer VPS, który czasem przyjdzie podmienić nam na inny…

digitalocean_floating-ip_ha-diagram-animated

Pływający adres IP (floating IP address) to publiczny adres IP, który mamy do naszej dyspozycji, a który w sposób dynamiczny (i jeśli zajdzie taka potrzeba automatyczny) może być przydzielany rożnym serwerom, zależnie od potrzeb.

Wykorzystanie pływającego IP na przykładzie DigitalOcean

Załóżmy, że mamy (np. w DigitalOcean, gdzie dostępna jest ta usługa) tylko jeden serwer VPS, który nazywa się „VPS01” i jego publiczny adres IP to 192.0.0.1, na który kieruje m.in. rekord A naszej domeny internetowej (ale nie tylko).

Oczywiście mamy kopię zapasową za którą w DigitalOcean płacimy dodatkowo 10% kosztów serwera (lub korzystamy z bezpłatnych snapshotów).

I teraz – niezależnie, czy nasz główny serwer ulegnie awarii, czy potrzebujemy zwiększyć jego moc, ale zależy nam na ciągłej, nieprzerwanej dostępności uruchomionych na nim usług przygotowujemy sobie drugi serwer, bazując na kopii zapasowej działającego serwera – tak by wszystkie usługi/strony były jak najaktualniejsze.

Nazywamy nasz serwer VPS02, i ma on publiczny adres 192.0.0.2, na który teraz należałoby skierować wszystkie usługi, tak by spokojnie móc wyłączyć/przełączyć w tryb offline serwer VPS01.

I tak jak pisałem wcześniej – jeśli korzystamy np. z Cloudflare do obsługi naszej domeny, taka zmiana przebiegnie właściwie natychmiast.

Problem z usługami, gdzie zamiast domeny (może się wydawać głupie, ale czasem jest to niezbędne) użytkownicy korzystają z połączenia bezpośrednio na adres IP naszego serwera.

I w tym miejscu sprawdzi się pływający adres IP, choć oczywiście trzeba go skonfigurować z odpowiednim wyprzedzeniem tak by wszystkie usługi korzystały z niego, a nie adresu IP serwera (w naszym przykładzie chodzi o VPS01).

Konfiguracja pływającego adresu

Pływający adres IP w DigitalOcean przypisany jest do danego regionu, czyli możemy go dynamicznie przydzielać do dowolnego serwera (kropelki), w ramach tego samego rejonu (serwerowni).

Zaczynamy od uzyskania pływającego adresu IP – w tym celu po zalogowaniu się do panelu zarządzania przechodźmy do sekcji:

  • Networking > Floating IPs

Na początku nie mamy żadnego adresu tego typu:

digitalocean_floating-ip_01

Więc wybieramy serwer do którego chcemy przypisać pływający adres IP, lub – jeśli na razie nie chcemy go przypisywać do żadnego serwera – sam region i klikamy na przycisk:

Assign Floating IP

Po tej operacji dodatkowy adres pojawi się na liście – w naszym przypadku od razu przypisany do serwera VPS01 w lokalizacji AMS2:

digitalocean_floating-ip_02

Gdy dodamy adres, ale go nie przydzielimy od razu do żadnego serwera będzie to wyglądać tak:

digitalocean_floating-ip_04

Zmiana przypisanego serwera

By zmienić serwer dostępny pod tym adresem IP wystarczy kliknąć na niebieską ikonę z symbolem ołówka i wybrać serwer, na który ma wskazywać adres:

digitalocean_floating-ip_03

Sama zmiana trwa dosłownie chwile, po której wszystkie usługi powiązane z naszym pływającym IP automatycznie będą korzystać z wybranego serwera (np. VPS02).

Ten pierwszy raz

Co istotne – jeśli Wasz serwer został utworzony przed 20 października, to przed skorzystanie z usługi musicie jeszcze dokonać małej modyfikacji ustawień sieciowych w systemie.

W tym celu przejdziemy do edycji pliku „etc/network/interfaces”:

sudo nano /etc/network/interfaces

 

I w sekcji dotyczącej „eth0” dodajemy linijkę:

up ip addr add 10.14.0.5/16 dev eth0

 

Czyli całość będzie wyglądać np. tak:

iface eth0 inet static
address 95.*.*.* # <- Tu znajduje się adres IP Waszego serwera (zamaskowałem)
netmask 255.255.255.0
gateway 95.*.*.* # <- Tu znajduje się adres IP bramy Waszego serwera (zamaskowałem)
up ip addr add 10.14.0.5/16 dev eth0
dns-nameservers 8.8.8.8 8.8.4.4

 

Po tej operacji musicie jeszcze uruchomić ponownie serwer, lub skorzystać z polecenia:

sudo /etc/init.d/networking restart

 

Podany przykład dotyczy serwerów opartych na dystrybucji Debian (i Ubuntu), jeśli korzystacie z innej dystrybucji zerknijcie do tego poradnika.

Garść dodatkowych informacji

Skoro sprawy techniczne za nami, to jeszcze garść dodatkowych informacji (i opłaty, o których za chwilę) związanych z usługą:

  • Na obecnym etapie pływające adresy IP dostępne są tylko dla adresów IP4/IPv4
  • Domyślnie obowiązuje limit 3 pływających adresów na konto (można zgłosić zapotrzebowanie an więcej)
  • Ze względów na ryzyko wykorzystywania usługi do wysyłania SPAMu na pływających adresach IP nie można korzystać z serwera SMTP (serwer SMTP postawiony na VPSie, z zewnętrznych można jak najbardziej)
  • Pływający IP jest niezależny od głównego adresu samego serwera – oznacza to, że serwer cały czas dostępny jest też pod swoim głównym adresem IP, i możemy korzystać wedle potrzeb z obu

Opłaty, czyli nie korzystasz – płacisz

Na świecie ogólnie mamy spory deficyt adresów IP (IPv4), więc nie powinno dziwić, że dostawcy usług starają się walczyć z „niepotrzebnym blokowaniem adresów”, choćby poprzez monetyzację niewykorzystywanych zasobów.

Tak też jest w DigitalOcean – za usługę pływających IP (floating IP) nie zapocimy nic, tak samo jak za każdy wykorzystywany adres IP przyznany w jej ramach. Wykorzystywany, czyli taki, który wskazuje na jakiś serwer.

digitalocean_floating-ip_04

Na powyższym przykładzie nie zapłacimy niż za adres zaczynający się od „188” (AMS2), gdyż jest on przypisany do jednego z serwerów (VPS01).

Zapłacimy natomiast za adres zaczynający się od „46” (LON1), gdyż nie jest on przypisany do żadnego serwera (Unassigned).

Kosz takiego zarezerwowanego, ale nieprzypisanego adresu to 0,006$ za każdą godzinę, czyli jakieś 4,3$ miesięcznie. Z tym, że „dla zachowania prostoty w rozliczeniach” dodatkowa opłata nie będzie pobierana, jeśli w danym miesiącu kwota z tego tytułu nie przekroczy 1$, czyli jakieś 166 godzin miesięcznie możecie blokować dodatkowy adres IP bez dodatkowych konsekwencji (do czego oczywiście nie zachęcam, a wręcz przeciwnie).

Zagnij 10$ i przetestuj usługi DigitalOcean

Na koniec mała promocja dla tych z Was, którzy chcieliby przetestować usługi DigitalOcean – czy to pływające adresy IP, czy ogólnie serwery VPS – mam 10$ na dobry start.

Wystarczy, że założycie konto z tego linka. Więcej informacji na ten temat (10$ dla nowych użytkowników) znajdziecie na tej stronie…

A jeśli ciekawi Was nasz opis usługi – zapraszam tutaj… :-)

(!) 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