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.

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.

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
- Projet Google Cloud avec des autorisations de propriétaire
- Domaine enregistré
- Instance Looker PSC existante

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

5. Préparation
Configuration de l'environnement au rythme de chacun
- 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.



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

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

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.

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

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.

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 :
- Certificats régionaux autogérés. Pour en savoir plus sur la création et l'utilisation de certificats autogérés régionaux, consultez la page Déployer un certificat régional autogéré. Les mappages de certificats ne sont pas acceptés.
- Certificats régionaux gérés par Google. Les mappages de certificats ne sont pas acceptés. Les types de certificats régionaux gérés par Google suivants sont compatibles avec le gestionnaire de certificats :
- Certificats régionaux gérés par Google avec une autorisation DNS par projet. Pour en savoir plus, consultez Déployer un certificat régional géré par Google.
- Certificats régionaux gérés par Google (privés) avec Certificate Authority Service. Pour en savoir plus, consultez Déployer un certificat régional géré par Google avec le service d'autorité de certification.
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 :

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

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".


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

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

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

Sélectionnez les options suivantes :

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.

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

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

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

Créer la configuration du backend
Sélectionnez les options suivantes :




Créer les règles de routage
Sélectionnez les options suivantes (options par défaut) :

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

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

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 :

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 !

Et ensuite ?
Découvrez quelques-uns des ateliers de programmation...
- Publier et consommer des services à l'aide de Private Service Connect
- Se connecter à des services sur site via un réseau hybride à l'aide de Private Service Connect et d'un équilibreur de charge proxy TCP interne
- Accès à tous les ateliers de programmation Private Service Connect publiés
Lectures et vidéos complémentaires
Documents de référence
- Utiliser des certificats SSL autogérés | Load Balancing | Google Cloud
- Déployer un certificat régional géré par Google
- Créer un backend Private Service Connect | VPC | Google Cloud
- Créer un backend Private Service Connect | VPC | Google Cloud
- Créer une instance Looker (Google Cloud Core) Private Service Connect
- Publier un service à l'aide de Private Service Connect