Configurare un Proxy HA Cloudstack

Da It Ikoula wiki.
Jump to navigation Jump to search

it:Configurare un Proxy HA Cloudstack he:הגדר פרוקסי HA-Cloudstack ro:Configuraţi un Proxy HA pe Cloudstack ru:Настроить прокси на Cloudstack pl:Konfigurowanie serwera Proxy HA w Cloudstack ja:Cloudstack で HA プロキシを構成します。 ar:تكوين وكيل هكتار في كلودستاك zh:配置一个代理医管局对 Cloudstack de:Konfigurieren Sie einen Proxy HA auf Cloudstack nl:Configureer een Proxy HA op Cloudstack pt:Configurar um Proxy HA em Cloudstack es:Configurar a un Proxy HA de Cloudstack en:Configure a Proxy HA on Cloudstack fr:Configurer un HA Proxy sur Cloudstack

Il presente articolo è stato tradotto tramite un software di traduzione automatica. È possibile visualizzare l'origine articolo qui.

Introduzione

Si desidera configurare un HaProxy sulla piattaforma Cloudstack. Questo articolo spiega l'approccio attraverso una configurazione di esempio.

Implementazione

Ecco la procedura da seguire per implementare un HA Proxy in un'istanza di Debian 8 "Jessie " sotto Clo dstack.
Nota :Questo approccio si applica anche nell'ambito di una prestazione dedicato .

Creare la nuova istanza HAProxy

Trovere e le procedure per la creazione di un instance Clo dstack it dire ta-routing il fr:Deploiement d'une instance en zone direct-routing e in anticipo di routing il fr:Deploiement d'une instance en zone advanced-routing

Configurare la nuova istanza HAProxy

Ora è iniziato il nostro VM

InfoVM.png

Ci si può collegare dalla console integrata o ssh

ConnectVM.png

Prerequisiti

Uno del prerequisito essenziale è quello di preservare il suo sistema più aggiornate possibile.

 apt-get update
 apt-get upgrade 

Mantenere il sistema Debian aggiornato, assicurarsi che avete una lista dei repository ufficiali. È possibile trovare un elenco delle disponibili presso Ikoula repository e le istruzioni di installazione a questo indirizzo.

Avviso : Prima di apportare modifiche al sistema sono ancora progettando un backup i file in caso di uso improprio.
Su un Server produzione, credo che eseguire queste operazioni durante gli orari per ridurre al minimo l'impatto delle vostre azioni.

Per l'installazione della nostra istanza di Loadbalancing sotto Cloudstack abbiamo bisogno servizio HA Proxy.

HA Configurazione Proxy

Per installare Proxy HA versione 1.5, eseguire il seguente comando nel terminale
 apt-get install haproxy 
Se volete l'ultima versione di Proxy HA versione 1.6, eseguire i seguenti comandi
# Ajout du repo
echo deb http://httpredir.debian.org/debian jessie-backports main | tee /etc/apt/sources.list.d/backports.list
apt-get install debian-keyring
# Recuperation de la cle gpg
gpg --keyring /usr/share/keyrings/debian-keyring.gpg --export bernat@debian.org |  apt-key add -
# Mise a jour des depots
apt-get update
# Installation de haproxy
apt-get install haproxy -t jessie-backports-1.6

HA l'attivazione Proxy

HA Proxy è ora installato, abbiamo ora attivarlo modificando il valore ENABLED =0 di ENABLED =1 in entrambi i file /etc/default/haproxy et /etc/init.d/haproxy
# activation de HA Proxy dans /etc/default/haproxy
sed -i "s/ENABLED=0/ENABLED=1/g" /etc/default/haproxy
# activation de HA Proxy dans /etc/init.d/haproxy
sed -i "s/ENABLED=0/ENABLED=1/g" /etc/init.d/haproxy

HA Configurazione Proxy

HA Configurazione Proxy viene eseguita nel file /etc/haproxy/haproxy.cfg .

