É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 du nord. L'accès nord-sud à Looker nécessite que le VPC client figure sur la liste d'autorisation de l'instance PSC Looker.

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 illustré dans la figure 1.

Figure 1.

145ea4672c3a3b14.png

L'accès sud, également appelé PSC inverse, 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, quel que soit l'emplacement du PSC Looker, comme illustré dans la figure 2.

Figure 2.

259493afd914f68b.png

Points abordés

  • Configuration réseau requise
  • Modifier la liste d'autorisation Looker pour l'accès nord-sud
  • Créer un backend Private Service Connect dans le VPC client
  • Certificats Google et autosignés

Prérequis

def88091b42bfe4d.png

2. Ce que vous allez faire

Vous allez créer un réseau client de liste d'autorisation, looker-psc-demo, pour déployer un équilibreur de charge d'application L7 externe 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

Vous trouverez ci-dessous le détail 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 depuis 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 client

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

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 client:

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éservé régional 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é

Pour créer un domaine personnalisé, procédez comme suit:

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. Liste d'autorisation de VPC Looker

Afficher les VPC autorisés

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

Dans Cloud Console, 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 nord-sud en ajoutant looker-psc-demo en tant que VPC autorisé.

Dans Cloud Console, accédez à:

Looker → Instance Looker → Modifier

cbbc069688890b82.png

Connexions → VPC autorisés

Veillez à sélectionner le projet dans lequel looker-psc-demo est déployé, puis le 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 Cloud Console, accédez à:

Looker → Instance Looker → Détails

e34664c867929c66.png

11. Créer un backend PSC

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

Identifier le rattachement de service PSC Looker

Dans Cloud Console, 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 pscConnectionStatus 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 allez utiliser Cloud Console pour créer l'équilibreur de charge d'application externe régional tout en associant vos certificats générés à la configuration de l'interface utilisateur.

Dans Cloud Console, 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", l'option permettant d'utiliser un certificat existant ou un nouveau certificat s'affiche:

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 "CREATE" (CRÉER) :

bdf5793ba8f46bb9.png

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

61adc0509f07ab15.png

Accéder à l'UI Looker

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

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 direction du nord:

ae43d0d0d7136044.png

12. Effectuer un nettoyage

Supprimer des 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 correctement configuré et validé la connectivité nord-sud vers Looker à l'aide d'un domaine client et d'un équilibreur de charge d'application externe régional.

Vous avez créé l'infrastructure client, appris à créer un NEG PSC, un domaine personnalisé et à découvrir les différentes options de certificat. Vous pouvez faire tellement de choses intéressantes avec Looker.

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

c911c127bffdee57.jpeg

Et ensuite ?

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

Autres ressources et vidéos

Documents de référence