Utilizza un gateway VPC/VPN per l'accesso in loco privato e sicuro alle risorse cloud
Questa esercitazione comporterà degli addebiti. Utilizza lo stimatore costi per generare una stima dei costi basata sul tuo utilizzo previsto.
IBM offre una serie di modi per estendere in modo sicuro una rete di computer in loco con le risorse in IBM Cloud. Questo vi permette di beneficiare dell'elasticità del provisioning delle risorse cloud quando ne avete bisogno e di rimuoverle quando non sono più necessarie. Inoltre, puoi connettere in modo facile e sicuro le tue capacità in loco ai servizi IBM Cloud.
Questa esercitazione fornisce l'automazione per creare risorse che dimostrano la connettività VPN (Virtual Private Network) tra i server in loco e le risorse cloud come i servizi di dati IBM Cloud® Virtual Private Cloud Virtual Service Instances (VSI) e IBM Cloud. È configurata anche la risoluzione DNS per le risorse cloud. Il popolare gateway VPN strongSwan viene usato per rappresentare il gateway VPN in loco.
Obiettivi
- Accedi a un ambiente VPC (Virtual Private Cloud) da un data center in loco
- Raggiungere in modo sicuro i servizi cloud utilizzando gateway endpoint privati
- Utilizzare DNS in loco per accedere alle risorse cloud tramite VPN
Il seguente diagramma mostra le risorse create da questa esercitazione
Una configurazione terraform creerà le seguenti risorse:
- L'infrastruttura (VPC, Subnets, Security Groups with rules, Network ACL e VSI).
- I gateway endpoint privati Object Storage e Databases for PostgreSQL ai servizi dati.
- Il software del gateway IPsec open source di strongSwan viene utilizzato in loco per stabilire la connessione VPN con l'ambiente cloud.
- Viene eseguito il provisioning di un gateway VPC/VPN per consentire la connessione privata tra le risorse in loco e le risorse cloud.
- Il resolver DNS in loco è connesso all'ubicazione del resolver DNS cloud per consentire l'accesso TLS alle risorse cloud, incluso l'accesso ai gateway endpoint privati virtuali tramite una VPN.
Prima di iniziare
Questa esercitazione richiede:
- la CLI IBM Cloud,
- Plugin IBM Cloud Schematics (
schematics),
- Plugin IBM Cloud Schematics (
jqper eseguire query sui file JSON,gitto optionally clone source code repository,Terraform CLIper eseguire facoltativamente Terraform sul tuo desktop invece del servizio Schematics.
Troverai le istruzioni per scaricare e installare questi strumenti per il tuo ambiente operativo nella guida Introduzione alle esercitazioni.
Il data center in loco in questa esercitazione verrà simulato utilizzando una VSI all'interno di un VPC.
Il meccanismo preferito per collegare i VPC è Transit Gateway. La simulazione di un ambiente in loco con VPC, VSI e VPN viene utilizzata solo a scopo illustrativo.
Inoltre:
- Controlla le autorizzazioni utente. Assicurati che il tuo account utente disponga di autorizzazioni sufficienti per creare e gestire le risorse VPC. Per un elenco delle autorizzazioni richieste, vedere Concessione delle autorizzazioni necessarie per le risorse VPC.
- Hai bisogno di una chiave SSH per collegarti ai server virtuali. Se non hai una chiave SSH, vedi le istruzioni per creare una chiave.
Utilizza Schematics per creare le risorse
- Accedi a IBM Cloud.
- Passare a Crea spazi di lavoro Schematics Nella sezione Specifica modello,
verificare:
- L' URL del repository è
https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-site2site-vpn. - La versione di Terraform è terraform_v1.2
- L' URL del repository è
- In Dettagli area di lavoro,
- Fornire il nome dell'area di lavoro: vpnsts.
- Scegliere un
Resource Groupe unLocation. - Fare clic su Avanti.
- Verificare i dettagli e cliccare su Crea.
- Nella sezione Variabili, fornire i valori richiesti (nome_gruppo_risorse, nome_chiave_ssh) facendo clic sul menu di overflow e selezionando Modifica per ogni riga. Il valore della variabile maintenance deve essere impostato su true.
- Scorrere fino alla parte superiore della pagina e fare clic su Applica piano. Controllare i log per visualizzare lo stato dei servizi creati.
Esplorare le risorse che sono state create facendo clic di seguito e selezionando l'istanza con il prefisso corrispondente. Individuare tutte le risorse nel diagramma precedente.
Verifica connettività
L'output dello spazio di lavoro Schematics contiene le variabili che possono essere utilizzate per verificare la connettività VPN.
-
Ottenere l'elenco di spazi di lavoro, prendere nota della colonna ID, impostare la variabile shell:
ibmcloud schematics workspace list -
Impostare la variabile WORKSPACE:
WORKSPACE_ID=YOUR_WORKSPACE_ID -
Ottieni le variabili di ambiente per le risorse cloud:
ibmcloud schematics output --id $WORKSPACE_ID --output json | jq -r '.[0].output_values[].environment_variables.value' -
Il risultato sarà simile al seguente. Copiare / incollare questi risultati nella shell per impostarli nell'ambiente:
IP_FIP_ONPREM=169.48.x.x IP_PRIVATE_ONPREM=10.0.0.4 IP_PRIVATE_CLOUD=10.1.1.4 IP_FIP_BASTION=52.118.x.x IP_PRIVATE_BASTION=10.1.0.4 IP_DNS_SERVER_0=10.1.0.5 IP_DNS_SERVER_1=10.1.1.6 IP_ENDPOINT_GATEWAY_POSTGRESQL=10.1.1.9 IP_ENDPOINT_GATEWAY_COS=10.1.1.5 HOSTNAME_POSTGRESQL=a43ddb63-dcb1-430a-a2e4-5d87a0dd12a6.6131b73286f34215871dfad7254b4f7d.private.databases.appdomain.cloud HOSTNAME_COS=s3.direct.us-south.cloud-object-storage.appdomain.cloud PORT_POSTGRESQL=32525 -
Ora puoi SSH in ciascuna delle istanze che seguono percorsi diversi, incluso il passaggio attraverso la VPN. Il diagramma mostra i percorsi di comunicazione esercitati dai passi.
Se la chiave SSH non è quella predefinita per SSH, è possibile impostare l'opzione
-I PATH_TO_PRIVATE_KEY_FILEo consultare il manuale di riferimento SSH per ulteriori informazioni.
- Verifica l'accesso alla VSI in loco:
ssh root@$IP_FIP_ONPREM - Verifica l'accesso al bastion cloud:
ssh root@$IP_FIP_BASTION - Verifica l'accesso alla VSI cloud tramite bastion:
ssh -J root@$IP_FIP_BASTION root@$IP_PRIVATE_CLOUD - Verifica l'accesso alla VSI cloud tramite on - premise, tramite il tunnel VPN, tramite bastion:
ssh -J root@$IP_FIP_ONPREM,root@$IP_FIP_BASTION root@$IP_PRIVATE_CLOUD - Verifica l'accesso alla VSI in loco tramite il bastion, tramite la VSI cloud, tramite il tunnel VPN:
ssh -J root@$IP_FIP_BASTION,root@$IP_PRIVATE_CLOUD root@$IP_PRIVATE_ONPREM
Verifica risoluzione DNS
La risoluzione DNS in loco è stata configurata per utilizzare l'ubicazione del resolver DNS IBM Cloud VPC. Ciò consente l'accesso ai servizi cloud in base al nome e la risoluzione agli indirizzi IP dei gateway endpoint privati.
Verifica la soluzione DNS per Postgresql e Object Storage tramite Virtual Endpoint Gateway. I due percorsi in fase di verifica sono mostrati nel seguente diagramma:
-
Accedi alla VSI in loco.
ssh root@$IP_FIP_ONPREM -
Copiare e incollare tre (3) delle variabili catturate in precedenza:
HOSTNAME_POSTGRESQL,HOSTNAME_COS,PORT_POSTGRESQL. -
Eseguire un comando
digper confermare la risoluzione all'istanza del database tramite il gateway endpoint virtuale.dig $HOSTNAME_POSTGRESQL -
Verificare la connettività al database emettendo un comando
telnet. Dovrebbe visualizzare "connesso".telnet $HOSTNAME_POSTGRESQL $PORT_POSTGRESQL -
Una volta connessi al database, immettere un
Ctrl+Cper disconnettersi. -
Eseguire un comando
digper confermare la risoluzione all'istanza di archiviazione oggetti cloud tramite il gateway endpoint virtuale.dig $HOSTNAME_COS -
Verificare la connettività all'istanza Cloud Object Storage emettendo un comando
telnet. Dovrebbe visualizzare "connesso".telnet $HOSTNAME_COS 443 -
Una volta connessi all'istanza Cloud Object Storage, emettere un
Ctrl+Cper disconnettersi.
In caso di problemi, vedi la sezione troubleshoot nel repository GitHub.
Come opzione, espandere l'esercitazione
Vuoi aggiungere qualcosa o estendere questa esercitazione? Ecco alcune idee:
- Nel repositoryGitHub è presente un'applicazione che può essere distribuita che utilizza il database e l'archiviazione oggetti cloud. Le istruzioni su come eseguire la distribuzione si trovano nel README.
- Se hai distribuito l'applicazione, aggiungi una zona DNS per l'applicazione.
- Esegui l'applicazione su più Virtual Servers for VPC e aggiungi un programma di bilanciamento del carico per distribuire il traffico del microservizio in entrata.
Rimuovi le risorse
- Vai a Schematics Workspaces, fai clic sul tuo workspace
- Fare clic su Azioni... > Distruggi risorse
- Fare clic su Azioni... > Elimina spazio di lavoro