Come caricare il sito di bilanciamento tra GCP e AWS utilizzando Cloudflare?

Scopri come utilizzare Cloudflare Load Balancer (LB) per distribuire il traffico tra AWS (Amazon Web Services) e GCP (Google Cloud Platform).

La maggior parte delle applicazioni Web richiede o effettua un bilanciamento del carico tra server/servizi nello stesso data center.

Tuttavia, se stai eseguendo applicazioni mission-critical in cui il tempo di attività è sempre necessario in tutto il mondo, allora hai bisogno di un sistema di bilanciamento del carico cloud.

Non solo il tempo di attività, ma potrebbero essere molti altri fattori.

Ex:

  • Requisiti del data center attivo-passivo o attivo-attivo
  • Piano di ripristino di emergenza
  • Sfruttare più data center per soddisfare le richieste dalla posizione più vicina
  • Conformità

Cloudflare offre opzioni di bilanciamento del carico locali e globali, che aiutano a instradare il traffico verso più data center.

Alcune delle funzionalità di Cloudflare LB sono:

  • I controlli di integrità sono integrati, quindi puoi eliminare rapidamente un server difettoso.
  • Attiva il failover quando il controllo dello stato ha esito negativo
  • Riduci la latenza instradando il traffico al server più vicino
  • Livello DNS e supporto HTTP(S), TCP e UDP
  • Persistenza della sessione per garantire che la richiesta vada allo stesso server

Puoi configurare intere cose tramite la dashboard o l’API di Cloudflare.

Tecnicamente, le istruzioni seguenti si applicano al bilanciamento del carico su qualsiasi piattaforma cloud come Azure, Oceano DigitaleAlibaba, ecc. Ma ho scelto GCP e AWS per la dimostrazione.

Dettagli sulla configurazione di AWS e GCP

Ho eseguito il provisioning di un server nella piattaforma GCP e AWS con quanto segue.

  • Installato Nginx
  • Aggiunto index.html con testo personalizzato per mostrare che la pagina viene servita dal rispettivo server
  • Avviato Nginx e la pagina è accessibile da entrambi i server

Passiamo a Cloudflare per implementare LB.

Attivazione del bilanciamento del carico di Cloudflare

Ho un dominio disponibile (bloggerflare.com), che userò per questo lab.

Nota: il servizio di bilanciamento del carico di Cloudflare non è GRATUITO e prezzo parte da $ 5 al mese.

Presumo che tu abbia già un account con Cloudflare; in caso contrario, puoi creare e aggiungere il dominio, come ho spiegato nel mio post precedente.

  • Accedi a Cloudflare e seleziona il dominio in cui desideri abilitare il bilanciamento
  • Vai alla scheda del traffico e abilita il bilanciamento del carico.

  • Configura le funzionalità in base al requisito. Sto procedendo con una configurazione minima.

Se desideri che le richieste vengano reindirizzate alla posizione più vicina, devi abilitare Geo Routing.

  • Conferma l’abbonamento e abilitalo.

Come puoi vedere, puoi iniziare da $ 5 al mese con due server di origine e un intervallo di controllo dello stato di un minuto.

Le infrastrutture sono così convenienti ora. 5 anni fa, puoi immaginare un bilanciatore di carico cloud per $ 5?

Ciò indica che Cloudflare LB è attivato e pronto per essere configurato.

Creazione di Cloudflare LB

Ci vorranno alcuni secondi per confermare l’abbonamento e tornare alla pagina Traffico.

  • Fare clic su Crea bilanciatore di carico

  • Immettere il dominio in cui si desidera impostare il bilanciamento.
  • Espandi Affinità di sessione e seleziona By Cloudflare Cookie se devi abilitare la persistenza della sessione

  • Inserisci il nome di un pool ed è l’origine (server a cui reindirizzare il traffico)

  • Successivamente, puoi configurare un controllo dello stato.

Un controllo sanitario è essenziale. Cloudflare smetterà di inviare traffico all’origine difettosa quando un controllo dello stato ha esito negativo.

  • Se la tua origine è in ascolto sulla porta 80, puoi selezionare HTTP o https per la porta 443.

Cloudflare ti consente anche di configurare impostazioni avanzate di controllo dello stato come:

  • Metodo GET o HEAD
  • Codice di stato HTTP previsto
  • Convalida del contenuto nel corpo della risposta
  • Numero di tentativi prima di essere considerati sani o non salutari
  • Convalida del nome dell’intestazione

Infine, salva la configurazione e distribuiscila

  • LB eseguirà un controllo dello stato e in pochi secondi vedrai che lo stato è integro.

Ottimo, questo conclude Cloudflare load balancer è pronto per accettare il traffico dal mondo e inoltrarlo ai server di origine configurati.

Test del bilanciamento del carico

Eseguiamo un test di base per vedere se funziona.

  • Per prima cosa, prova ad accedere al dominio.

Stupendo!

LB ha inoltrato una richiesta a Google Cloud VM e ha ottenuto la risposta. Posso vedere la richiesta in Nginx.

162.158.167.174 - - [19/Dec/2017:10:25:41 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
  • Fammi chiudere Nginx su GCP e accedere nuovamente alla pagina.

  • Ed ecco qua. Una pagina richiesta viene servita da AWS.

Vedo che LB ha eliminato il membro del pool GCP.

Per impostazione predefinita, l’IP di Cloudflare verrà mostrato nei registri di accesso di Nginx e, se è necessario ripristinare l’IP del client, è possibile consultare questa guida.

Conclusione

L’implementazione di un servizio di bilanciamento del carico Cloudflare è semplice e può essere avviata in meno di 15 minuti. Se stai cercando un’elevata disponibilità tra più data center o server di origine, provalo per vedere come funziona.

Ti è piaciuto leggere l’articolo? Che ne dici di condividere con il mondo?