IBM Cloud Docs
Utilisation d'une passerelle VPC/VPN pour un accès sur site sécurisé et privé aux ressources de cloud

Utilisation d'une passerelle VPC/VPN pour un accès sur site sécurisé et privé aux ressources de cloud

Ce tutoriel entraînera des coûts. Utilisez l'Estimateur de coûts pour générer une estimation du coût en fonction de votre utilisation projetée.

IBM propose plusieurs méthodes pour étendre de manière sécurisée un réseau informatique sur site avec des ressources dans IBM Cloud. Cela vous permet de bénéficier de l'élasticité de la mise à disposition de ressources cloud lorsque vous en avez besoin et de les supprimer lorsque vous n'en avez plus besoin. De plus, vous pouvez connecter facilement et en toute sécurité vos fonctionnalités sur site aux services IBM Cloud.

Ce tutoriel fournit l'automatisation permettant de créer des ressources qui démontrent la connectivité du réseau privé virtuel (VPN) entre les serveurs sur site et les ressources cloud, telles que IBM Cloud® Virtual Private Cloud Virtual Service Instances (VSIs) et les services de données IBM Cloud. La résolution DNS aux ressources cloud est également configurée. La passerelle populaire VPN strongSwan est utilisée pour représenter la passerelle VPN sur site.

Objectifs

  • Accéder à un environnement de nuage privé virtuel (VPC) à partir d'un centre de données sur site
  • Accéder en toute sécurité aux services en nuage à l'aide de passerelles de points d'extrémité privés
  • Utilisez DNS sur site pour accéder aux ressources de cloud via le VPN

Le diagramme suivant présente les ressources créées par ce tutoriel

Architecture*Diagramme d'
du

Une configuration Terraform crée les ressources suivantes :

  1. L'infrastructure (VPC, sous-réseaux, groupes de sécurité avec règles, Network ACL et VSI).
  2. Les passerelles de nœud final privées Object Storage et Databases for PostgreSQL vers les services de données.
  3. Le logiciel de passerelle open source IPSec de strongSwan est utilisé sur site pour établir la connexion VPN à l'environnement de cloud.
  4. Une passerelle VPC/VPN est mise à disposition pour permettre la connectivité privée entre les ressources sur site et les ressources cloud.
  5. Le programme de résolution DNS sur site est connecté au cloud DNS Resolver Location pour permettre l'accès aux ressources cloud, y compris l'accès aux passerelles de nœuds finaux privés virtuels via un VPN.

Avant de commencer

Pour ce tutoriel, vous devez disposer des éléments suivants :

  • IBM Cloud CLI,
    • Plug-in IBM Cloud Schematics (schematics),
  • de jq pour interroger les fichiers JSON,
  • git to optionally clone source code repository,
  • Terraform CLI to optionally run Terraform on your desktop instead of the Schematics service.

Vous trouverez des instructions de téléchargement et d'installation de ces outils pour votre environnement d'exploitation dans le document Démarrer avec les tutoriels.

Le centre de données sur site de ce tutoriel sera simulé à l'aide d'un VSI au sein d'un VPC.

Le mécanisme préféré pour connecter les VCP est Transit Gateway. La simulation d'un environnement sur site avec VPC, VSI et VPN n'est utilisée qu'à titre d'illustration.

De plus :

Utilisez Schematics pour créer les ressources

  1. Connectez-vous à IBM Cloud.
  2. Naviguez vers Créer Schematics Espaces de travail Sous la section Spécifier le modèle, vérifiez :
    1. L'URL du référentiel est https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-site2site-vpn
    2. La version de Terraform est terraform_v1.2
  3. Sous Détails de l'espace de travail,
    1. Indiquez un nom d'espace de travail : vpnsts.
    2. Choisissez un Resource Group et un Location.
    3. Cliquez sur Suivant.
  4. Vérifiez les détails, puis cliquez sur Créer.
  5. Sous la section Variables, indiquez les valeurs requises (resource_group_name, ssh_key_name) en cliquant sur le menu déroulant dynamique et en sélectionnant Editer pour chaque ligne. La valeur de la variable maintenance doit être définie sur true.
  6. Accédez au haut de la page et cliquez sur Appliquer le plan. Consultez les journaux pour voir le statut des services créés.

Explorez les ressources créées en cliquant ci-dessous et en sélectionnant l'instance avec le préfixe correspondant. Localisez toutes les ressources du diagramme ci-dessus.

Vérifier la connectivité

