TransIP bied je de mogelijkheid je diensten geografisch te spreiden over onze availability zones. Hierdoor is het mogelijk om een redundante VPS-omgeving opzetten waarbij je bestanden en data op meer dan één VPS beschikbaar is. Stel dat een hypervisor offline zou gaan, dan hoeven je klanten daar niets van te merken.
In deze tutorial series laten wij je zien hoe je een redundante omgeving opzet voor het hosten van dynamische websites. Met de beschreven setup blijven de databases en bestanden op je VPS'en gesynchroniseerd. Daarnaast wordt gebruik gemaakt van automatische failover en loadbalancing.
Het opzetten van een redundante VPS-omgeving wordt in de volgende delen behandeld:
- Inleiding, benodigdheden, use cases
- Bestanden synchroniseren
- Je database synchroniseren (master-slave)
- Failover van je database (MaxScale en MariaDB-Monitor)
- Je database aan je applicatie koppelen met Keepalived (PHP, WordPress)
- Aanvullende tips
- Voor deze tutorialseries gaan wij ervan uit dat je bekend bent met het opzetten van een veilige VPS met een webserver en MariaDB-server en gerelateerde materie, zoals SQL-queries. Deze materie wordt verder niet behandeld in deze tutorialseries.
- Deze tutorial series behandelt vrij complexe materie. Maak daarom eerst een snapshot van je VPS'en voor je aan deze tutorialseries begint, zo heb je altijd een back-up waar je op terug kan vallen.
- De stappen in deze tutorial zijn getest met:
- Besturingssystemen: CentOS 7, AlmaLinux 9, Rocky Linux 9, Ubuntu 16.04 en 22.04
- Apache: Apache 2.4.6 (webserver) of nieuwer
- SQL: MariaDB 10.2 (op CentOS 7 en Ubuntu 16.04) en 10.6 (AlmaLinux 9, Rocky Linux 9, Ubuntu 22.04)
- De ins en outs van het beveiligen van je VPS vallen buien de scope van deze handleiding. Waar poorten moeten worden open gezet zullen wij wel aangeven welke poorten dit zijn.
Use case
Het doel van deze tutorial series is om je te laten zien hoe je redundante (web)servers opzet. De technieken voor het redundant hosten van bestanden en databases kunnen uiteraard ook voor andere doelen gebruikt worden.
De stappen in deze handleidingen zorgen voor een doorlopende synchronisatie van de bestanden en databases die je gebruikt voor het hosten van websites op je VPS: Update je een website op een server, dan wordt die automatisch ook geüpdated op andere servers.
Het hoofddoel van deze tutorials is om je bekend te maken met diverse tools die je kunt inzetten voor het opzetten van redundante webservers en SQL-servers. Het eindresultaat van de configuratie die besproken wordt in deze tutorial series is:
-
Websites/file hosting: De websites verwijzen in hun DNS-instellingen naar HA-IP Pro. Hiermee bereik je loadbalancing en failover:
- Loadbalancing: Bezoekers worden automatisch verdeeld over de twee gekoppelde VPS'en.
-
Failover: Wordt één van de webservers onbereikbaar, dan neemt de ander al het verkeer over.
-
SQL: Wij gebruiken een master-slave-setup voor de SQL-database:
- Bij een master-slave-setup voert de SQL-master alle write- (create-, drop-, etc.) SQL-queries uit naar zichzelf en naar alle gekoppelde slave VPS'en. Stel dat een bezoeker zich registreert op je website, dan worden die gegevens doorgaans vastgelegd in een write-query.
- De read-queries worden uitgevoerd op het private LAN IP-adres van de SQL-servers.
- MaxScale is een aanvullende laag die ervoor zorgt dat wanneer de master onbereikbaar wordt, automatisch een van de gekoppelde slaves de nieuwe master wordt.
- Wij zetten een virtueel IP-adres in om te zorgen dat write-queries altijd naar de huidige master worden gestuurd.
VPS-monitoring
Gaat er in je redundante setup een VPS offline, dan wil je daar natuurlijk bovenop zitten. Stel dan ook altijd monitoring voor je VPS'en in. Je ontvangt dan automatisch een e-mail als een van je VPS'en onbereikbaar wordt.
Wat heb ik nodig om een redundante VPS-omgeving op te zetten?
Voor het opzetten van een redundante VPS-omgeving zoals in deze tutorial series, heb je minimaal twee VPS'en in iedere availability-zone nodig. In iedere availability zone heb je één VPS die dienst doet als webserver en één VPS die dienst doet als database (SQL) server. Voor een dergelijke redundante setup komt dit neer op de volgende producten:
-
Vier VPS'en: Twee in de ene availability-zone (Amsterdam), en twee in een andere (Delft). Richt twee VPS'en in als identieke webservers (i.e. dezelfde software, de websites zelf upload je pas na het doorlopen van deze tutorials) en twee als identieke SQL-servers met MariaDB 10.2 of nieuwer.
Je kunt bijvoorbeeld een webserver en SQL-server volledig inrichten in Amsterdam en daarna klonen naar twee nieuwe VPS'en in Delft. Alternatief kun je tijdens het bestellen van de VPS'en een availability-zone kiezen en ze allemaal geheel vanaf nul inrichten.
-
HA-IP Pro: HA-IP Pro is een out-of-the-box loadbalancer met automatische failover. HA-IP Pro zetten wij in deze tutorial series in om inkomend verkeer gelijkmatig over de twee webservers te verdelen.
- Private network: Voor een optimale werking van je redundante setup, wil je alle bestanden tussen je VPS'en laten synchroniseren. Met een private network zal de synchronisatie tussen beide VPS'en niet bijdragen aan het dataverkeer van je traffic pool. Daarnaast is het wenselijk je webservers via een private network te laten communiceren met de SQL-servers en deze publiekelijk ontoegankelijk te maken (meer daarover in een later deel).
Optioneel:
- Big Storage: Sla je grote hoeveelheden data op, dan raden wij aan Big Storage erbij te gebruiken (één in de ene availability-zone, en één in de andere). Met Big Storage voeg je maximaal 400TB opslag toe aan een VPS.
HA-IP Pro-configuratie
Wil je deze tutorial series één op één volgen, dan heb je de onderstaande instellingen in HA-IP Pro nodig.
VPS'en koppelen
Koppel enkel je webservers aan HA-IP Pro (niet je SQL-servers).
Load balancing
De keuze van een loadbalancing-methode is een persoonlijke en je bent hier helemaal vrij in. Voor een evenredige verdeling over de VPS'en gebruiken wij Round Robin.
TCP-poortinstellingen
Er zijn twee soorten verkeer die je moet doorsturen in HA-IP Pro: HTTP- en HTTPS-,verkeer. Stel je HA-IP Pro hiervoor in zoals in het screenshot hieronder. Voor meer informatie over HA-IP pro, zie ons artikel over HA-IP Pro.
Bekijk ons artikel 'Wat is HA-IP Pro' voor meer informatie over het instellen van de Health check.
DNS-instellingen
Verwijs in de DNS-instellingen van het domein dat je gebruikt voor deze tutorials het A-record en AAAA-record naar respectievelijk je IPv4- en IPv6-adres van HA-IP Pro.
Daarmee zijn wij aan het eind van het inleidende deel van een redundante VPS-omgeving opzetten gekomen. Zorg voor je verder gaat dat je de volgende configuratie klaar hebt:
- Twee identieke webservers met een Apache- of Nginx-server, met een SFTP / FTPS server.
- De webservers zijn gekoppeld aan HA-IP Pro.
- Twee identieke VPS'en met MariaDB 10.2+
- Alle vier de VPS'en zijn gekoppeld aan je private network.
- Minimaal één domein dat in de DNS is gekoppeld aan HA-IP Pro.
Klik vervolgens hier om verder te gaan met deel twee: je websites synchroniseren.
Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' aan de onderzijde van deze pagina.