Serviceendpunkte mit Code Engine verwenden
Alle IBM Cloud® Code Engine Projekte bieten eine Integration mit IBM Cloud® Service-Endpunkten. Dank dieser Unterstützung können Sie eine Verbindung von Ihrer klassischen Infrastruktur zu Code Engine Workloads herstellen und innerhalb des IBM Cloud Netzwerks bleiben.
Sie können die Sichtbarkeit von Code Engine Workloads steuern und festlegen, ob die Anwendung oder Funktion für öffentliche oder private Endpunkte zugänglich gemacht werden soll. Auf eine Anwendung oder Funktion, die für visibility = private konfiguriert ist, wird über Serviceendpunkte zugegriffen. Anwendungen oder Funktionen, auf die über einen Service-Endpunkt zugegriffen wird, verlassen das IBM Netzwerk nicht und bleiben innerhalb des IBM Cloud Netzwerks.
Öffentliche Endpunkte
Öffentliche Endpunkte stellen eine Verbindung zu Ihrer Bereitstellung über das öffentliche Netz bereit. Zum Zeitpunkt der Einrichtung ist die Standardoption für alle Bereitstellungen der öffentliche Endpunkt. Ihre Umgebung muss über Internetzugriff verfügen, um eine Verbindung zu einer Bereitstellung herzustellen.
Private Endpunkte
Eine Bereitstellung mit einem Serviceendpunkt im privaten Netz erhält einen Endpunkt, auf den aus dem öffentlichen Internet nicht zugegriffen werden kann. Der gesamte Datenverkehr wird an eine für Code Engine-Bereitstellungen dedizierte Hardware geleitet und verbleibt im privaten IBM Cloud-Netz. Der gesamte Verkehr zu und von diesem Endpunkt ist kostenlos und verursacht keine Gebühren, sofern der Verkehr auf IBM Cloud bleibt. Nachdem der Zugriff Ihrer Bereitstellung auf das private IBM Cloud-Netz eingerichtet ist, ist für den Aufbau einer Verbindung zu Ihrer Bereitstellung keine Internetverbindung erforderlich.
Code Engine anwendungsbereitstellungen mit privaten Endpunkten sind von jedem Konto innerhalb des privaten Netzwerks erreichbar, und der Zugriff auf jede Instanz erfordert eine Authentifizierung. Um diesen Zugriff auf bestimmte IP-Adressen, IP-Adressbereiche, IBM Cloud-Dienste oder VPCs zu beschränken, konfigurieren Sie kontextbasierte Beschränkungsregeln.
Code Engine-Ressourcen sicher über Serviceendpunkte verwalten
-
Geben Sie ein Code Engine-Projekt an, um den privaten Endpunkt zu verwenden. Sie können ein Code Engine-Projekt für die Verwendung des privaten Endpunkts nur mit der Befehlszeilenschnittstelle konfigurieren. Verwenden Sie den Befehl
ibmcloud ce project createmit der Option--endpoint=private, um ein Projekt zu erstellen.ibmcloud ce project create --name myproject --endpoint=privateWarten Sie, bis sich das Projekt im Status
activebefindet. Bei der CLI können Sie den Projektstatus mit dem Befehlibmcloud ce project getbestätigen.Wenn ein vorhandenes Code Engine-Projekt den privaten Endpunkt verwenden soll, verwenden Sie den Befehl
ibmcloud ce project selectmit der Option--endpoint=private.ibmcloud ce project select --name myproject --endpoint=privateWenn für die Befehle
project createundproject selectdie Option--endpointnicht explizit angegeben wird, wird das Verhalten vom System bestimmt. Wenn die IBM Cloud-CLI mitprivate.cloud.ibm.comverbunden ist, verhält sich das Code Engine-Projekt so, als wäre--endpointprivate. Wenn die IBM Cloud-CLI mitcloud.ibm.comverbunden ist, verhält sich das Code Engine-Projekt so, als wäre--endpointpublic. -
Wenn Sie kein neues Projekt erstellt haben, sondern ein bestehendes Projekt ausgewählt haben und Ihre Anwendung nur für den privaten Endpunkt sichtbar sein soll, bestätigen Sie, dass das bestehende Projekt Anwendungen mit privater Sichtbarkeit unterstützt. Überprüfen Sie mit dem Befehl
ibmcloud ce project get, ob die Ausgabe fürApplication Private Visibility Supportedauftruefestgelegt ist. Wenn der Wertfalseist, kontaktieren Sie den IBM Support, um diese Funktion in Ihrem vorhandenen Projekt zu aktivieren.ibmcloud ce project get -n myprojectBeispielausgabe
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 -
Erstellen Sie eine Anwendung oder Funktion, die nur für den privaten Endpunkt sichtbar ist. Verwenden Sie den Befehl
ibmcloud ce application createoder den Befehlibmcloud ce function createmit der Option--visibility=private. Alternativ können Sie auch die Konsole verwenden, um eine Anwendung oder Funktion zu erstellen oder zu aktualisieren und die Sichtbarkeit Ihrer Anwendung festzulegen.ibmcloud ce application create -n myapp --visibility=private
Sicherer Zugriff auf Ihre Anwendung mit Service-Endpunkten
-
Bestätigen Sie in Ihrem Code Engine-Projekt, dass Ihre Anwendung mit der Einstellung
visibility=privatekonfiguriert ist. Siehe Bereitstellen Ihrer Anwendung mit einem privaten Endpunkt. -
Rufen Sie die URL der Code Engine-Anwendung ab, die für das private Netz verfügbar ist. Die URL hat folgendes Format:
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud.-
Gehen Sie in der Konsole Code Engine auf die Registerkarte Domänenzuordnungen für Ihre Anwendung, um die Sichtbarkeit einer Anwendung und ihre verfügbaren URLs anzuzeigen.
-
Verwenden Sie in der Code Engine-CLI den Befehl
ibmcloud ce application getmit der Option--option url. Da im folgenden Beispiel die Sichtbarkeit vonmyappaufvisibility=privateeingestellt ist, wird durch die Angabe von--option urlmit diesem Befehl die URL an das private Netzwerk ausgegeben.ibmcloud ce application get -n myapp -output urlBeispielausgabe
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
-
-
Rufen Sie die Anwendung innerhalb des privaten Netzes IBM Cloud auf (z. B. durch Aufruf der Anwendung über die Shell IBM Cloud ).
Die
myapp-Anwendung ist eine einfache Hello World-Anwendung. Wenn Sie die Anwendungmyappmit cURL, ausführen, wirdHello Worldzurückgegeben. Führen Sie zum Beispiel von der Shell IBM Cloud aus:curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
Sicherer Zugriff auf Ihre Funktion mit Serviceendpunkten
-
Vergewissern Sie sich in Ihrem Code Engine Projekt, dass Ihre Funktion mit einer
visibility=privateEinstellung konfiguriert ist. Siehe Funktion mit einem privaten Endpunkt bereitstellen. -
Rufen Sie die URL der Funktion Code Engine ab, die dem privaten Netz ausgesetzt ist. Die URL hat folgendes Format:
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud.-
Gehen Sie in der Konsole Code Engine auf die Registerkarte Domänenzuordnungen für Ihre Funktion, um die Sichtbarkeit der Funktion und ihre verfügbaren URLs anzuzeigen.
-
Verwenden Sie in der Code Engine-CLI den Befehl
ibmcloud ce function get. Da im folgenden Beispiel die Sichtbarkeit vonmyfunctionaufvisibility=privateeingestellt ist, gibt dieser Befehl die URL an das private Netzwerk aus.ibmcloud ce function get -n myfunctionBeispielausgabe
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
-