Exposer des services aux consommateurs via une connectivité privée

Ce tutoriel peut entraîner 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.

Ce tutoriel vous guide dans les étapes de configuration d'un Private Path service entre un fournisseur et un ensemble de consommateurs. Avec Private Path service, les consommateurs accèdent à l'application ou au service implémenté par le fournisseur via le réseau principal IBM sans passer par Internet.

Objectifs

  • Comprendre les bases de Private Path service
  • Déployez une application dans un compte sans exposer de noeuds finaux publics.
  • Exposez l'application avec Private Path service.
  • Accédez à l'application à partir d'un client client client via une connectivité privée uniquement.

Architecture
Architecture showing Private Path service

  1. Un fournisseur implémente une application résiliente prise en charge par plusieurs serveurs virtuels répartis sur plusieurs zones.
  2. Le fournisseur crée un Private Path network load balancer (NLB) configuré avec des pools de back end pointant vers les serveurs virtuels, en répartissant la charge entre les serveurs avec l'algorithme de permutation circulaire.
  3. Un Private Path service fait référence à Private Path NLB et spécifie le noeud final de service utilisé par les consommateurs.
  4. Les consommateurs accèdent à l'application fournisseur en passant par des passerelles de points d'extrémité virtuels privés. Tout le trafic reste privé dans IBM Cloud.

Avant de commencer

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

  • Un compte facturable IBM Cloud pour héberger les ressources du fournisseur et du consommateur.
  • Clé SSH VPC permettant de se connecter aux instances de serveur virtuel mises à disposition dans le tutoriel.

Créez une clé SSH VPC

Lors du provisionnement des instances de serveurs virtuels, une clé SSH est injectée dans les instances afin que vous puissiez vous connecter ultérieurement aux serveurs. Cette clé SSH doit se trouver dans la même région que celle dans laquelle vous allez déployer les ressources du tutoriel.

  1. Si vous ne disposez pas d'une clé SSH configurée dans IBM Cloud, reportez-vous à ces instructions pour créer une clé pour VPC.
  2. Notez le nom que vous avez utilisé pour la clé SSH.

Créer les ressources et l'application du fournisseur

Dans ce tutoriel, vous agissez d'abord en tant que fournisseur et implémentez une application. Dans une deuxième phase, vous prenez le rôle de consommateur et appelez l'application. L'application est un serveur Web nginx simple.

  1. Accédez à Schematics pour créer un espace de travail.
  2. A l'étape Spécifier le modèle:
    1. Définissez le URL du référentiel en https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/provider.
    2. Veillez à cocher Utiliser le référentiel complet.
    3. Définissez la version Terraform sur terraform_v1.5.
    4. Cliquez sur Suivant.
  3. Dans l'étape Détails de l'espace de travail:
    1. Définissez le nom de l'espace de travail sur pps-provider.
    2. Sélectionnez un groupe de ressources et un emplacement où créer l'espace de travail. Cela n'affectera pas les ressources créées pour le tutoriel.
    3. Cliquez sur Suivant
  4. Cliquez sur Créer.

Dans l'espace de travail Paramètres, sous Variables:

  1. Localisez la variable " existing_ssh_key_name
    1. Utilisez le menu (les points) pour éditer sa valeur.
    2. Définissez la valeur sur le nom de la clé SSH que vous avez créée dans la section précédente ou sur une clé SSH existante.
    3. Économiser.
  2. Vous pouvez également, si vous le souhaitez, ajuster les valeurs d'autres variables telles que region, basename.

Enfin, créez les ressources:

  1. Cliquez sur Appliquer un plan.
  2. Attendez que Schematics termine la mise à disposition des ressources.

Passez en revue les ressources et l'application du fournisseur

L'exécution de Schematics pour le fournisseur crée les ressources suivantes:

  • un nuage privé virtuel (VPC),
  • trois sous-réseaux, un pour chaque zone,
  • un minimum d'une instance de serveur virtuel dans chaque sous-réseau,
  • Private Path NLB configuré avec un pool de back-end incluant toutes les instances de serveur virtuel,
  • et un Private Path service.

des
du fournisseur*

  1. Accédez à Clouds privés virtuels, Sous-réseaux et Instances de serveur virtuel pour passer en revue les ressources mises à disposition.
  2. Recherchez Private Path NLB sous Equilibreurs de charge.
  3. Dans les servicesPrivate Path, sélectionnez les Private Path servicecréés.
  4. Dans les détails de Private Path service, notez que le noeud final de service est défini sur vpc-pps.example.com. Notez qu'il peut être différent si vous avez spécifié un basename personnalisé lors de la configuration de l'espace de travail. Il s'agit du noeud final utilisé par les consommateurs pour interagir avec votre application.
  5. Notez le CRN car vous devez transmettre ces informations aux consommateurs. Les consommateurs utilisent le CRN pour identifier votre application lors de la création de passerelles de points d'extrémité virtuels privés.

Votre instance Private Path service est presque prête à être partagée avec les consommateurs. Mais avant de publier Private Path service, il est recommandé de vérifier qu'il fonctionne comme prévu.

Créer les ressources de consommateur

Pour vérifier que Private Path service est correctement configuré, vous allez déployer des serveurs virtuels pour accéder à l'application, comme le ferait n'importe quel consommateur de Private Path service.

