Automatisez la création de réseaux maillés VPC
Introduction
La création d'un réseau maillé sur plusieurs Virtual Private Clouds (VPC) est un moyen puissant d'assurer une communication transparente entre vos ressources cloud tout en maintenant l'isolation et la sécurité. Un réseau maillé VPC est une topologie de réseau dans laquelle chaque VPC est connecté à tous les autres VPC, créant des chemins directs entre eux tous. Ce type de configuration est idéal pour les architectures complexes, où vous avez besoin d'une haute disponibilité, d'une tolérance aux pannes et d'une communication à faible latence sur plusieurs VPC.
Dans ce didacticiel, nous vous expliquerons comment utiliser un script Bash pour automatiser le processus de création d'un réseau maillé VPC sur DigitalOcean. Le script simplifie la gestion des VPC et des peerings, ce qui vous permettra de :
- Créez un réseau maillé VPC : établissez un réseau de VPC interconnectés pour une communication sécurisée et isolée.
- Automatisez la gestion du peering : créez et gérez facilement plusieurs peerings de VPC sans interagir manuellement avec l'API DigitalOcean.
- Surveiller les peerings de VPC existants : affichez l'état actuel des peerings de VPC pour garantir une configuration réseau appropriée.
Conditions préalables
- Compte DigitalOcean : vous devez disposer d'un compte DigitalOcean actif avec accès à un ou plusieurs VPC.
- Jeton API DigitalOcean : un jeton API DigitalOcean valide est requis pour s'authentifier et interagir avec l'API DigitalOcean. Vous pouvez générer un jeton API dans le tableau de bord de l'API DigitalOcean.
- jq : le script utilise
jq
pour analyser les réponses JSON de l'API DigitalOcean. Assurez-vous qu’il est installé sur votre ordinateur.
Vous pouvez installer jq
à l'aide des commandes suivantes :
Sur Ubuntu/Debian :
sudo apt-get install jq
Sur CentOS/RedHat :
sudo yum install jq
Installation et utilisation du script Bash
Pour utiliser le script, téléchargez d'abord le script sur votre serveur ou votre ordinateur local à l'aide de la commande suivante :
wget https://solutions-files.ams3.cdn.digitaloceanspaces.com/VPC-Mesh/manage-peering.sh
Ensuite, accordez les autorisations d'exécution et exécutez le script
chmod +x manage-peering.sh
./manage-peering.sh
Lorsque vous y êtes invité, saisissez votre jeton API DigitalOcean pour authentifier le script.
Enter your DigitalOcean API token:
Un menu vous sera présenté avec les options suivantes :
Select an option:
1. List the VPCs
2. List the VPC peerings
3. Create new VPC peerings
4. Exit
Enter your choice:
- Répertoriez les VPC : affichez tous les VPC de votre compte DigitalOcean.
- Répertorier les peerings de VPC : affichez les peerings existants entre les VPC.
- Créer de nouveaux peerings VPC : sélectionnez des VPC et créez des peerings pour établir un réseau maillé.
- Quitter : quittez le script.
Fonctions de script
Vérifier la validité du jeton API
Le script vérifie d'abord si le jeton d'API DigitalOcean fourni est valide en interrogeant l'API DigitalOcean pour obtenir la liste des VPC. Si le jeton n'est pas valide, le script se terminera avec un message d'erreur.
Répertorier les VPC
Cette fonction récupère et répertorie tous les VPC associés à votre compte DigitalOcean. Il affiche les détails suivants :
- ID du VPC : identifiant unique du VPC.
- Nom : nom du VPC.
- Région : région dans laquelle se trouve le VPC.
La liste est formatée dans un tableau propre et dynamique avec des colonnes qui s'ajustent en fonction de la longueur des ID et des noms de VPC.
Répertorier les appairages de VPC
Cette fonction récupère et affiche tous les peerings VPC existants dans votre compte. La sortie comprend :
- Nom d'appairage : nom de la connexion d'appairage VPC.
- Statut : état actuel du peering.
Cela vous aide à suivre quels VPC sont déjà connectés et à éviter de créer des peerings en double.
Créer des appairages de VPC
Il s'agit de la fonction principale du script, vous permettant de créer de nouveaux peerings de VPC entre les VPC sélectionnés. Le script effectue les étapes suivantes :
- Vous invite éventuellement à répertorier les peerings de VPC existants.
- Affiche tous les VPC disponibles et vous permet de sélectionner ceux que vous souhaitez homologuer.
- Génère automatiquement toutes les combinaisons possibles de VPC sélectionnés et tente de créer des peerings entre eux.
- Si un peering existe déjà, le script vous en informera.
- Le script affiche l'état de chaque tentative de peering, vous indiquant si elle a réussi ou si elle existe déjà.
Après avoir créé les peerings, le script nettoiera tous les fichiers temporaires et reviendra au menu principal.
Exemple de flux de travail
Liste des VPC : lorsque vous sélectionnez l'option 1 pour répertorier les VPC, le résultat peut ressembler à ceci :
Available VPCs: No VPC ID Name Region ---- -------------------------------- ------------ ------- 1 vpc-123456789abcdef VPC-1 NYC1 2 vpc-abcdef123456789 VPC-2 SFO2 3 vpc-987654321abcdef VPC-3 NYC1
Liste des peerings VPC : la sélection de l'option 2 pour afficher les peerings existants affichera quelque chose comme ceci :
Existing VPC Peerings: No Peering Name Status ---- -------------------------------- -------- 1 peering-VPC-1-VPC-2 active 2 peering-VPC-2-VPC-3 active
Créer des peerings VPC : la sélection de l'option 3 vous invitera à sélectionner les VPC pour le peering. Par exemple:
Select VPCs to create peerings (e.g., 1 3): 1 vpc-123456789abcdef VPC-1 NYC1 2 vpc-abcdef123456789 VPC-2 SFO2 Enter the numbers of the VPCs you want to peer (space-separated): 1 2 Creating peering: peering-VPC-1-VPC-2 between VPC-1 and VPC-2 VPC peering between VPC-1 and VPC-2 has been created.
Dépannage
- Jeton API invalide : si le jeton API n'est pas valide, le script vous en informera et se terminera. Assurez-vous que vous avez généré le bon jeton et qu'il dispose des autorisations suffisantes pour accéder à vos VPC.
- Les peerings existent déjà : si vous tentez de créer un peering qui existe déjà, le script vous avertit que le peering est déjà établi.
- Jq manquant : si jq n'est pas installé, le script échouera lors de la tentative d'analyse de JSON. Installez jq à l'aide du gestionnaire de packages approprié pour votre système.
Conclusion
Ce script fournit un moyen simple et efficace de gérer les peerings de VPC au sein de votre infrastructure DigitalOcean, facilitant ainsi la création et la maintenance d'un réseau maillé de VPC interconnectés. En automatisant le processus de listage, de gestion et de création d'appairages de VPC, le script permet de rationaliser les tâches de configuration de VPC, ce qui vous fait gagner du temps et réduit le risque d'erreurs.
Avec cet outil, vous pouvez :
- Interconnectez de manière transparente plusieurs VPC, permettant une communication sécurisée entre différentes régions et projets.
- Répertoriez rapidement vos VPC et peerings existants, en vous assurant d'avoir une visibilité complète sur la topologie de votre réseau.
- Créez et gérez sans effort des peerings VPC pour étendre votre réseau sans intervention manuelle.