Ecco un esempio della configurazione d 'HAProxy
global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        user haproxy
        group haproxy
        daemon
 
defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        contimeout 5000
        clitimeout 50000
        srvtimeout 50000
        errorfile 400 /etc/haproxy/errors/400.http
        errorfile 403 /etc/haproxy/errors/403.http
        errorfile 408 /etc/haproxy/errors/408.http
        errorfile 500 /etc/haproxy/errors/500.http
        errorfile 502 /etc/haproxy/errors/502.http
        errorfile 503 /etc/haproxy/errors/503.http
        errorfile 504 /etc/haproxy/errors/504.http
 
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        balance roundrobin
 

        option httpclose
        option forwardfor
 

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check
 

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth ikoula:ikoula
        stats uri  /stats

L'indirizzo ip xxx.xxx. xxx.xxx è l'indirizzo ip del nostro Server bilanciamento del carico, gli indirizzi yyy.yyy.yyy.yyy e zzz.zzz.zzz.zzz sono nostri Servers Web dietro il LoadBalancer .

listen cluster_web L'indirizzo e la porta su cui il servizio HA Proxy sarà necessario attendere le connessioni.
mode La modalità di svolgimento, nel nostro esempio http per il web
balance L'algoritmo utilizzato per la distribuzione del carico, nel nostro esempio RoundRobin
I valori disponibili sono : RoundRobin, origine, almeno connessione, prima risposta
server Dichiarazione dei vari server dietro nostro LoadBalancer , nel nostro esempio web1 et web2.
stats Per configurare l'accesso alla pagina statistiche del LoadBalancer
Nel nostro esempio, la pagina sarà accessibile su xxx.xxx. xxx.xxx /Statistiche con ikoula/ikoula come login e password

HA Proxy avvia

Ora possiamo avviare HA Proxy
 service haproxy start 

ou

 etc/init.d/haproxy start 
Farci il nostro ip xxx.xxx. xxx.xxx /Statistiche e utilizzando il nostro login e password arriviamo nella pagina Amministrazione HA Proxy.

HAProxyStats.png

Ora possiamo collegare al nostro Servers in SSH digitando
# Serveur web1
ssh root@yyy.yyy.yyy.yyy
# Serveur web2
ssh root@zzz.zzz.zzz.zzz

Configurare il ServerWeb s

Se il Servers non hanno ancora servizio web viene installato un, ad esempio
 apt-get install apache2 php5 
Una volta installati i servizi web, o se il Server aveva già un web 1 e web 2 appaiono in verde nella pagina statistiche

HAProxyStat2.png

Se si tenta di accedere alla Server utilizzando l'indirizzo xxx.xxx.xxx cadi sulla pagina di prova la Server web1 o web 2 Secondo la ripartizione fatta

HAProxSite.png

Configurare la persistenza

La persistenza di origine IP

Al fine di configurare persistenza di IP di origine semplicemente cambiare la modalità di oscillazione nel file di configurazione di Proxy HA aggiungendo opzioni Appiccicoso .

Abilitare la persistenza di IP di origine attraverso un bastone-tabella , ecco l'esempio con la nostra configurazione
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

       # Modifier le mode de balancement
       balance source
       hash-type consistent

       # Ajouter une stick-table afin de garder en mémoire les IP
       stick-table type ip size 1m expire 1h
       stick on src

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

Nell'esempio di cui sopra permette di implementare una persistenza di bilanciamento del carico Basato su IP dell'utente. Questa persistenza è assicurata attraverso un bastone-tabella chi si ricorda l'IPS che hanno contattato il Server.
Questo stick-table ha una dimensione di 1MB e scade ogni ora. Quando un utente è connesso a un Server Resta su questo stesso Server fino alla scadenza della tabella o in caso di errore di Server.

Nota : La memoria necessaria per il stick-table è relativamente bassa, nella gamma di 25.000 indirizzi per 1MB. Entrambi 40MB per 1.000.000 di indirizzi IP.

