1. Introduction
Dans cet atelier de programmation, vous allez créer un équilibreur de charge d'application interne 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.
L'accès sud, également appelé PSC inverse, permet au client 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.
Points abordés
- Configuration réseau requise
- Mettre à jour 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
- Projet Google Cloud avec autorisations de propriétaire
- Domaine enregistré
- Instance Looker PSC existante
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 interne régional et un NEG de backend PSC qui nécessitent un certificat Google ou autogéré. Pour en savoir plus, consultez la page récapitulative sur les équilibreurs de charge et les certificats.
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
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 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 de l'équilibreur de charge d'application interne:
gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.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
8. Créer un domaine personnalisé
Pour créer un domaine personnalisé, procédez comme suit:
Dans l'exemple ci-dessous, looker.cosmopup.com est le domaine personnalisé.
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 la page 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 la page Déployer un certificat régional géré par Google avec le service d'autorité de certification.
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:
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
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".
Valider les VPC autorisés
Afficher la liste des VPC autorisés mis à jour
Dans Cloud Console, accédez à:
Looker → Instance Looker → Détails
11. Créer un backend PSC
En tant que producteur de services, Looker PSC 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
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 interne régional
Dans les étapes suivantes, vous allez utiliser Cloud Console pour créer l'équilibreur de charge d'application interne 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
Sélectionnez les options suivantes :
Créer la configuration du backend
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
- Réseau: looker-psc-demo
- Le sous-réseau proxy réservé est renseigné automatiquement en fonction de votre région et de votre réseau
Règles de routage
Aucune configuration requise
Configuration du frontend
Assurez-vous que l'équilibreur de charge est activé et obtenez son adresse IP.
Dans Cloud Console → Services réseau → Équilibrage de charge → looker-ilb-alb
12. Résolution DNS
La résolution DNS du domaine personnalisé peut être effectuée par un DNS sur site faisant autorité ou par Cloud DNS. Dans ce tutoriel, nous allons définir Cloud DNS comme serveur faisant autorité pour le domaine personnalisé Looker. Pour activer la résolution DNS GCP sur site, vous devez activer les règles de serveur entrant. Lorsque vous créez une règle de serveur entrant, Cloud DNS crée des points d'entrée de règle de serveur entrant dans le réseau VPC auquel la règle de serveur est appliquée. Les points d'entrée de la règle de serveur entrante sont des adresses IPv4 internes issues de la plage d'adresses IPv4 principale de chaque sous-réseau du réseau VPC applicable, à l'exception des sous-réseaux proxy réservés.
Dans la section suivante, une zone DNS privée pour le domaine personnalisé Looker, looker.cosmopup.com, et un enregistrement A composé de l'adresse IP du répartiteur de charge sont créés.
13. Créer une zone DNS privée
Dans Cloud Shell, créez la zone privée Cloud DNS.
gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"
Dans Cloud Shell, créez l'enregistrement A composé de l'adresse IP de l'équilibreur de charge, obtenue à l'étape précédente.
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"
Exemple :
gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"
Ensuite, vous devez configurer un réseau hybride (par exemple, Interconnect ou VPN haute disponibilité) entre le VPC looker-psc-demo et le réseau sur site pour permettre la connectivité.
Voici les étapes à suivre pour établir la connectivité du NEG hybride avec l'environnement sur site:
- Choisir un produit de connectivité réseau | Google Cloud
- Dans une architecture en hub et spoke avec l'appairage de VPC, le NEG hybride est déployé dans le même VPC que le Cloud Router (hub).
- Assurez-vous que les pare-feu sur site sont mis à jour pour prendre en charge la plage de sous-réseau proxy réservé, car ce sous-réseau sert d'adresse IP source pour la communication avec les charges de travail sur site.
- Modifier le DNS sur site en définissant l'adresse IP de transfert entrant comme résolveur DNS pour looker.cosomopup.com
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:
14. Effectuer un nettoyage
À partir d'un seul terminal Cloud Shell, supprimez les composants de l'atelier:
gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-internal-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
15. Félicitations
Félicitations, vous avez bien configuré et validé la connectivité nord-sud vers Looker à l'aide d'un domaine client et d'un équilibreur de charge d'application interne 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.
Et ensuite ?
Découvrez quelques-uns des ateliers de programmation...
- Publier et consommer des services à l'aide de Private Service Connect
- Se connecter aux services sur site via Hybrid Networking à 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
Autres ressources et vidéos
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 Private Service Connect Looker (Google Cloud Core)
- Publier un service à l'aide de Private Service Connect