Tant que Private Path service n'est pas publié, il n'est accessible que dans le même compte que celui où il est créé. Il offre une bonne occasion de tester le service avant de le partager avec d'autres. C'est la raison pour laquelle, à ce stade, le côté consommateur de ce tutoriel est mis à disposition dans le même compte que l'application fournisseur.

  1. Accédez à Schematics pour créer un espace de travail.
  2. A l'étape Spécifier le modèle:
    1. Définissez le URL du référentiel en https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/consumer.
    2. Veillez à cocher Utiliser le référentiel complet.
    3. Définissez la version Terraform sur terraform_v1.5.
    4. Cliquez sur Suivant.
  3. Dans l'étape Détails de l'espace de travail:
    1. Définissez le nom de l'espace de travail sur pps-consumer.
    2. Sélectionnez un groupe de ressources et un emplacement où créer l'espace de travail. Cela n'affectera pas les ressources créées pour le tutoriel.
    3. Cliquez sur Suivant
  4. Cliquez sur Créer.

Dans l'espace de travail Paramètres, dans la section Variables:

  1. Localisez la variable " existing_ssh_key_name
    1. Utilisez le menu (les points) pour éditer sa valeur.
    2. Définissez la valeur sur le nom de la clé SSH utilisée pour ce tutoriel.
    3. Économiser.
  2. Localisez la variable " provider_crn
    1. Editez sa valeur.
    2. Définissez la valeur sur le nom de ressource de cloud Private Path service obtenu précédemment.
    3. Économiser.
  3. Vous pouvez également ajuster les valeurs d'autres variables telles que region, basename. region doit correspondre à la valeur définie dans l'espace de travail pps-provider.

Enfin, créez les ressources:

  1. Cliquez sur Appliquer un plan.
  2. Attendez que Schematics termine la mise à disposition des ressources.

Passez en revue les ressources et l'application client

L'exécution de Schematics pour le consommateur crée les ressources suivantes:

  • un nuage privé virtuel (VPC),
  • deux sous-réseaux,
  • une instance de serveur virtuel dans chaque sous-réseau,
  • une passerelle de points d'extrémité virtuels privés configurée avec le CRN Private Path service et avec une adresse IP dans chaque sous-réseau.

des
consommatrices*

  1. Accédez à Instances de serveur virtuel pour passer en revue les instances mises à disposition.
  2. Accédez à Passerelles de points d'extrémité virtuels privés et remarquez que la passerelle de points d'extrémité est marquée comme En attente.

A ce stade, le consommateur n'est pas encore en mesure d'accéder à l'application fournisseur. Il attend que la demande de connexion à Private Path service soit vérifiée et autorisée.

Approuver la demande de consommateur

Agissant en tant que fournisseur de la demande,

  1. Accédez à la liste des servicesPrivate Path.

  2. Notez que le Private Path service que vous avez créé comporte des demandes de connexion en attente à vérifier.

  3. Sélectionnez Private Path service.

  4. Dans le tableau Demandes de connexion, recherchez la demande provenant du destinataire.

  5. Utilisez le menu (les pays) pour autoriser la connexion.

    La boîte de dialogue Autoriser la demande de connexion vous permet de créer une règle permettant d'autoriser automatiquement toutes les demandes à partir du même ID de compte. Ne cochez pas cette case pour l'instant. À l'avenir, cela peut accélérer le processus des consommateurs qui demandent des connexions à partir de ce compte.

  6. Cliquez sur Autoriser.

Tester la connectivité entre le consommateur et le fournisseur

Agissant à nouveau en tant que consommateur,

  1. Accédez à Passerelles de points d'extrémité virtuels privés et remarquez que la passerelle de points d'extrémité a été déplacée vers Stable.

  2. Notez le noeud final de service. Il doit être vpc-pps.example.com sauf si vous avez spécifié un basename personnalisé lors de la configuration de l'espace de travail.

  3. Accédez à Instances de serveur virtuel et recherchez l'adresse IP flottante affectée à l'une des instances de consommateur. Les instances sont nommées comme vpc-pps-consumer-vsi-us-south-1 ou vpc-pps-consumer-vsi-us-south-2.

  4. Ouvrez une connexion SSH à l'une des instances.

    ssh root@<floating-ip>
    
  5. Accédez à l'application fournisseur en appelant le noeud final de service.

    curl http://vpc-pps.example.com
    

    La sortie doit se présenter ainsi :

    Hello world from vpc-pps-provider-vsi-us-south-2
    

    La résolution du nom de domaine en instances de serveur virtuel peut prendre quelques minutes.

  6. Répétez la commande curl plusieurs fois. Notez qu'il affiche une sortie différente lorsqu'il passe par toutes les instances de serveur virtuel connectées au pool de back-end de Private Path NLB.

Félicitations, votre Private Path service fonctionne comme prévu et est prêt à être publié pour consommation par d'autres utilisateurs.

Extension du tutoriel

Ce tutoriel se concentre sur les bases de Private Path service avec une application fournisseur dans un VPC et un consommateur dans un autre VPC, tous dans le même compte:

Suppression de ressources

Pour supprimer les ressources créées pour ce tutoriel:

  1. Accédez à Schematics

    1. Sélectionnez l'espace de travail " pps-consumer
    2. Dans Actions ..., sélectionnez Détruire les ressources.
    3. Entrez pps-consumer et cliquez sur Détruire.
    4. Attendez que Schematics termine le travail.
    5. Une fois l'opération terminée, sélectionnez Supprimer l'espace de travail dans le menu Actions ....
    6. Entrez pps-consumer et cliquez sur Supprimer.
  2. Répétez les mêmes étapes avec l'espace de travail pps-provider.

    Vous devrez peut-être relancer la destruction des ressources au bout de quelques minutes si la suppression de l'espace de travail a échoué car le groupe de ressources n'a pas pu être supprimé.

En fonction de la ressource, le service peut ne pas être supprimé immédiatement mais conservé un certain temps (7 jours par défaut). Pour récupérer la ressource, vous pouvez la supprimer de manière définitive ou la restaurer pendant la période de conservation. Pour savoir comment utiliser la récupération de ressources, consultez ce document.