Utilisation de nœuds finaux privés virtuels avec Code Engine
Tous les projets IBM Cloud® Code Engine offrent une intégration aux nœuds finaux privés virtuels (VPE) de IBM Cloud® pour un cloud privé virtuel (VPC). Cette prise en charge vous permet de vous connecter à partir de votre réseau VPC à des applications ou des fonctions Code Engine en utilisant les adresses IP de votre choix, qui sont allouées à partir d'un sous-réseau dans votre VPC.
Avec Code Engine, vous pouvez utiliser les types de VPE suivants :
- Nœuds finaux privés virtuels pour gérer les ressources de projet. Il y a un VPE statique par région.
- Nœuds finaux privés virtuels pour accéder aux applications. Il existe un VPE par projet Code Engine . Toutes les applications du projet sont accessibles à l'aide de ce VPE.
Les noeuds finaux privés fournissent une connexion aux ressources, applications ou fonctions de votre projet sur le réseau privé IBM Cloud. Lorsque vous vous connectez via un nœud final privé virtuel, tout le trafic est acheminé vers le matériel dédié aux applications Code Engine et reste sur le réseau privéIBM Cloud. Il n'y a pas de frais supplémentaires pour tout le trafic acheminé vers et à partir de ce nœud final à la condition que le trafic reste dans IBM Cloud.
Un projet Code Engine est automatiquement configuré avec un nœud final public et un nœud final privé virtuel.
Vous pouvez contrôler la visibilité des applications Code Engine et indiquer si l'application ou les fonctions doivent être exposées à des noeuds finaux publics ou privés. Une application ou une fonction configurée pour le réseau privé est accessible via le VPE ou par d'autres applications ou fonctions Code Engine. Les applications ou les fonctions accessibles via VPE ne quittent pas le réseau IBM et restent dans le réseau IBM Cloud.
Utilisation de votre VPE pour gérer les ressources de projet en toute sécurité
Avant de commencer, vous devez disposer d'un Compte IBM Cloud.
-
Créez un IBM Cloud® Virtual Private Cloud. Suivez les instructions d'initiation.
-
Vérifiez que votre VPC possède au moins un VSI (instance de serveur virtuel) et qu'il puisse effectivement se connecter au VSI. Vous pouvez utiliser la console VPC, l'interface de ligne de commande et l'API pour mettre à disposition une instance de serveur virtuel à partir de la page IBM Cloud® Virtual Private Cloud de la console IBM Cloud.
- Créez une Clé SSH pour accéder à l'instance de serveur virtuel.
- Créez une instance de serveur virtuel à l'aide de la console.
- Réservez une adresse IP flottante de sorte que votre instance soit accessible à partir d'Internet.
- Connectez-vous à votre instance de serveur virtuel.
-
Dans la console IBM Cloud, cliquez sur l'icône Menu et sélectionnez Infrastructure VPC -> Réseau-> Passerelles de nœud final privées virtuelles. Créez un VPE pour le nœud final Code Engine régional
api.<region>.codeengine.cloud.ibm.comen accomplissant cetteInstruction. -
Une fois que vous avez créé votre VPE, cela peut prendre quelques minutes pour le nouveau VPE et le nouveau DNS privé (pDNS) pour terminer le processus et commencer à travailler pour votre VPC. L'opération est terminée lorsqu'une adresse IP est définie dans la vue détaillée du noeud final privé virtuel.
-
Clé SSH dans votre instance de serveur virtuel et utilisez
root@. Par exemple,ssh root@<VSI_floating_IP_address>. -
Pour accéder aux ressources Code Engine à partir de l'interface de ligne de commande, Configurez votre environnement d'interface de ligne de commandeCode Engine. Assurez-vous que votre interface de ligne de commande IBM Cloud est connectée à
private.cloud.ibm.com. -
Spécifiez un projet Code Engine pour utiliser le nœud final privé. Pour créer un projet, utilisez la commande
ibmcloud ce project createavec l'option--endpoint=private.ibmcloud ce project create --name myproject --endpoint=privateAttendez que le projet soit à l'état
active. Avec l'interface de ligne de commande, vous pouvez confirmer l'état du projet à l'aide de la commandeibmcloud ce project get.Si vous souhaitez qu'un projet Code Engine existant utilise le nœud final privé, utilisez la commande
ibmcloud ce project selectavec l'option--endpoint=private.ibmcloud ce project select --name myproject --endpoint=privatePour les commandes
project createetproject select, si l'option--endpointn'est pas explicitement spécifiée, le comportement est déterminé par le système. Si l'interface de ligne de commande IBM Cloud est connectée àprivate.cloud.ibm.com, le projet Code Engine se comporte comme si--endpointétaitprivate. Si l'interface de ligne de commande IBM Cloud est connectée àcloud.ibm.com, le projet Code Engine se comporte comme si--endpointétaitpublic. -
Si vous n'avez pas créé de projet et que vous avez sélectionné un projet existant et que vous souhaitez que votre application ou votre fonction ne soit visible que par le noeud final privé, vérifiez que le projet existant prend en charge les applications avec une visibilité privée. Utilisez la commande
ibmcloud ce project getpour vérifier que la sortie deApplication Private Visibility Supportedest définie surtrue. Si la valeur estfalse, Contactez le support IBM pour activer cette fonction dans votre projet existant.ibmcloud ce project get -n myprojectExemple de sortie
Getting project 'myproject'... OK Name: myproject ID: abcdabcd-abcd-abcd-abcd-f1de4aab5d5d Status: active Enabled: true Application Private Visibility Supported: false Selected: true Region: us-south Resource Group: default Service Binding Service ID: ServiceId-1234abcd-abcd-abcd-1111-1a2b3c4d5e6f Age: 52d Created: Tue, 28 Sep 2021 05:12:16 -0500 Updated: Tue, 28 Sep 2021 05:12:19 -0500 Quotas: Category Used Limit App revisions 1 60 Apps 1 20 Build runs 1 100 Builds 2 100 Configmaps 2 100 CPU 0 64 Ephemeral storage 0 256G Instances (active) 0 250 Instances (total) 0 2500 Job runs 0 100 Jobs 0 100 Memory 0 256G Secrets 6 100 Subscriptions (cron) 0 100 Subscriptions (IBM Cloud Object Storage) 0 100 Subscriptions (Kafka) 0 100 -
Créez une application qui ne soit visible que pour le nœud final privé. Utilisez la commande
ibmcloud ce application createavec l'option--visibility=private. Vous pouvez également utiliser la console pour créer une application ou mettre à jour une application existante et définir laVisibilité de votre application.ibmcloud ce application create -n myapp --visibility=private
Vous avez maintenant configuré et défini votre nœud final privé virtuel pour gérer les ressources de projet. Si vous souhaitez contrôler quelle application vous devez exposer au nœud final privé, vous pouvez configurer un nœud final privé virtuel pour accéder à votre application.
Utilisation de votre nœud final privé virtuel pour accéder à une application sécurisée
Avant de commencer, vous devez disposer d'un Compte IBM Cloud.
Vous pouvez uniquement utiliser votre nœud final privé virtuel pour accéder à votre application avec un nœud final privé si votre projet sélectionné prend en charge laVisibilité privée de l'application.
Pour confirmer si le projet prend en charge la visibilité privée de l'application, utilisez la commande ibmcloud ce project get pour vérifier
que la sortie de Application Private Visibility Supported est définie sur true.
-
Créez un IBM Cloud® Virtual Private Cloud. Suivez les instructions d'initiation.
-
Vérifiez que votre VPC possède au moins un VSI (instance de serveur virtuel) et qu'il puisse effectivement se connecter au VSI. Vous pouvez utiliser la console, l'interface de ligne de commande et l'API pour mettre à disposition rapidement des instances de serveur virtuel à partir de la page IBM Cloud® Virtual Private Cloud de la console IBM Cloud.
- Créez une Clé SSH pour accéder à l'instance de serveur virtuel.
- Créez une instance de serveur virtuel à l'aide de l'interface utilisateur.
- Réservez une adresse IP flottante de sorte que votre instance soit accessible à partir d'Internet.
- Connectez-vous à votre instance de serveur virtuel.
-
A partir de votre projet Code Engine, vérifiez que votre application est configurée avec un paramètre
visibility=private. Voir Déploiement de votre application avec un noeud final privé. -
Dans la console IBM Cloud, cliquez sur l'icône Menu et sélectionnez Infrastructure VPC -> Réseau-> Passerelles de nœud final privées virtuelles. Créez un nœud final privé virtuel pour le nœud final régional deCode Engine pour le projet spécifique que vous utilisez pour la visibilité d'application privée en accomplissant cette instruction. Ce projet est répertorié dans la table avec son nœud final au format,
*.<uuid>.private.<region>.codeengine.appdomain.cloud. -
Une fois que vous avez créé votre VPE, cela peut prendre quelques minutes pour le nouveau VPE et le nouveau DNS privé (pDNS) pour terminer le processus et commencer à travailler pour votre VPC. L'opération est terminée lorsqu'une adresse IP est définie dans la vue détaillée du noeud final privé virtuel.
-
Extrayez l'URL de l'application Code Engine qui est exposée au réseau privé. L'URL est au format suivant :
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud. A partir de la console Code Engine, accédez à l'onglet Domain mappings de votre application pour afficher la visibilité d'une application et de ses URL disponibles. A partir de l'interface de ligne de commandeCode Engine, vous pouvez utiliser la commandeibmcloud ce application getavec l'option--option url. Étant donné que la visibilité demyappest définie survisibility=private, la spécification de--option urlavec cette commande génère l'URL vers le réseau privé.ibmcloud ce application get -n myapp -output urlExemple de sortie
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
Vous pouvez désormais utiliser votre instance dans la VSI. Appelez l'application. L'application
myappest une application Hello World simple. Lorsque vous curez l'applicationmyapp,Hello Worldest renvoyé.curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
Utilisation de votre VPE pour accéder à une fonction en toute sécurité
Avant de commencer, vous devez disposer d'un Compte IBM Cloud.
Vous ne pouvez utiliser votre VPE pour accéder à votre fonction avec un noeud final privé que si votre projet sélectionné prend en charge la visibilité privée de fonction.
Pour vérifier si le projet prend en charge la visibilité privée des fonctions, utilisez la commande ibmcloud ce project get pour vérifier que
la sortie de Application Private Visibility Supported est définie sur true.
-
Créez un IBM Cloud® Virtual Private Cloud. Suivez les instructions d'initiation.
-
Vérifiez que votre VPC possède au moins un VSI (instance de serveur virtuel) et qu'il puisse effectivement se connecter au VSI. Vous pouvez utiliser la console, l'interface de ligne de commande et l'API pour mettre à disposition rapidement des instances de serveur virtuel à partir de la page IBM Cloud® Virtual Private Cloud de la console IBM Cloud.
- Créez une Clé SSH pour accéder à l'instance de serveur virtuel.
- Créez une instance de serveur virtuel à l'aide de l'interface utilisateur.
- Réservez une adresse IP flottante de sorte que votre instance soit accessible à partir d'Internet.
- Connectez-vous à votre instance de serveur virtuel.
-
A partir de votre projet Code Engine, vérifiez que votre application est configurée avec un paramètre
visibility=private. Voir Déploiement de votre application avec un noeud final privé. -
Dans la console IBM Cloud, cliquez sur l'icône Menu et sélectionnez Infrastructure VPC -> Réseau-> Passerelles de nœud final privées virtuelles. Créez un nœud final privé virtuel pour le nœud final régional deCode Engine pour le projet spécifique que vous utilisez pour la visibilité d'application privée en accomplissant cette instruction. Ce projet est répertorié dans la table avec son nœud final au format,
*.<uuid>.private.<region>.codeengine.appdomain.cloud. -
Une fois que vous avez créé votre VPE, cela peut prendre quelques minutes pour le nouveau VPE et le nouveau DNS privé (pDNS) pour terminer le processus et commencer à travailler pour votre VPC. L'opération est terminée lorsqu'une adresse IP est définie dans la vue détaillée du noeud final privé virtuel.
-
Extrayez l'URL de la fonction Code Engine qui est exposée au réseau privé. L'URL est au format suivant :
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud. A partir de la console Code Engine, accédez à l'onglet Domain mappings de votre fonction pour afficher la visibilité de votre fonction et de ses URL disponibles. A partir de l'interface de ligne de commandeCode Engine, vous pouvez utiliser la commandeibmcloud ce function get. Etant donné que la visibilité dumyfunctionest définie survisibility=private, cette commande affiche l'URL du réseau privé.ibmcloud ce function get -n myfunctionExemple de sortie
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
Vous pouvez désormais utiliser votre instance dans la VSI.