Équilibreur de charge externe régional L7 Northbound Looker PSC

1. Introduction

Dans cet atelier de programmation, vous allez créer un équilibreur de charge d'application régional de couche 7 et un backend Private Service Connect pour accéder à Looker en direction nord. L'accès ascendant à Looker nécessite que le VPC du consommateur soit ajouté à la liste d'autorisation de l'instance Looker PSC.

Private Service Connect est une fonctionnalité de mise en réseau de Google Cloud qui permet aux clients d'accéder à des services gérés en mode privé depuis leur réseau VPC. De même, il permet aux producteurs de services gérés d'héberger ces services dans leurs propres réseaux VPC séparés et de proposer une connexion privée à leurs clients. Par exemple, lorsque vous utilisez Private Service Connect pour accéder à Looker, vous êtes le client du service et Google est le producteur de services, comme indiqué dans la figure 1.

Figure 1.

145ea4672c3a3b14.png

L'accès sortant, également appelé PSC inversé, permet au consommateur de créer un service publié en tant que producteur pour autoriser Looker à accéder aux points de terminaison sur site, dans un VPC, aux services gérés et à Internet. Les connexions vers le sud peuvent être déployées dans n'importe quelle région, indépendamment de l'emplacement de déploiement de Looker PSC, comme indiqué sur la figure 2.

Figure 2.

259493afd914f68b.png

Points abordés

  • Configuration réseau requise
  • Mettre à jour la liste d'autorisation Looker pour l'accès Northbound
  • Créer un backend Private Service Connect dans le VPC consommateur
  • Certificats Google et certificats autosignés

Prérequis

def88091b42bfe4d.png

2. Ce que vous allez faire

Vous allez établir un réseau consommateur autorisé, looker-psc-demo, pour déployer un équilibreur de charge d'application externe de couche 7 régional et un NEG de backend PSC qui nécessite un certificat Google ou auto-signé. Dans les deux cas, vous devez disposer d'un domaine enregistré qui correspond au domaine personnalisé défini dans Looker.

3. Configuration réseau requise

Voici la répartition des exigences réseau :

Composants

Description

VPC (looker-psc-demo)

VPC en mode personnalisé

Sous-réseau PSC NEG

Permet d'allouer une adresse IP au groupe de points de terminaison du réseau

Sous-réseau proxy réservé

Une adresse IP interne est attribuée à chacun des proxys de l'équilibreur de charge. Les paquets envoyés à partir d'un proxy vers une VM ou un point de terminaison de backend possèdent une adresse IP source provenant du sous-réseau proxy réservé.

Service de backend

Un service de backend sert de pont entre votre équilibreur de charge et vos ressources de backend. Dans le tutoriel, le service de backend est associé au NEG PSC.

4. Topologie de l'atelier de programmation

7f06f9b9876f76c4.png

5. Préparation

Configuration de l'environnement au rythme de chacun

  1. Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. Si vous n'avez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères non utilisée par les API Google. Vous pourrez toujours le modifier.
  • L'ID du projet est unique parmi tous les projets Google Cloud et non modifiable une fois défini. La console Cloud génère automatiquement une chaîne unique (en général, vous n'y accordez d'importance particulière). Dans la plupart des ateliers de programmation, vous devrez indiquer l'ID de votre projet (généralement identifié par PROJECT_ID). Si l'ID généré ne vous convient pas, vous pouvez en générer un autre de manière aléatoire. Vous pouvez également en spécifier un et voir s'il est disponible. Après cette étape, l'ID n'est plus modifiable et restera donc le même pour toute la durée du projet.
  • Pour information, il existe une troisième valeur (le numéro de projet) que certaines API utilisent. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
  1. Vous devez ensuite activer la facturation dans la console Cloud pour utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour désactiver les ressources et éviter ainsi que des frais ne vous soient facturés après ce tutoriel, vous pouvez supprimer le projet ou les ressources que vous avez créées. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai sans frais pour bénéficier d'un crédit de 300 $.

Démarrer Cloud Shell

