Accès Looker PSC Southbound au PSC Cloud SQL

1. Introduction

Dans cet atelier de programmation, vous allez établir une connexion southbound à Cloud SQL déployé avec Private Service Connect en tant que producteur de services.

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.

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 en aval 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.

259493afd914f68b.png

Points abordés

  • Créer un service producteur d'instance Cloud SQL Private Service Connect
  • Créer un point de terminaison Private Service Connect dans Looker en tant que client de service

Prérequis

def88091b42bfe4d.png

2. Ce que vous allez faire

Vous allez établir une instance PSC Cloud SQL déployée en tant que producteur de services associée à Looker PSC en tant que consommateur de services.

Les actions suivantes valident l'accès au service Producer :

  • Créer un point de terminaison PSC dans Looker associé au rattachement de service du producteur
  • Utiliser la console Looker pour créer une connexion à une base de données Cloud SQL PSC
  • Tester la connectivité au PSC Cloud SQL en s'authentifiant et en accédant à un schéma prédéfini

3. Topologie de l'atelier de programmation

1e7035ea608d7d23.png

4. 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.pnga99b7ace416376c4.png5e3ff691252acf41.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.

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

6. Identifier le projet PSC Looker

Pour créer une instance Cloud SQL PSC, vous devez identifier les projets PSC autorisés. Par conséquent, le projet locataire Looker PSC doit être fourni lors de la création de l'instance Cloud SQL ou mis à jour si vous utilisez une instance existante.

Déterminer le projet Looker PSC à l'aide de gcloud

Dans Cloud Shell, remplacez [INSTANCE_NAME] par le nom de votre instance Looker PSC pour obtenir l'ID du projet Looker PSC :

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json | grep -i lookerServiceAttachmentUri

Dans l'exemple de sortie, t7ec792caf2a609d1-tp est le projet Looker PSC :

gcloud looker instances describe looker-psc-instance --region=us-central1 --format=json | grep -i lookerServiceAttachmentUri
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",

Déterminer le projet Looker PSC à l'aide de la console Cloud

Dans la console Cloud, accédez à :

Instance Looker → Instance Looker PSC

1367ec0136aa5ad6.png

7. Créer une instance Cloud SQL de producteur

Dans la section suivante, vous allez créer une instance PSC Cloud SQL utilisée à des fins de test et déployée avec un mot de passe prédéfini spécifiant le projet PSC Looker dans la liste des projets PSC autorisés.

Création d'un PSC Cloud SQL

Dans Cloud Shell, créez une instance et activez Private Service Connect. Remplacez [INSTANCE_PROJECT] par l'ID de votre projet Looker PSC.

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=[INSTANCE_PROJECT] \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Exemple :

gcloud sql instances create cloud-sql-psc-demo \
--project=$project \
--region=$region \
--enable-private-service-connect \
--allowed-psc-projects=t7ec792caf2a609d1-tp \
--availability-type=regional \
--no-assign-ip \
--cpu=2 --memory=4GB \
--database-version=MYSQL_8_0 \
--enable-bin-log \
--root-password=password123

Obtenir le rattachement de service Cloud SQL

Après avoir créé une instance Cloud SQL avec Private Service Connect activé, obtenez l'URI du rattachement de service qui sera utilisé ultérieurement pour créer le point de terminaison Private Service Connect dans Looker.

Dans Cloud Shell, procédez comme suit :

gcloud sql instances describe [INSTANCE_NAME] --project=$project | grep -i pscServiceAttachmentLink

L'exemple de résultat génère l'URI du rattachement de service :

projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

gcloud sql instances describe cloud-sql-psc-demo --project=$project | grep -i pscServiceAttachmentLink:
pscServiceAttachmentLink: projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155

Dans la console Cloud, vous pouvez obtenir le rattachement de service PSC Cloud SQL :

Dans la console Cloud, accédez à :

SQL → Instance SQL → Connexions

18940483f646ed15.png

8. Établir une connexion de point de terminaison PSC dans Looker

Dans la section suivante, vous allez associer le rattachement de service des producteurs Cloud SQL à Looker Core PSC à l'aide des indicateurs "–psc-service-attachment" dans Cloud Shell pour un seul domaine.

Dans Cloud Shell, créez l'association PSC en mettant à jour les paramètres suivants pour qu'ils correspondent à votre environnement :

  • INSTANCE_NAME : nom de votre instance Looker (Google Cloud Core).
  • DOMAIN_1: sql.database1.com
  • SERVICE_ATTACHMENT_1 : URI capturé lors de la description de l'instance Cloud SQL PSC
  • RÉGION : région dans laquelle votre instance Looker (Google Cloud Core) est hébergée

Dans Cloud Shell, procédez comme suit :

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Exemple :

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=sql.database1.com,attachment=projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155 \
--region=us-central1

Dans Cloud Shell, vérifiez que l'état de connexion de serviceAttachments est "ACCEPTED". Veillez à remplacer INSTANCE_NAME par le nom de votre instance Looker PSC :

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Exemple :

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Exemple :

user@cloudshell$ gcloud looker instances describe looker-psc-instance --region=$region --format=json
{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "looker.cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.14.18",
  "name": "projects/project/locations/us-central1/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
      "projects/project/global/networks/looker-psc-demo",
      "projects/project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "sql.database1.com",
        "targetServiceAttachmentUri": "projects/o6222fa10e2a50865p-tp/regions/us-central1/serviceAttachments/a-39d809aaecae-psc-service-attachment-127fc34733744155"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-09-04T14:40:05.613026012Z"
}

Valider le point de terminaison PSC dans la console Cloud

Dans la console Cloud, vous pouvez valider la connexion PSC.

Dans la console Cloud, accédez à :

Looker → Instance Looker → Détails

2d4684d722d31e4b.png9fa909f826dec963.png

9. Intégrer Looker PSC à Cloud SQL PSC

Dans la section suivante, vous allez utiliser la console Looker pour créer une connexion à la base de données de l'instance PSC Cloud SQL.

Accédez à ADMINISTRATEUR → BASE DE DONNÉES → CONNEXIONS, puis sélectionnez AJOUTER UNE CONNEXION.

Renseignez les détails de la connexion comme indiqué sur la capture d'écran ci-dessous, puis sélectionnez CONNECTER.

eb3ef74d3ae71f1a.png

La connexion est maintenant configurée.

29017202470ad81f.png

10. Valider la connectivité Looker

Dans la section suivante, vous allez apprendre à valider la connectivité de Looker à l'instance PSC Cloud SQL à l'aide de l'action "Tester" de Looker.

Accédez à la connexion de données ADMIN → DATABASE → CONNECTIONS → cloud-sql-psc-demo → Test.

Une fois le test sélectionné, Looker se connecte à la base de données PostgreSQL comme indiqué ci-dessous :

d9729caf9a61bfc2.png

Effectuer un nettoyage

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

gcloud sql instances delete cloud-sql-psc-demo -q

11. Félicitations

Félicitations ! Vous avez réussi à configurer et à valider la connectivité à Cloud SQL PSC à l'aide de la console Looker optimisée par Private Service Connect.

Vous avez créé des instances PSC Cloud SQL en tant que service de production et un point de terminaison PSC Looker permettant la connectivité au service de production.

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