Laboratorium administratora systemów.
Własna infrastruktura serwerowa, którą projektuję i utrzymuję samodzielnie. Służy mi do codziennej pracy oraz do testowania rozwiązań przed wdrożeniem u klientów.
Zawodowo zajmuję się administracją systemów IT, a w ramach Supportly świadczę usługi informatyczne dla osób prywatnych i małych firm. Poniżej opisuję, jak zbudowane jest to środowisko i jakie zasady w nim stosuję.
Usługi
Ubuntu Server LTS, DockerUzupełniają je kontenery pomocnicze, łącznie piętnaście usług.
Architektura dostępu
Ruch użytkowników i dostęp administracyjny są rozdzielone. Ruch z internetu kończy się na reverse proxy, a zarządzanie serwerem odbywa się wyłącznie przez VPN.
Ruch użytkowników
- Przeglądarkadowolny użytkownik
- Zapora sieciowaotwarte wyłącznie porty 80 i 443
- Reverse proxyterminacja SSL, routing po domenie
- Usługa w kontenerzebez portów publikowanych na hoście
Dostęp administracyjny
- Stacja administratoraw prywatnej sieci VPN
- Zapora sieciowaSSH dopuszczone wyłącznie z zaufanych sieci
- SerwerSSH niedostępne z publicznego internetu
- Panele administracyjnedostępne tylko przez tunel
Stosowane praktyki
Jeden punkt wejścia
Porty na hoście publikuje wyłącznie reverse proxy. Pozostałe usługi komunikują się w wewnętrznych sieciach Dockera, dzięki czemu żadna z nich nie omija zapory.
Kontrolowane aktualizacje
Automatycznie aktualizowane są tylko usługi, które przechodzą zmianę wersji bez migracji. Bazy danych mają przypiętą wersję i są aktualizowane ręcznie, po wykonaniu kopii.
Dwa poziomy kopii zapasowych
Codzienna kopia całego serwera zabezpiecza przed awarią, a osobny zrzut bazy danych gwarantuje spójność danych przy odtwarzaniu.
Limity logów
Rotacja logów na poziomie demona Dockera ogranicza ich rozmiar. Bez niej pojedynczy kontener może z czasem zapełnić dysk.
Infrastruktura opisana w plikach
Usługi są definiowane jako stacki Docker Compose, co pozwala odtworzyć środowisko z repozytorium, a nie z pamięci administratora.
Testy przed wdrożeniem
Rozwiązania, które rekomenduję klientom, najpierw działają w tym środowisku. Ewentualne problemy wychodzą tutaj, a nie w cudzej firmie.
Najnowsze wpisy w dzienniku
Wszystkie wpisyKontrolowane aktualizacje kontenerów
Automatyczne aktualizacje ograniczone do wybranych usług. Bazy danych aktualizowane wyłącznie ręcznie, po wykonaniu kopii.
Czy backup od dostawcy wystarczy?
Zostałem przy codziennych snapshotach dostawcy, ale dołożyłem nocny zrzut bazy. Snapshot działającej bazy to nie to samo co kopia.
Porządki w środowisku Docker
Odzyskanie miejsca po pamięci podręcznej budowania oraz wprowadzenie rotacji logów kontenerów.