Dalla persistenza di Cookie

Un altro metodo per garantire la persistenza dell'oscillazione consiste nell'utilizzare un cookie. Un cookie è un piccolo file salvato sul computer dell'utente al fine di memorizzare le informazioni di Server.

Metodo di cookie-inserto

Il primo esempio è la creazione di un cookie aggiuntivo specificamente progettato per HA Proxy.

Modificare il file di configurazione Proxy HA e aggiungere le righe seguenti alla nostra configurazione
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        # Modifier le mode de balancement
        balance roundrobin

        # option du cookie
        cookie SRVNAME insert indirect nocache

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 cookie WeB1 check
        server web2 zzz.zzz.zzz.zzz:80 cookie WeB2 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

Nell'esempio di cui sopra permette di implementare le nostre sessioni attraverso una persistenza di biscotto dedicato. Quando si collega il bilanciatore di carico - reindirizza il client a uno dei due Servers e aggiungere un cookie chiamato SRVNAME con il valore WeB1 ou WeB2 in seguito la distribuzione effettuata.
L'opzione indiretta impedisce la generazione di un cookie se un altro cookie valido è già presente per il visitatore e NoCache impedisce la memorizzazione nella cache del cookie tra il visitatore e il bilanciatore di carico - .
HACookieInsert.png

Metodo cookie-prefisso

Il secondo esempio è il pre-fixage di un cookie preesistente, questo metodo può essere utile se si desidera persistenza solo su alcuni biscotti o che non si desidera creare un cookie dedicato a HA Proxy.

Modificare il file di configurazione Proxy HA e aggiungere le righe seguenti alla nostra configurazione
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        # Modifier le mode de balancement
        balance roundrobin

        # option du cookie
        cookie PHPSESSID prefix indirect nocache

        option httpclose
        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 cookie WeB1 check
        server web2 zzz.zzz.zzz.zzz:80 cookie WeB2 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

Nell'esempio precedente consente di impostare la persistenza delle nostre sessioni tramite un prefisso di un cookie esistente. Quando si collega il bilanciatore di carico - reindirizza il client a uno dei due Servers e aggiungere un prefisso al cookie denominato PHPSESSID con il valore WeB1 ou WeB2 in seguito la distribuzione effettuata.
L'opzione indirect impedisce la generazione di un cookie se un altro cookie valido è già presente per il visitatore e nocache impedisce la memorizzazione nella cache del cookie tra il visitatore e il bilanciatore di carico - .
HACookiePrefix.png

Configurare il Keep-Alive

A seconda della configurazione potrebbe essere necessario attivare la KeepAlive .
Il KeepAlive permette la bilanciatore di carico - per riutilizzare la connessione esistente tra la Server e l'utente, anziché avviare una nuova connessione per ogni richiesta.

Modificare il file di configurazione Proxy HA e aggiungere le righe seguenti alla nostra configurazione
listen cluster_web xxx.xxx.xxx.xxx:80

        mode http

        balance roundrobin

        # Modifier la directive de fermeture
        option http-server-close
        # Ajouter un delai de 3000 secondes avant fermeture
        timeout http-keep-alive 3000

        option forwardfor

        server web1 yyy.yyy.yyy.yyy:80 check
        server web2 zzz.zzz.zzz.zzz:80 check

        stats enable
        stats hide-version
        stats refresh 30s
        stats show-node
        stats auth utilisateur:motdepasse
        stats uri  /stats

Implementare la gestione della SSL

Può essere utile impostare il redirect SSL la gestione del sito, ad esempio nel caso di un sito che disponga di spazio sicuro.
Al fine di implementare il reindirizzamento HTTP -> HTTPS sul suo HA Proxy la documentazione è disponibile: fr: Mettre en place une redirection SSL HA Proxy



Non si dispone dei permessi necessari per inviare commenti.