La sortie de l'espace de travail Schematics contient des variables qui peuvent être utilisées pour vérifier la connectivité VPN.

  1. Récupérez la liste des espaces de travail, notez la colonne ID, définissez la variable du shell :

    ibmcloud schematics workspace list
    
  2. Définissez la variable WORKSPACE_ID :

    WORKSPACE_ID=YOUR_WORKSPACE_ID
    
  3. Récupérez les variables d'environnement pour les ressources cloud :

    ibmcloud schematics output --id $WORKSPACE_ID --output json | jq -r '.[0].output_values[].environment_variables.value'
    
  4. La sortie va ressembler à ce qui suit. Copiez / collez ces résultats dans votre shell afin de les définir dans l'environnement:

    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
    
  5. Vous pouvez maintenant établir une connexion ssh à chacune des instances suivant différents chemins, y compris en effectuant un saut via le VPN. Le diagramme illustre les chemins de communication testés par les étapes.

    Si la clé SSH n'est pas la clé par défaut pour SSH, vous pouvez définir l'option -I PATH_TO_PRIVATE_KEY_FILE ou consulter le manuel de référence SSH pour plus d'aide.

Vérifier la connectivité
Vérifier la connectivité

  1. Test de l'accès au VSI sur site :
    ssh root@$IP_FIP_ONPREM
    
  2. Test de l'accès au bastion cloud :
    ssh root@$IP_FIP_BASTION
    
  3. Testez l'accès au VSI cloud via le bastion :
    ssh -J root@$IP_FIP_BASTION root@$IP_PRIVATE_CLOUD
    
  4. Testez l'accès au VSI cloud à via le système sur site, via le tunnel VPN, via le bastion :
    ssh -J root@$IP_FIP_ONPREM,root@$IP_FIP_BASTION root@$IP_PRIVATE_CLOUD
    
  5. Testez l'accès au VSI sur site via un bastion, via le VSI cloud, via le tunnel VPN :
    ssh -J root@$IP_FIP_BASTION,root@$IP_PRIVATE_CLOUD root@$IP_PRIVATE_ONPREM
    

Vérifiez la résolution DNS

La résolution DNS sur site a été configurée pour utiliser l'emplacement du résolveur DNS IBM Cloud VPC L'emplacement du résolveur DNS. Cela permet d'accéder aux services cloud par leur nom et de les convertir en adresses IP des passerelles de nœud final privées.

Testez la résolution DNS vers Postgresql et Object Storage via la passerelle de nœud final virtuel. Les deux chemins d'accès vérifiés sont indiqués dans le diagramme ci-dessous :

Vérification de la résolution DNS
Vérification de la résolution DNS

  1. Accédez à l'instance de serveur virtuel sur site.

    ssh root@$IP_FIP_ONPREM
    
  2. Copiez et collez trois (3) des variables capturées précédemment: HOSTNAME_POSTGRESQL, HOSTNAME_COS, PORT_POSTGRESQL.

  3. Exécutez une commande dig pour confirmer la résolution de l'instance de base de données via la passerelle de noeud final virtuel.

    dig $HOSTNAME_POSTGRESQL
    
  4. Vérifiez la connectivité à la base de données en exécutant une commande telnet. Il doit afficher "connecté".

    telnet $HOSTNAME_POSTGRESQL $PORT_POSTGRESQL
    
  5. Une fois connecté à la base de données, émettez une commande Ctrl+C pour vous déconnecter.

  6. Exécutez une commande dig pour confirmer la résolution de l'instance de stockage d'objets cloud via la passerelle de noeud final virtuel.

    dig $HOSTNAME_COS
    
  7. Vérifiez la connectivité à l'instance de stockage d'objets cloud en exécutant une commande telnet. Il doit afficher "connecté".

    telnet $HOSTNAME_COS 443
    
  8. Une fois connecté à l'instance de stockage d'objets cloud, émettez une commande Ctrl+C pour vous déconnecter.

Si un incident se produit, reportez-vous à la section Identification et résolution des incidents dans le référentiel github.

Vous pouvez éventuellement développer le tutoriel

Vous souhaitez enrichir ou développer ce tutoriel ? Voici quelques suggestions :

  • Le référentielGitHub contient une application qui peut être déployée et qui utilise la base de données et le stockage d'objets cloud. Les instructions de déploiement se trouvent dans le fichier README.
  • Si vous avez déployé l'application Ajout d'une zone DNS pour l'application.
  • Exécutez l'application sur plusieurs Virtual Servers for VPC et ajoutez un équilibreur de charge pour distribuer le trafic de microservice entrant.

Suppression de ressources

  1. Accédez à Espaces de travail Schematics, cliquez sur votre espace de travail
  2. Cliquez sur Actions ... > Détruire les ressources
  3. Cliquez sur Actions ... > Détruire l'espace de travail