Bien que Google Cloud puisse être utilisé à distance depuis votre ordinateur portable, nous allons nous servir de Google Cloud Shell pour cet atelier de programmation, un environnement de ligne de commande exécuté dans le cloud.

Dans la console Google Cloud, cliquez sur l'icône Cloud Shell dans la barre d'outils supérieure :

55efc1aaa7a4d3ad.png

Le provisionnement et la connexion à l'environnement prennent quelques instants seulement. Une fois l'opération terminée, le résultat devrait ressembler à ceci :

7ffe5cbb04455448.png

Cette machine virtuelle contient tous les outils de développement nécessaires. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud, ce qui améliore nettement les performances du réseau et l'authentification. Vous pouvez effectuer toutes les tâches de cet atelier de programmation dans un navigateur. Vous n'avez rien à installer.

6. Avant de commencer

Activer les API

Dans Cloud Shell, assurez-vous que l'ID de votre projet est configuré :

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

Activez tous les services nécessaires :

gcloud services enable compute.googleapis.com

7. Réseau de consommateurs

Dans la section suivante, vous allez créer le réseau consommateur qui sera mis à jour dans la liste d'autorisation VPC PSC Looker.

Réseau VPC

Dans Cloud Shell, procédez comme suit :

gcloud compute networks create looker-psc-demo --subnet-mode custom

Créer des sous-réseaux

Dans Cloud Shell, créez le sous-réseau du groupe de points de terminaison du réseau du consommateur :

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

Dans Cloud Shell, créez le sous-réseau proxy régional réservé du producteur :

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

Réserver l'adresse IP de l'équilibreur de charge

Dans Cloud Shell, réservez une adresse IP externe pour l'équilibreur de charge :

gcloud compute addresses create regional-alb-static-ip  \
   --region=$region \
   --network-tier=STANDARD

Dans Cloud Shell, affichez l'adresse IP réservée :

gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:

Exemple de résultat :

user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address: 
address: 35.208.202.244

8. Créer un domaine personnalisé

Voici les étapes à suivre pour établir un domaine personnalisé :

Exemple de domaine personnalisé

Le domaine personnalisé looker.cosmopup.com existe en tant que sous-domaine DNS public associé à un enregistrement A des adresses IP statiques (regional-alb-static-ip) définies précédemment. Capture d'écran d'un terminal validant la recherche DNS.

6be44a9b2536e3f4.png

Créez ensuite le domaine client à l'aide du sous-domaine looker.cosmopup.com.

5424ce99136d5b3a.png

Exemple OAuth

Vous trouverez ci-dessous un exemple d'identifiants OAuth pour les origines autorisées et le rappel du sous-domaine looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. Certificats

Vous pouvez créer des certificats Compute Engine ou via le gestionnaire de certificats. Utilisez l'une des méthodes suivantes pour créer des certificats à l'aide du gestionnaire de certificats :

10. Ajouter Looker à la liste d'autorisation des VPC

Afficher les VPC autorisés

Dans la section suivante, vous allez utiliser l'interface utilisateur de la console Cloud pour afficher la liste des VPC autorisés Looker.

Dans la console Cloud, accédez à :

Looker → Instance Looker → Détails

Dans l'exemple ci-dessous, aucune entrée ne figure dans la liste des VPC autorisés :

ad33177a2d721ea7.png

Mettre à jour les VPC autorisés

Mettez à jour votre instance Looker pour prendre en charge l'accès Northbound en ajoutant looker-psc-demo en tant que VPC autorisé.

Dans la console Cloud, accédez à :

Looker → Instance Looker → Modifier

cbbc069688890b82.png

Connexions → VPC autorisés

Assurez-vous de sélectionner le projet dans lequel looker-psc-demo est déployé, suivi du VPC looker-psc-demo, puis cliquez sur "Continuer".

dc931643e1b220a.png

3e26d16d83cceae9.png

Valider les VPC autorisés

Afficher la liste des VPC autorisés mis à jour

Dans la console Cloud, accédez à :

