HAProxy (High Avai­la­bi­li­ty Proxy) on suosittu oh­jel­mis­to, jota voidaan käyttää kään­teis­vä­li­tys­pal­ve­li­me­na ja kuor­mi­tuk­sen ta­sa­pai­not­ta­ja­na. Se on helppo asentaa Ubuntu 22.04:ään vain muu­ta­mal­la vaiheella.

Mikä on HAProxy?

HAProxy on tehokas avoimen läh­de­koo­din oh­jel­mis­to, jota voidaan käyttää kuor­mi­tuk­sen ta­sa­pai­not­ta­ja­na tai kään­tei­se­nä vä­li­tys­pal­ve­li­me­na. Sitä käytetään usein jakamaan verk­ko­lii­ken­net­tä useille pal­ve­li­mil­le ja pa­ran­ta­maan siten verk­ko­so­vel­lus­ten käy­tet­tä­vyyt­tä ja suo­ri­tus­ky­kyä. HAProxy on to­dis­te­tus­ti toimiva ratkaisu etenkin erittäin skaa­lau­tu­vis­sa ja vi­ka­sie­toi­sis­sa ark­ki­teh­tuu­reis­sa.

Korkean suo­ri­tus­ky­kyn­sä ansiosta HAProxy pystyy kä­sit­te­le­mään tuhansia pyyntöjä se­kun­nis­sa kuor­mit­ta­mat­ta jär­jes­tel­män re­surs­se­ja liikaa. Oh­jel­mis­to tukee erilaisia kuor­mi­tuk­sen ta­sa­pai­no­tus­me­ne­tel­miä, kuten round robin, least con­nec­tion ja lähde-IP:n hajautus. Se tarjoaa myös toi­min­to­ja, kuten SSL-yhteyden päät­tä­mi­sen, toi­min­ta­tar­kis­tuk­set ja sticky sessions -omi­nai­suu­den, joiden avulla da­ta­lii­ken­net­tä voidaan hallita op­ti­maa­li­ses­ti. Toinen vahvuus on kyky ohjata lii­ken­net­tä tiettyjen sääntöjen tai ot­sik­ko­tie­to­jen pe­rus­teel­la.

HAProxya käytetään monissa suurissa yri­tyk­sis­sä ja pil­vi­pal­ve­lu­ym­pä­ris­töis­sä. Mää­ri­tyk­set tehdään yk­sin­ker­tai­sen mutta joustavan mää­ri­tys­tie­dos­ton avulla, joka mah­dol­lis­taa yk­si­tyis­koh­tai­sen mu­kaut­ta­mi­sen omien tarpeiden mukaan.

Kuinka asentaa HAProxy Ubuntu 22.04:ään vaihe vaiheelta

Vaihe 1: Päivitä jär­jes­tel­mä

Ennen asen­nuk­sen aloit­ta­mis­ta sinun tulee varmistaa, että Linux-jakelusi on ajan tasalla. Näin varmistat, että kaikki paketit ovat uusimpia ja mah­dol­li­set tie­to­tur­va-aukot on korjattu. Avaa tätä varten ter­mi­naa­li ja suorita seuraavat komennot:

sudo apt update && sudo apt upgrade -y
bash

Tämä ko­men­to­sar­ja päivittää ensin pa­ket­ti­luet­te­lon, jotta se voi selvittää asen­net­tu­jen oh­jel­mis­to­jen uusimmat versiot. Sen jälkeen kaikki olemassa olevat paketit päi­vi­te­tään uusimpiin saa­ta­vil­la oleviin ver­sioi­hin. Parametri -y varmistaa, että kaikki päi­vi­tyk­set vah­vis­te­taan au­to­maat­ti­ses­ti.

Vaihe 2: Asenna HAProxy

Kun jär­jes­tel­mä on päi­vi­tet­ty, voit asentaa HAProxyn seu­raa­val­la ko­men­nol­la:

sudo apt install haproxy -y
bash

Tämä komento lataa HAProxyn Ubuntun vi­ral­li­sis­ta pa­ket­ti­läh­teis­tä ja asentaa so­vel­luk­sen. Asennus sujuu yleensä nopeasti, sillä HAProxy on kevyt ohjelma. Kun asennus on valmis, voit tarkistaa, että HAProxy on asennettu on­nis­tu­nees­ti, suo­rit­ta­mal­la seuraavan komennon:

