Automatizza la creazione di reti mesh VPC
Introduzione
La creazione di una rete mesh su più cloud privati virtuali (VPC) è un modo efficace per garantire una comunicazione continua tra le risorse cloud mantenendo l'isolamento e la sicurezza. Una rete mesh VPC è una topologia di rete in cui ogni VPC è connesso a ogni altro VPC, creando percorsi diretti tra tutti loro. Questo tipo di configurazione è ideale per architetture complesse, in cui sono necessarie elevata disponibilità, tolleranza agli errori e comunicazione a bassa latenza tra più VPC.
In questo tutorial ti guideremo attraverso l'utilizzo di uno script Bash per automatizzare il processo di creazione di una rete mesh VPC su DigitalOcean. Lo script semplifica la gestione dei VPC e dei peering, consentendoti di:
- Crea una rete mesh VPC: crea una rete di VPC interconnessi per comunicazioni sicure e isolate.
- Automatizza la gestione del peering: crea e gestisci facilmente più peering VPC senza interagire manualmente con l'API DigitalOcean.
- Monitora i peering VPC esistenti: visualizza lo stato corrente dei peering VPC per garantire una corretta configurazione di rete.
Prerequisiti
- Account DigitalOcean: devi disporre di un account DigitalOcean attivo con accesso a uno o più VPC.
- Token API DigitalOcean: è necessario un token API DigitalOcean valido per autenticarsi e interagire con l'API DigitalOcean. Puoi generare un token API nella dashboard dell'API DigitalOcean.
- jq: lo script utilizza
jq
per analizzare le risposte JSON dall'API DigitalOcean. Assicurati che sia installato sul tuo computer.
Puoi installare jq
utilizzando i seguenti comandi:
Su Ubuntu/Debian:
sudo apt-get install jq
Su CentOS/RedHat:
sudo yum install jq
Installazione e utilizzo dello script Bash
Per utilizzare lo script, scarica prima lo script sul tuo server o computer locale utilizzando il seguente comando:
wget https://solutions-files.ams3.cdn.digitaloceanspaces.com/VPC-Mesh/manage-peering.sh
Quindi, concedi le autorizzazioni di esecuzione ed esegui lo script
chmod +x manage-peering.sh
./manage-peering.sh
Quando richiesto, inserisci il tuo token API DigitalOcean per autenticare lo script.
Enter your DigitalOcean API token:
Ti verrà presentato un menu con le seguenti opzioni:
Select an option:
1. List the VPCs
2. List the VPC peerings
3. Create new VPC peerings
4. Exit
Enter your choice:
- Elenca i VPC: visualizza tutti i VPC nel tuo account DigitalOcean.
- Elenca i peering VPC: visualizza i peering esistenti tra VPC.
- Crea nuovi peering VPC: seleziona i VPC e crea peering per stabilire una rete mesh.
- Esci: esci dallo script.
Funzioni dello script
Controlla la validità del token API
Lo script verifica innanzitutto se il token API DigitalOcean fornito è valido interrogando l'API DigitalOcean per l'elenco dei VPC. Se il token non è valido, lo script terminerà con un messaggio di errore.
Elenca i VPC
Questa funzione recupera ed elenca tutti i VPC associati al tuo account DigitalOcean. Visualizza i seguenti dettagli:
- ID VPC: l'identificatore univoco del VPC.
- Nome: il nome del VPC.
- Regione: la regione in cui si trova il VPC.
L'elenco è formattato in una tabella pulita e dinamica con colonne che si adattano in base alla lunghezza degli ID e dei nomi VPC.
Elenca peering VPC
Questa funzione recupera e visualizza tutti i peering VPC esistenti nel tuo account. L'output include:
- Nome peering: il nome della connessione peering VPC.
- Stato: lo stato corrente del peering.
Ciò ti aiuta a tenere traccia di quali VPC sono già connessi ed evitare la creazione di peering duplicati.
Crea peering VPC
Questa è la funzione principale dello script, che consente di creare nuovi peering VPC tra VPC selezionati. Lo script esegue i seguenti passaggi:
- Ti chiede di elencare facoltativamente i peering VPC esistenti.
- Visualizza tutti i VPC disponibili e ti consente di selezionare quelli a cui desideri eseguire il peering.
- Genera automaticamente tutte le possibili combinazioni di VPC selezionati e tenta di creare peering tra di loro.
- Se esiste già un peering, lo script ti avviserà.
- Lo script restituisce lo stato di ogni tentativo di peering, informandoti se ha avuto successo o se esiste già.
Dopo aver creato i peering, lo script ripulirà eventuali file temporanei e tornerà al menu principale.
Esempio di flusso di lavoro
Elenca VPC: quando selezioni l'opzione 1 per elencare i VPC, l'output potrebbe essere simile al seguente:
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
Elenca peering VPC: selezionando l'opzione 2 per visualizzare i peering esistenti verrà visualizzato qualcosa di simile a questo:
Existing VPC Peerings: No Peering Name Status ---- -------------------------------- -------- 1 peering-VPC-1-VPC-2 active 2 peering-VPC-2-VPC-3 active
Crea peering VPC: selezionando l'opzione 3 ti verrà richiesto di selezionare i VPC per il peering. Per esempio:
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.
Risoluzione dei problemi
- Token API non valido: se il token API non è valido, lo script ti avviserà e uscirà. Assicurati di aver generato il token corretto e che disponga di autorizzazioni sufficienti per accedere ai tuoi VPC.
- Peering già esistenti: se tenti di creare un peering già esistente, lo script ti avviserà che il peering è già stabilito.
- jq mancante: se jq non è installato, lo script fallirà durante il tentativo di analizzare JSON. Installa jq utilizzando il gestore pacchetti appropriato per il tuo sistema.
Conclusione
Questo script fornisce un modo semplice ed efficiente per gestire i peering VPC all'interno della tua infrastruttura DigitalOcean, semplificando la creazione e la manutenzione di una rete mesh di VPC interconnessi. Automatizzando il processo di elenco, gestione e creazione di peering VPC, lo script aiuta a semplificare le attività di configurazione VPC, risparmiando tempo e riducendo la probabilità di errori.
Con questo strumento puoi:
- Interconnetti perfettamente più VPC, consentendo comunicazioni sicure tra diverse regioni e progetti.
- Elenca rapidamente i tuoi VPC e peering esistenti, assicurandoti di avere piena visibilità sulla topologia della tua rete.
- Crea e gestisci facilmente i peering VPC per espandere la tua rete senza intervento manuale.