Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Addio MaxMind! Geolocalizzare le richieste gratis con Google Load Balancer

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Apr 24, 20182 min read
Vadim Solovey

About Vadim Solovey

Founded DoiT in 2011 and have been here ever since — in every flavor of CTO, co-CEO, and now CEO. I started my career in 1999 building data centers before anyone called it "the cloud," and I've spent the two decades since trying to deliver on what the cloud was actually supposed to be. I still write code most weeks.

My personal page

gcp-load-balancer

AGGIORNAMENTO: gli header di richiesta personalizzati non sono più gratuiti;

Mi capita spesso di dover geolocalizzare le richieste in arrivo alla mia applicazione, soprattutto a fini analitici: voglio sapere da dove arrivano i miei utenti.

Di norma mi bastano paese, città, latitudine e longitudine della richiesta di origine. Per anni mi sono affidato a MaxMind proprio per questo motivo e, sebbene MaxMind sia un ottimo servizio, la versione commerciale costa circa 1.500 dollari l'anno: per le mie esigenze di base è davvero troppo.

Di recente Google ha rilasciato il supporto in beta per gli "User-defined request headers", che permettono di geolocalizzare gratuitamente le richieste che transitano per il Google Load Balancer; in questo articolo le mostro come configurarli per la sua applicazione.

Per semplicità, do per scontato che la sua applicazione giri già su Google Cloud e che il traffico sia instradato tramite Google HTTP/S Load Balancer.

Per prima cosa dovrà aggiornare il suo backend (o i suoi backend) abilitando il supporto agli header di richiesta personalizzati. Il mio backend si chiama "app" ed ecco il comando che ho usato:

google-cloud-load-balancer

In sostanza, sto chiedendo al Google Load Balancer di aggiungere a ogni richiesta tre header: "X-Client-Geo-Location", "X-Client-Geo-Region" e "X-Client-Geo-LatLong". Può dare ai suoi header il nome che preferisce, purché non sia "X-User-IP" e non inizi con "X-Google" o "X-GFE".

Cloud bill shouldn't be a mystery

One platform for AI and Cloud optimization.

Una volta aggiornato il backend, dopo qualche minuto vedrà comparire i nuovi header su ogni richiesta:

load-balancer-gcp

Congratulazioni: ha appena ottenuto le informazioni di geolocalizzazione su tutte le sue richieste, a costo zero e in modalità completamente serverless!

La geolocalizzazione, però, non è l'unico dato che può aggiungere alle richieste. Google può fornirle anche l'RTT (round-trip transmission) del client espresso in ms, oltre a versione TLS, cipher e hostname!

Aggiornamento – settembre 2024:

Google ha rivisto i prezzi per la geolocalizzazione delle richieste con Google Load Balancer. Il costo è ora di **0,75 $ ogni 1 milione di richieste**, con un tetto massimo di **500 $/mese**. Le consigliamo di consultare la documentazione ufficiale di Google per i dettagli aggiornati.

Vuole leggere altri articoli? Visiti il nostro blog oppure segua Vadim su Twitter.