1. Introduction
Private Service Connect (PSC) simplifie la façon dont les services sont utilisés de manière sécurisée et privée. Ce modèle facilite considérablement l'architecture réseau en permettant aux clients de services de se connecter de manière privée aux producteurs de services de toutes les organisations, et élimine la nécessité d'effectuer un appairage de cloud privé virtuel. La figure 1 illustre l'appairage de VPC et les attributs PSC.
Figure1.
En tant que client de services, vous avez la possibilité de choisir comment attribuer vos adresses IP privées aux services, tout en vous déchargeant de la gestion des plages de sous-réseaux pour les VPC de producteurs. Désormais, il vous suffit d'attribuer une adresse IP virtuelle de votre choix à ce service à l'aide de Service Connect.
Dans cet atelier de programmation, vous allez créer une architecture Private Service Connect complète qui illustre l'utilisation de l'accès mondial PSC avec MongoDB Atlas.
L'accès mondial permet aux clients de se connecter à Private Service Connect (PSC) au-delà des limites régionales. Cela s'avère utile pour créer une haute disponibilité sur des services gérés hébergés dans plusieurs régions ou pour permettre aux clients d'accéder à un service qui ne se trouve pas dans la même région que le client.
2. Activer l'accès mondial
L'accès mondial est une fonctionnalité facultative qui est configurée au niveau de la règle de transfert côté consommateur. La commande suivante montre comment le configurer:
gcloud beta compute forwarding-rules create psc-west \ --region=us-west1 \ --network=consumer-vpc \ --address=psc-west-address \ --target-service-attachment=projects/.../serviceAttachments/sa-west \ --allow-psc-global-access
- L'option
--allow-psc-global-access
active l'accès mondial sur un point de terminaison Private Service Connect - L'accès mondial permet au client de se trouver dans une région différente de celle de la règle de transfert Private Service Connect, mais celle-ci doit toujours se trouver dans la même région que le rattachement de service auquel elle est connectée.
- Aucune configuration n'est requise sur le rattachement de service du producteur pour activer l'accès mondial. Il s'agit purement d'une option côté consommateur.
L'accès mondial peut également être activé ou désactivé à tout moment pour les points de terminaison existants. Lorsque vous activez l'accès mondial sur un point de terminaison existant, le trafic des connexions actives n'est pas interrompu. L'accès global est activé sur une règle de transfert existante à l'aide de la commande suivante:
gcloud beta compute forwarding-rules update psc-west --allow-psc-global-access
Désactiver l'accès mondial
L'accès mondial peut également être désactivé pour les règles de transfert existantes à l'aide de l'option --no-allow-psc-global-access
. Notez que tout trafic interrégional actif sera arrêté après l'exécution de cette commande.
gcloud beta compute forwarding-rules update psc-west --no-allow-psc-global-access
3. Ce que vous allez faire
- Un cluster MongoDB Atlas multirégional (topologie décrite dans la figure 2) sera créé avec un nœud dans la région us-west1 et deux nœuds dans la région us-west2, respectivement.
- Un VPC consommateur et la VM associée permettant d'accéder aux clusters MongoDB dans les régions us-west1 et us-west2.
- Un VPC et deux sous-réseaux dans les régions us-west1 et us-west2, respectivement, avec au moins 64 adresses IP libres dans chaque sous-réseau (créez des sous-réseaux avec /26 et un niveau inférieur).
Le client MongoDB sera installé sur "vm1" dans le VPC du client. En cas de défaillance du nœud principal dans la région us-west1, le client est en mesure d'effectuer des opérations de lecture/écriture sur le nouveau nœud principal dans la région us-west2.
Figure 2.
Points abordés
- Créer un VPC et des sous-réseaux déployés dans deux régions
- Déployer un cluster MongoDB Atlas multirégional
- Créer un point de terminaison privé
- Se connecter à MongoDB
- Réaliser et valider un basculement MongoDB multirégional
Prérequis
- Projet Google Cloud
- Fournissez un sous-réseau de taille /26 par région
- Accès propriétaire de projet ou propriétaire de l'organisation à MongoDB Atlas pour créer un cluster MongoDB avec le niveau de cluster M10 ou supérieur. (Veuillez utiliser GETATLAS afin d'obtenir des crédits sans frais pour l'exécution du point de vue.)
4. Avant de commencer
Mettre à jour le projet pour qu'il soit compatible avec l'atelier de programmation
Cet atelier de programmation utilise $variables pour faciliter l'implémentation de la configuration gcloud dans Cloud Shell.
Dans Cloud Shell, effectuez les opérations suivantes:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
5. Configuration client
Créer le VPC consommateur
Dans Cloud Shell, effectuez les opérations suivantes:
gcloud compute networks create consumer-vpc --project=$projectname --subnet-mode=custom
Créer les sous-réseaux du client
Dans Cloud Shell, effectuez les opérations suivantes:
gcloud compute networks subnets create vm-subnet --project=$projectname --range=10.10.10.0/29 --network=consumer-vpc --region=us-west1
Dans Cloud Shell, créez le point de terminaison du client pour us-west1:
gcloud compute networks subnets create psc-endpoint-us-west1 --project=$projectname --range=192.168.10.0/26 --network=consumer-vpc --region=us-west1
Dans Cloud Shell, créez le point de terminaison du client pour us-west2:
gcloud compute networks subnets create psc-endpoint-us-west2 --project=$projectname --range=172.16.10.0/26 --network=consumer-vpc --region=us-west2
Configuration Cloud Router et NAT
Dans cet atelier de programmation, Cloud NAT est utilisé pour installer des packages logiciels, car les instances de VM n'ont pas d'adresse IP externe.
Dans Cloud Shell, créez le routeur cloud.
gcloud compute routers create consumer-cr --network consumer-vpc --region us-west1
Dans Cloud Shell, créez la passerelle NAT.
gcloud compute routers nats create consumer-nat --router=consumer-cr --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-west1
Configuration de l'instance vm1
Dans la section suivante, vous allez créer l'instance Compute Engine vm1.
Dans Cloud Shell, créez l'instance vm1.
gcloud compute instances create vm1 \
--project=$projectname \
--zone=us-west1-a \
--machine-type=e2-micro \
--network-interface=subnet=vm-subnet,no-address \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--create-disk=auto-delete=yes,boot=yes,device-name=vm1,image=projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20230213,mode=rw,size=10,type=projects/$projectname/zones/us-west1-a/diskTypes/pd-balanced
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump -y
sudo apt-get install dnsutils -y"
Pour autoriser IAP à se connecter à vos instances de VM, créez une règle de pare-feu qui:
- S'applique à toutes les instances de VM auxquelles vous souhaitez rendre accessibles à l'aide d'IAP.
- Autorise le trafic entrant provenant de la plage d'adresses IP 35.235.240.0/20. Cette plage contient toutes les adresses IP utilisées par IAP pour le transfert TCP.
Dans Cloud Shell, créez la règle de pare-feu IAP.
gcloud compute firewall-rules create ssh-iap-consumer-vpc \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. Créer le cluster multirégional MongoDB Atlas
- Nous devons configurer un cluster Atlas avant de commencer à configurer PSC. Vous pouvez vous abonner à MongoDB Atlas de l'une des deux manières suivantes:
- Via Google Cloud Marketplace si vous possédez un compte Google Cloud Consultez la documentation pour configurer votre abonnement.
- Avec la page d'inscription d'Versa 3.
- Une fois abonné à Atlas, cliquez sur le bouton "Build a Database" (Créer une base de données) comme illustré ci-dessous.
- Créer un cluster → Dédié
- Fournisseur de services cloud région → Google Cloud
- Multicloud, multirégional et isolation de la charge de travail → Sélectionné (coche bleue)
- Nœuds sélectionnables → us-west1 (1 nœud), us-west2 (2 nœuds)
- Niveau du cluster → M10. Conservez les valeurs par défaut de tous les autres paramètres.
- Nom du cluster → psc-mongodb-uswest1-uswest2
- Sélectionner → Créer un cluster
- La création de la base de données prend 7 à 10 minutes
Vue du cluster une fois déployé
7. Création d'un point de terminaison privé pour us-west1
- Connectez-vous à votre compte Atlas et accédez à votre projet.
Créer un utilisateur pour autoriser l'accès en lecture/écriture à toutes les bases de données
Sécurité → Accès à la base de données : sélectionnez "Ajouter un nouvel utilisateur de base de données". Voici un exemple de nom d'utilisateur et de mot de passe configurés en tant qu'atelier de programmation. Veillez à sélectionner le rôle intégré en lecture et en écriture dans n'importe quelle base de données.
- Sous Sécurité → Accès réseau, la liste d'accès IP ne nécessite pas d'entrée
Préparer des points de terminaison privés dans MongoDB Atlas
- Sélectionner, Accès réseau → Points de terminaison privés → Cluster dédié → Ajouter un point de terminaison privé
Fournisseur de services cloud
- Sélectionnez "Google Cloud", puis "Suivant".
Rattachement de service
- Sélectionnez la région "us-west1", puis "Suivant".
Points de terminaison
- Pour créer un point de terminaison Private Service Connect, fournissez les éléments suivants:
- ID du projet Google Cloud: sélectionnez "Afficher les instructions" pour en savoir plus
- Nom du VPC: consumer-vpc
- Nom du sous-réseau: psc-endpoint-us-west1
- Préfixe du point de terminaison Private Service Connect: psc-endpoint-us-west1
Configurer des points de terminaison
Dans la section suivante, un script shell est généré. Il doit être enregistré localement sous le nom setup_psc.sh. Une fois les modifications enregistrées, modifiez le script shell pour autoriser l'accès global à psc. Vous pouvez effectuer cette action dans le projet Google Cloud Cloud Shell.
- Exemple de script shell : votre sortie aura des valeurs différentes
- Copiez le script shell à partir de la console MongoBD et enregistrez son contenu dans le terminal Google Cloud Shell. Veillez à enregistrer le script sous le nom setup_psc.sh.
Exemple avant la mise à jour:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
Mettre à jour le script shell pour accepter l'accès mondial
Utilisez l'éditeur nano ou vi pour identifier et mettre à jour le script shell avec la syntaxe ci-dessous:
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
Exemple après mise à jour:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west1-ip-$i --region=us-west1 --subnet=psc-endpoint-us-west1
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west1-ip-$i --region=us-west1 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west1-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west1-$i --region=us-west1 --network=consumer-vpc --address=psc-endpoint-us-west1-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west1/serviceAttachments/sa-us-west1-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west1 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west1*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west1. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west1 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west1*)" > atlasEndpoints-psc-endpoint-us-west1.json
Exécuter le script shell
Parcourez et exécutez le script setup_psc.sh. Une fois l'opération terminée, un fichier nommé atlasEndpoints-psc-endpoint-us-west1.json est créé. Le fichier JSON contient la liste des adresses IP et des noms de points de terminaison Private Service Connect requis pour l'étape suivante du déploiement.
Dans Cloud Shell, effectuez les opérations suivantes:
sh setup_psc.sh
Une fois l'exécution du script terminée, utilisez l'éditeur Cloud Shell pour télécharger le fichier atlasEndpoints-psc-endpoint-us-west1.json en local.
Importer le fichier JSON
Importez le fichier JSON atlasEndpoints-psc-endpoint-us-west1.json précédemment enregistré.
Sélectionnez "Créer".
Valider les points de terminaison Private Service Connect
Dans l'interface utilisateur de MongoDB, accédez à votre projet, puis sélectionnez Sécurité → Accès au réseau → Point de terminaison privé. Si vous sélectionnez l'onglet "Cluster dédié", la transition du point de terminaison vers "Disponible" prendra 10 minutes.
État disponible
Dans la console Google Cloud, accédez à Services réseau → Private Services Connect, sélectionnez l'onglet "Point de terminaison connecté" affichant les points de terminaison client en cours de transition En attente → Acceptés. Exemple:
8. Création d'un point de terminaison privé pour us-west2
- Connectez-vous à votre compte Atlas et accédez à votre projet.
Préparer des points de terminaison privés dans MongoDB Atlas
- Sélectionner, Accès réseau → Points de terminaison privés → Cluster dédié → Ajouter un point de terminaison privé
Fournisseur de services cloud
- Sélectionnez "Google Cloud", puis "Suivant".
Rattachement de service
- Sélectionnez la région "us-west2", puis "Suivant".
Points de terminaison
- Pour créer un point de terminaison Private Service Connect, fournissez les éléments suivants:
- ID du projet Google Cloud: sélectionnez "Afficher les instructions" pour en savoir plus
- Nom du VPC: consumer-vpc
- Nom du sous-réseau: psc-endpoint-us-west2
- Préfixe du point de terminaison Private Service Connect: psc-endpoint-us-west2
Configurer des points de terminaison
Dans la section suivante, un script shell est généré. Il doit être enregistré localement sous le nom setup_psc.sh. Une fois les modifications enregistrées, modifiez le script shell pour autoriser l'accès global à psc. Vous pouvez effectuer cette action dans le projet Google Cloud Cloud Shell.
- Exemple de script shell : votre sortie aura des valeurs différentes
- Copiez le script shell à partir de la console MongoBD et enregistrez son contenu dans le terminal Google Cloud Shell. Veillez à enregistrer le script sous le nom setup_psc.sh.
Exemple avant la mise à jour:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2vn1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
Mettre à jour le script shell pour accepter l'accès mondial
Utilisez l'éditeur nano ou vi pour identifier et mettre à jour le script shell avec la syntaxe ci-dessous:
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
Exemple après mise à jour:
#!/bin/bash
gcloud config set project yourprojectname
for i in {0..49}
do
gcloud compute addresses create psc-endpoint-us-west2-ip-$i --region=us-west2 --subnet=psc-endpoint-us-west2
done
for i in {0..49}
do
if [ $(gcloud compute addresses describe psc-endpoint-us-west2-ip-$i --region=us-west2 --format="value(status)") != "RESERVED" ]; then
echo "psc-endpoint-us-west2-ip-$i is not RESERVED";
exit 1;
fi
done
for i in {0..49}
do
gcloud beta compute forwarding-rules create psc-endpoint-us-west2-$i --region=us-west2 --network=consumer-vpc --address=psc-endpoint-us-west2-ip-$i --target-service-attachment=projects/p-npwsmzelxznmaejhj2v
n1q0q/regions/us-west2/serviceAttachments/sa-us-west2-61485ec2ae9d2e48568bf84f-$i --allow-psc-global-access
done
if [ $(gcloud compute forwarding-rules list --regions=us-west2 --format="csv[no-heading](name)" --filter="(name:psc-endpoint-us-west2*)" | wc -l) -gt 50 ]; then
echo "Project has too many forwarding rules that match prefix psc-endpoint-us-west2. Either delete the competing resources or choose another endpoint prefix."
exit 2;
fi
gcloud compute forwarding-rules list --regions=us-west2 --format="json(IPAddress,name)" --filter="name:(psc-endpoint-us-west2*)" > atlasEndpoints-psc-endpoint-us-west2.json
Exécuter le script shell
Parcourez et exécutez le script setup_psc.sh. Une fois l'opération terminée, un fichier nommé atlasEndpoints-psc-endpoint-us-west2.json est créé. Le fichier JSON contient la liste des adresses IP et des noms de points de terminaison Private Service Connect requis pour l'étape suivante du déploiement.
Dans Cloud Shell, effectuez les opérations suivantes:
sh setup_psc.sh
Une fois l'exécution du script terminée, utilisez l'éditeur Cloud Shell pour télécharger le fichier atlasEndpoints-psc-endpoint-us-west2.json en local.
Importer le fichier JSON
Importez le fichier JSON atlasEndpoints-psc-endpoint-us-west2.json précédemment enregistré.
Sélectionnez "Créer".
Valider les points de terminaison Private Service Connect
Dans l'interface utilisateur de MongoDB, accédez à votre projet, puis sélectionnez Sécurité → Accès au réseau → Point de terminaison privé. Sélection de l'onglet "Cluster dédié", et passage du point de terminaison à "Disponible" après 10 minutes.
État disponible:
Dans la console Google Cloud, accédez à Services réseau → Private Services Connect, sélectionnez l'onglet "Point de terminaison connecté" affichant les points de terminaison client en cours de transition En attente → Acceptés, comme dans l'exemple ci-dessous. Un total de 100 points de terminaison sont déployés sur le point de terminaison du client doivent passer à la phase "Acceptée" avant de passer à l'étape suivante.
9. Se connecter à l'atlas MongoDB depuis des points de terminaison privés
Une fois les connexions de service privées acceptées, un délai supplémentaire (10 à 15 minutes) est nécessaire pour mettre à jour le cluster MongoDB. Dans l'interface utilisateur de MongoDB, le contour gris représente la mise à jour du cluster. Par conséquent, la connexion au point de terminaison privé n'est pas disponible.
Identifiez le déploiement et sélectionnez "Se connecter" (notez que la zone grise n'est plus présente).
Sélectionnez le type de connexion → Point de terminaison privé, puis choisissez une méthode de connexion
Sélectionnez "Se connecter avec le shell MongoDB".
Sélectionnez "I have the MongoDB Shell" (Ubuntu 20.4) n'est pas installé et assurez-vous de copier le contenu des étapes 1 et 3 dans un bloc-notes.
10. Installer l'application mongole
Avant l'installation, vous devez créer une chaîne de commande basée sur les valeurs précédemment copiées et obtenues aux étapes 1 et 3. Vous allez ensuite vous connecter en SSH à vm1 à l'aide de Cloud Shell, puis installer l'application mongosh et la valider sur la base de données principale (us-west1). L'image Ubuntu 20.4 a été installée lors de la création de vm1 dans le VPC "consumer-vpc".
Choisissez une méthode de connexion: Étape 1, Copier l'URL de téléchargement
Exemple de chaîne de commande à remplacer par vos valeurs personnalisées:
https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
Choisissez une méthode de connexion, étape 3.
Exemple de chaîne de commande à remplacer par vos valeurs personnalisées:
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
Se connecter à vm1
Dans Cloud Shell, effectuez les opérations suivantes:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
Connectez-vous à la VM1 à l'aide d'IAP dans Cloud Shell, puis réessayez en cas d'expiration du délai.
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
Effectuer l'installation à partir du système d'exploitation
Effectuez l'installation à partir de la connexion au système d'exploitation Cloud Shell, informations supplémentaires disponibles, mettez à jour la syntaxe ci-dessous avec votre chaîne personnalisée.
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
L'opération doit renvoyer une réponse
OK
.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update -y
wget https://downloads.mongodb.com/compass/mongodb-mongosh_1.7.1_amd64.deb
sudo dpkg -i mongodb-mongosh_1.7.1_amd64.deb
Se connecter au déploiement MongoDB
Dans la fenêtre de connexion au système d'exploitation Cloud Shell, procédez comme suit. Le nom d'utilisateur et le mot de passe configurés sont des ateliers de programmation.
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
En voici un exemple :
Exécuter des commandes sur la base de données
Dans la fenêtre de connexion au système d'exploitation Cloud Shell, procédez comme suit.
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne({"Name":"cosmo"})
11. Région MongoDB active de basculement, us-west1
Avant d'effectuer le basculement, vérifions que us-west1 est un nœud principal et que us-west2 possède deux nœuds secondaires.
Accédez à Base de données → psc-mongodb-uswest1-uswest2 → Présentation
Dans la section suivante, connectez-vous à la VM1 située dans la région us-west1, basculez la région principale du cluster MongoDB us-west1 et vérifiez que la base de données est toujours accessible depuis le cluster MongoDB dans la région us-west2.
Vous pouvez tester le basculement principal et le basculement régional à partir de l'UI Atlas.
- Connectez-vous à l'interface utilisateur d'Atlas.
- À côté du nom de votre cluster, cliquez sur [...] : psc-mongodb-uswest1-uswest2 → Tester l'interruption.
- Sélectionnez Interruption régionale → Sélectionner les régions.
- Sélectionnez la région principale : us-west1 → Simuler l'indisponibilité régionale.
Une fois sélectionné, le cluster affichera une simulation de panne au bout de trois à quatre minutes
Fermer la fenêtre
Vérifiez que us-west1 est hors service et que us-west2 est désormais pris en charge en tant que service principal
Accédez à Base de données → psc-mongodb-uswest1-uswest2 → Présentation
Valider la connectivité au cluster avec la nouvelle instance principale, us-west2
Connectez-vous à la VM1 située dans la région us-west1 et accédez à Mongodb dans la région us-west2 pour valider l'accès mondial à Private Service Connect.
Si votre session Cloud Shell s'est arrêtée, procédez comme suit:
Dans Cloud Shell, effectuez les opérations suivantes:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectname=YOUR-PROJECT-NAME
echo $projectname
Connectez-vous à la VM1 à l'aide d'IAP dans Cloud Shell, puis réessayez en cas d'expiration du délai.
gcloud compute ssh vm1 --project=$projectname --zone=us-west1-a --tunnel-through-iap
Se connecter au déploiement MongoDB
Dans la fenêtre de connexion au système d'exploitation Cloud Shell, procédez comme suit.
mongosh
mongosh "mongodb+srv://psc-mongodb-uswest1-uswest2-pl-0.2wqno.mongodb.net/psc-mongodb-uswest1-uswest2" --apiVersion 1 --username codelab
En voici un exemple :
Exécuter des commandes sur la base de données
Dans la fenêtre de connexion au système d'exploitation Cloud Shell, procédez comme suit.
show dbs
use Company
db.Employee.insertOne({"Name":"cosmo","dept":"devops"})
db.Employee.findOne()
exit
Réussite: Vous avez confirmé que l'accès mondial PSC permet une connectivité fluide des points de terminaison des clients entre les régions, ce qui contribue à améliorer la haute disponibilité ou en cas d'indisponibilité régionale. Dans l'atelier de programmation, le basculement régional MongoDB s'est produit dans le nœud principal situé us-west1. Par conséquent, la région secondaire us-west2 a pris le relais d'un nœud principal. Bien que le cluster ait entraîné une panne régionale, la VM1 du consommateur située dans la région us-west1 a réussi à atteindre le nouveau cluster principal dans la région us-west2.
12. Nettoyage
Dans la console Cloud, supprimez les points de terminaison des clients.
Accédez à Services réseau → Private Service Connect → POINTS DE TERMINAISON CONNECTÉS
Utilisez le filtre psc-endpoint pour éliminer la suppression potentielle de points de terminaison client hors laboratoire. Sélectionner tous les points de terminaison → SUPPRIMER
Supprimer les adresses IP internes statiques associées aux points de terminaison des clients
Accédez au réseau VPC → consumer-vpc → STATIC INTERNAL IP ADDRESSES
Utilisez le filtre psc-endpoint pour éliminer la suppression potentielle de points de terminaison client hors laboratoire et augmenter le nombre de lignes par page jusqu'à 100. Sélectionner tous les points de terminaison → VERSION
Dans Cloud Shell, supprimez les composants de l'atelier de programmation.
gcloud compute instances delete vm1 --zone=us-west1-a --quiet
gcloud compute networks subnets delete psc-endpoint-us-west1 vm-subnet --region=us-west1 --quiet
gcloud compute networks subnets delete psc-endpoint-us-west2 --region=us-west2 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --quiet
gcloud compute routers delete consumer-cr --region=us-west1 --quiet
gcloud compute networks delete consumer-vpc --quiet
Depuis l'interface utilisateur d'Atlas, identifiez le cluster psc-mongodb-uswest1-uswest2 → Fin de la simulation
Sélectionnez "Arrêter la simulation d'indisponibilité" —> Quitter
Le cluster rétablit la région us-west1 en tant qu'instance principale. Ce processus prend trois à quatre minutes. Une fois l'opération terminée, arrêtez le cluster. Notez que le contour gris indique un changement d'état.
Insérer le nom du cluster → Arrêter
Supprimer le point de terminaison privé associé à us-west1 et us-west2
Depuis l'interface utilisateur d'Atlas, accédez à Sécurité → Accès au réseau → Point de terminaison privé → sélectionnez "Arrêter".
13. Félicitations
Félicitations ! Vous avez configuré et validé un point de terminaison Private Service Connect avec un accès mondial à MongoDB dans plusieurs régions. Vous avez créé un VPC consommateur, un MongoDB multirégional et des points de terminaison client. Une VM située dans la région us-west1 s'est connectée avec succès à MongoDB dans les régions us-west1 et us-west2 lors du basculement régional.
Cosmopup trouve les ateliers de programmation géniaux !
Et ensuite ?
Découvrez quelques-uns des ateliers de programmation...
- Publier et consommer des services avec GKE à l'aide de Private Service Connect
- Publier et consommer des services à l'aide de Private Service Connect
- Se connecter aux services sur site via une mise en réseau hybride à l'aide de Private Service Connect et d'un équilibreur de charge proxy TCP interne
- Utiliser Private Service Connect avec une configuration DNS automatique
Complément d'informations et Vidéos
- Présentation de Private Service Connect
- Qu'est-ce que Private Service Connect ?
- Types d'équilibreurs de charge compatibles