Looker → Instance Looker → Détails

e34664c867929c66.png

11. Créer un backend PSC

Looker PSC en tant que producteur de services génère un URI de rattachement de service utilisé par les consommateurs de services pour déployer des points de terminaison et des backends afin d'accéder à Looker en amont. À l'étape suivante, vous identifierez l'URI du rattachement de service Looker PSC, puis vous créerez un backend de groupe de points de terminaison du réseau (NEG) Private Service Connect dans le VPC consommateur.

Identifier le rattachement de service PSC Looker

Dans la console Cloud, accédez à l'URI du rattachement de service et copiez-le :

Looker → Instance Looker → Détails

a253f94e946a1eef.png

Créer le groupe de points de terminaison du réseau PSC

Dans Cloud Shell, procédez comme suit en veillant à mettre à jour psc-target-service :

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Exemple :

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Valider la création d'un groupe de points de terminaison du réseau PSC

Dans Cloud Shell, procédez comme suit en vous assurant que l'état de la connexion PSC est "accepté" :

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

Exemple :

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

Créer un équilibreur de charge d'application régional

Dans les étapes suivantes, vous utiliserez la console Cloud pour créer l'équilibreur de charge d'application externe régional tout en associant vos certificats générés à la configuration du frontend.

Dans la console Cloud, accédez à :

Services réseau → Équilibrage de charge → Créer un équilibreur de charge

e3474ca153d7c55a.png

Sélectionnez les options suivantes :

63c2e656953444f2.png

Créer la configuration de l'interface

Sélectionnez les options suivantes et personnalisez l'environnement en fonction de votre déploiement :

  • Région utilisée pour déployer l'infrastructure réseau
  • Le sous-réseau proxy réservé est renseigné automatiquement en fonction de votre région.
  • L'adresse IP statique précédemment définie est disponible en fonction de la région sélectionnée.

a1c24bd4650b27d3.png

Si vous sélectionnez "Certificat", vous pouvez choisir d'utiliser un certificat existant ou d'en créer un :

aac196a6fa1ee3d5.png

Importez votre certificat et votre clé privée, puis sélectionnez CRÉER :

64a390bda0c9c3f1.png

Sélectionnez OK pour terminer la configuration de l'interface :

758a1921e3020854.png

Créer la configuration du backend

Sélectionnez les options suivantes :

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Créer les règles de routage

Sélectionnez les options suivantes (options par défaut) :

8884421f10a50ce0.png

Vérifier et finaliser

Vérifiez la configuration, puis sélectionnez CRÉER :

bdf5793ba8f46bb9.png

L'équilibreur de charge est désormais activé :

61adc0509f07ab15.png

Accéder à l'interface utilisateur Looker

Maintenant que l'équilibreur de charge est opérationnel, vous pouvez accéder à votre domaine Looker personnalisé via un navigateur Web. Il est important de noter que vous pouvez rencontrer un avertissement en fonction du type de certificat que vous utilisez (par exemple, certificat non approuvé ou approuvé).

Vous trouverez ci-dessous un exemple (certificat non approuvé) d'accès au domaine personnalisé Looker looker.cosmopup.com qui permet d'accéder à l'interface utilisateur Looker en amont :

ae43d0d0d7136044.png

12. Effectuer un nettoyage

Supprimer les composants de l'atelier à partir d'un seul terminal Cloud Shell

gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-external-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

13. Félicitations

Félicitations, vous avez configuré et validé la connectivité vers le nord à Looker à l'aide d'un domaine client et d'un équilibreur de charge d'application externe régional.

Vous avez créé l'infrastructure consommateur, appris à créer un NEG PSC et un domaine personnalisé, et découvert les différentes options de certificat. Découvrez toutes les fonctionnalités intéressantes de Looker.

Cosmopup pense que les ateliers de programmation sont géniaux !

c911c127bffdee57.jpeg

Et ensuite ?

Découvrez quelques-uns des ateliers de programmation...

Lectures et vidéos complémentaires

Documents de référence