haproxy -v
bash

Tu­lok­ses­sa pitäisi näkyä HAProxyn asennettu versio.

Kuva: Screenshot of the current HAProxy version in the terminal
After you have executed the command, the currently installed version of HAProxy will be displayed.

Vaihe 3: Aktivoi ja käynnistä HAProxy-palvelu

Asen­nuk­sen jälkeen on var­mis­tet­ta­va, että HAProxy-palvelu on käynnissä. Käynnistä ensin HAProxy jär­jes­tel­män­val­vo­ja­na seu­raa­val­la ko­men­nol­la:

sudo systemctl start haproxy
bash

Tarkista tällä ko­men­nol­la, onko palvelu käyn­nis­ty­nyt on­nis­tu­nees­ti:

sudo systemctl status haproxy
bash

Jos HAProxy on käynnissä, tuloste näyttää suun­nil­leen tältä:

Kuva: Screenshot of the current HAProxy status in the terminal
You can see from the ‘active (running)’ status in the terminal output that HAProxy is working without any problems.

Jotta HAProxy käyn­nis­tyy au­to­maat­ti­ses­ti myös jär­jes­tel­män uu­del­leen­käyn­nis­tyk­sen jälkeen, aktivoi palvelu seu­raa­vas­ti:

sudo systemctl enable haproxy
bash

Vaihe 4: Määritä HAProxy

HAProxy mää­ri­te­tään ase­tus­tie­dos­ton /etc/haproxy/haproxy.cfg kautta. Ennen muutosten tekemistä on suo­si­tel­ta­vaa luoda var­muus­ko­pio al­ku­pe­räi­ses­tä tie­dos­tos­ta:

sudo cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.backup
bash
Huomio

Ko­pioi­mal­la al­ku­pe­räi­sen tiedoston varmistat, että voit palata toimivaan tilaan milloin tahansa. Näin muutoksia voidaan tehdä pienellä riskillä.

Muokkaa al­ku­pe­räis­tä tiedostoa avaamalla se va­lit­se­mal­la­si teks­tie­di­to­ril­la, kuten nano tai Vim. Tässä esi­mer­kis­sä käytämme nanoa:

sudo nano /etc/haproxy/haproxy.cfg
bash

Yk­sin­ker­tai­nen kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­sen määritys voisi näyttää tältä:

frontend http_front
	bind *:80
	default_backend web_servers
backend web_servers
	balance roundrobin
	server web1 192.168.1.10:80 check
	server web2 192.168.1.11:80 check

Esi­mer­kis­sä esi­te­tys­sä kuor­mi­tuk­sen ta­sa­pai­not­ta­jas­sa porttiin 80 saapuva HTTP-liikenne jaetaan kahdelle taus­ta­pal­ve­li­mel­le (”web1” ja ”web2”). Kuormitus jaetaan round-robin-pe­ri­aat­teel­la siten, että pyynnöt vä­li­te­tään vuo­ro­tel­len pal­ve­li­mil­le.

Vaihe 5: Käynnistä HAProxy uudelleen ja testaa se

Kun asetuksia on muutettu, HAProxy on käyn­nis­tet­tä­vä uudelleen, jotta muutokset tulevat voimaan. Tämä tehdään seu­raa­val­la ko­men­to­ri­vi­ko­men­nol­la:

sudo systemctl restart haproxy
bash

Jos virheitä ilmenee, voit tarkistaa HAProxy-mää­ri­tys­tie­dos­ton syn­tak­si­vir­heet alla olevan komennon avulla:

haproxy -c -f /etc/haproxy/haproxy.cfg
bash

Oikea määritys vah­vis­te­taan tu­los­teel­la Configuration file is valid. Voit nyt testata, toimiiko HAProxy odo­te­tus­ti, kir­joit­ta­mal­la selaimeen pal­ve­li­me­si julkisen IP-osoitteen tai verk­ko­tun­nuk­sen.

Siirry pää­va­lik­koon