Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Adieu MaxMind ! Géolocalisez vos requêtes gratuitement avec Google Load Balancer

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et 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

MISE À JOUR : les en-têtes de requête personnalisés ne sont plus gratuits.

J'ai souvent besoin de géolocaliser les requêtes qui arrivent sur mon application, principalement à des fins analytiques, autrement dit pour savoir d'où viennent mes utilisateurs.

En général, il me suffit de connaître le pays, la ville, la latitude et la longitude de la requête d'origine. Pendant des années, j'ai utilisé MaxMind uniquement pour cela. MaxMind fait très bien le travail, mais la version commerciale coûte environ 1 500 $ par an, ce qui reste excessif pour des besoins aussi basiques que les miens.

Google a récemment publié en bêta la prise en charge des User-defined request headers, qui permet de géolocaliser gratuitement les requêtes passant par Google Load Balancer. Je vais vous montrer comment les configurer pour votre application.

Par souci de simplicité, je pars du principe que votre application tourne déjà sur Google Cloud et que vous routez les requêtes via Google HTTP/S Load Balancer.

Vous devez d'abord mettre à jour votre ou vos backends afin de prendre en charge les en-têtes de requête personnalisés. Mon backend s'appelle app et voici la commande utilisée :

google-cloud-load-balancer

Concrètement, je demande à Google Load Balancer d'ajouter trois en-têtes à chaque requête : X-Client-Geo-Location, X-Client-Geo-Region et X-Client-Geo-LatLong. Vous pouvez nommer vos en-têtes comme bon vous semble, à condition qu'ils ne s'appellent PAS X-User-IP et qu'ils ne commencent pas par X-Google ni par X-GFE.

Cloud bill shouldn't be a mystery

One platform for AI and Cloud optimization.

Une fois le backend mis à jour, les nouveaux en-têtes apparaissent au bout de quelques minutes sur chaque requête :

load-balancer-gcp

Félicitations — vous disposez désormais des informations de géolocalisation de toutes vos requêtes, gratuitement et de façon entièrement serverless !

Et la géolocalisation n'est pas la seule donnée que vous pouvez enrichir. Google peut également vous fournir le RTT client (round-trip transmission) en millisecondes, la version TLS, le chiffrement utilisé et le nom d'hôte !

Mise à jour — septembre 2024 :

Google a revu sa tarification pour la géolocalisation des requêtes via Google Load Balancer. Le service coûte désormais **0,75 $ par million de requêtes**, plafonné à **500 $/mois**. Pensez à consulter la documentation officielle de Google pour les derniers détails.

Envie d'autres articles ? Consultez notre blog ou suivez Vadim sur Twitter.