Utilisation de noeuds finaux de service avec Code Engine
Tous les projets IBM Cloud® Code Engine offrent une intégration avec les points de terminaison des services IBM Cloud®. Ce support vous permet de vous connecter depuis votre infrastructure classique aux charges de travail Code Engine tout en restant dans le réseau IBM Cloud.
Vous pouvez contrôler la visibilité des charges de travail Code Engine et spécifier si l'application ou la fonction doit être exposée à des points d'extrémité publics ou privés. Une application ou une fonction configurée pour visibility = private est accessible via des noeuds finaux de service. Les applications ou fonctions auxquelles on accède par un point final de service ne quittent pas le réseau IBM et restent à l'intérieur du réseau IBM Cloud.
Nœuds finaux publics
Les noeuds finaux publics fournissent une connexion à votre déploiement sur le réseau public. Au moment de la mise à disposition, un noeud final public est l'option par défaut pour tous les déploiements. Votre environnement doit disposer d'un accès Internet pour se connecter à un déploiement.
Nœuds finaux privés
Un déploiement avec un noeud final de service sur le réseau privé obtient un noeud final qui n'est pas accessible depuis le réseau Internet public. Tout le trafic est acheminé vers le matériel dédié aux déploiements Code Engine et reste sur le réseau privé IBM Cloud. Tout le trafic à destination et en provenance de ce point d'extrémité est gratuit et n'entraîne pas de frais, à condition que le trafic reste sur IBM Cloud. Une fois que votre environnement a accès au réseau privé IBM Cloud, une connexion Internet n'est pas nécessaire pour vous connecter à votre déploiement.
Code Engine les déploiements d'applications avec des points d'extrémité privés sont accessibles à partir de n'importe quel compte au sein du réseau privé et l'accès à chaque instance nécessite une authentification. Pour restreindre cet accès à des adresses IP spécifiques, à des plages d'adresses IP, à des services IBM Cloud ou à des VPC, configurez des règles de restriction basées sur le contexte.
Gestion des ressources Code Engine en toute sécurité à l'aide de noeuds finaux de service
-
Spécifiez un projet Code Engine pour utiliser le nœud final privé. Vous pouvez configurer un projet Code Engine pour utiliser le noeud final privé uniquement avec l'interface de ligne de commande. 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 nouveau projet et que vous avez sélectionné un projet existant, et que vous souhaitez que votre application ne soit visible que par le point de terminaison privé, confirmez que le projet existant prend en charge les applications à 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éer une application ou une fonction qui n'est visible que par le point d'accès privé. Utilisez
ibmcloud ce application createou la commandeibmcloud ce function createavec l'option--visibility=private. Vous pouvez également utiliser la console pour créer ou mettre à jour une application ou une fonction et définir la visibilité de votre application.ibmcloud ce application create -n myapp --visibility=private
Accéder à votre application en toute sécurité avec des points de terminaison de service
-
A partir de votre projet Code Engine, vérifiez que votre application est configurée avec un paramètre
visibility=private. Voir Déployer votre application avec un point de terminaison privé. -
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.-
Dans la console Code Engine, allez dans l'onglet Domain mappings pour votre application afin de voir la visibilité d'une application et ses URLs disponibles.
-
A partir de l'interface de ligne de commandeCode Engine, utilisez la commande
ibmcloud ce application getavec l'option--option url. Dans l'exemple suivant, comme la visibilité demyappest définie survisibility=private, le fait de spécifier--option urlavec cette commande envoie 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
-
-
Appeler l'application à partir du réseau privé IBM Cloud (par exemple, en appelant l'application à partir du Shell IBM Cloud ).
L'application
myappest une application Hello World simple. Lorsque vous exécutez l'applicationmyappà l'aide de cURL,,Hello Worldest renvoyé. Par exemple, à partir du shell IBM Cloud, exécutez :curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
Accès sécurisé à votre fonction avec des noeuds finaux de service
-
Depuis votre projet Code Engine, confirmez que votre fonction est configurée avec un paramètre
visibility=private. Voir Déploiement de votre fonction avec un noeud final privé. -
Récupérer le site 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.-
Dans la console Code Engine, allez à l'onglet Domain mappings pour votre fonction afin de voir la visibilité de la fonction et ses URLs disponibles.
-
A partir de l'interface de ligne de commandeCode Engine, utilisez la commande
ibmcloud ce function get. Dans l'exemple suivant, comme la visibilité demyfunctionest définie survisibility=private, cette commande envoie l' URL au réseau privé.ibmcloud ce function get -n myfunctionExemple de sortie
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
-