Virtuelle private Endpunkte mit Code Engine verwenden
Alle IBM Cloud® Code Engine-Projekte bieten Integration mit IBM Cloud® Virtual Private Endpoints (VPE) für Virtual Private Cloud (VPC). Diese Unterstützung gibt Ihnen die Möglichkeit, über Ihr VPC-Netz eine Verbindung zu Code Engine-Anwendungen oder -Funktionen herzustellen, indem Sie die IP-Adressen Ihrer Wahl verwenden, die aus einem Teilnetz in Ihrer VPC zugeordnet werden.
Mit Code Engine können Sie die folgenden Typen von VPEs verwenden:
- Virtuelle private Endpunkte für die Verwaltung von Projektressourcen. Es gibt einen statischen VPE pro Region.
- Virtuelle private Endpunkte für den Zugriff auf Anwendungen. Es gibt einen VPE pro Code Engine-Projekt. Mit diesem VPE kann auf alle Apps innerhalb des Projekts zugegriffen werden.
Private Endpunkte stellen eine Verbindung zu Ihren Projektressourcen, Anwendungen oder Funktionen im privaten Netz von IBM Cloud bereit. Wenn Sie über einen virtuellen privaten Endpunkt eine Verbindung herstellen, wird der gesamte Datenverkehr an Hardware weitergeleitet, die Code Engine-Anwendungen zugeordnet ist, und verbleibt im privaten IBM Cloud-Netz. Für den gesamten Datenverkehr zu und von diesem Endpunkt fallen keine zusätzlichen Gebühren an, wenn der Datenverkehr in IBM Cloud verbleibt.
Ein Code Engine-Projekt wird automatisch mit einem öffentlichen und einem virtuellen privaten Endpunkt konfiguriert.
Sie können die Sichtbarkeit von Code Engine-Anwendungen steuern und angeben, ob die Anwendung oder Funktionen für öffentliche oder private Endpunkte zugänglich gemacht werden soll. Auf eine Anwendung oder Funktion, die für das private Netz konfiguriert ist, kann über das VPE oder durch andere Code Engine-Anwendungen oder -Funktionen zugegriffen werden. Anwendungen oder Funktionen, auf die über das VPE zugegriffen wird, verlassen nicht das IBM Netz und verbleiben im IBM Cloud-Netz.
Sichere Verwaltung von Projektressourcen mit VPE
Bevor Sie beginnen, benötigen Sie ein IBM Cloud-Konto.
-
Erstellen Sie eine Instanz von IBM Cloud® Virtual Private Cloud. Folgen Sie den Erste-Schritte-Anweisungen.
-
Stellen Sie sicher, dass Ihre VPC über mindestens eine VSI (virtuelle Serverinstanz) verfügt und eine Verbindung zur VSI herstellen kann. Sie können die VPC-Konsole, die CLI und die API verwenden, um eine VSI über die Seite IBM Cloud® Virtual Private Cloud in der IBM Cloud-Konsole bereitzustellen.
- Erstellen Sie einen SSH-Schlüssel für den Zugriff auf die VSI.
- Erstellen Sie eine virtuelle Serverinstanz über die Konsole.
- Reservieren Sie ein variable IP-Adresse, damit Ihre Instanz über das Internet erreichbar ist.
- Verbindung zu Ihrer VSI herstellen.
-
Klicken Sie in der IBM Cloud-Konsole auf das Menüsymbol und wählen Sie VPC-Infrastruktur -> Netz -> Virtuelle private Endpunktgateways aus. Erstellen Sie einen VPE für den regionalen Code Engine-Endpunkt
api.<region>.codeengine.cloud.ibm.com, indem Sie diese Instruktion ausführen. -
Nachdem Sie Ihr VPE erstellt haben, kann es einige Minuten dauern, bis der neue VPE und die private DNS (pDNS) den Prozess abschließen und mit der Arbeit für Ihre VPC beginnen. Der Abschluss wird bestätigt, wenn Sie in der Detailansicht des VPE eine eingestellte IP-Adresse sehen.
-
Greifen Sie über SSH auf Ihre VSI zu und verwenden Sie
root@. Beispiel:ssh root@<VSI_floating_IP_address>. -
Um von VSI aus auf Code Engine-Ressourcen zugreifen zu können, richten Sie Ihre Code Engine CLI-Umgebung ein. Stellen Sie sicher, dass Ihre IBM Cloud-CLI mit
private.cloud.ibm.comverbunden ist. -
Geben Sie ein Code Engine-Projekt an, um den privaten Endpunkt zu verwenden. 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 und ein vorhandenes Projekt ausgewählt haben und Ihre App oder Funktion nur für den privaten Endpunkt sichtbar sein soll, bestätigen Sie, dass das vorhandene 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, die nur für den privaten Endpunkt sichtbar ist. Verwenden Sie den Befehl
ibmcloud ce application createmit der Option--visibility=private. Alternativ können Sie die Konsole verwenden, um eine App zu erstellen oder eine vorhandene App zu aktualisieren und die Sichtbarkeit Ihrer App festzulegen.ibmcloud ce application create -n myapp --visibility=private
Sie haben jetzt Ihren virtuellen privaten Endpunkt für die Verwaltung von Projektressourcen konfiguriert und eingerichtet. Wenn Sie steuern möchten, welche App für den privaten Endpunkt zugänglich gemacht werden soll, können Sie VPE für den Zugriff auf Ihre Anwendung einrichten.
Sicherer Zugriff auf eine App mit VPE
Bevor Sie beginnen, benötigen Sie ein IBM Cloud-Konto.
Sie können Ihr VPE nur verwenden, um mit einem privaten Endpunkt auf Ihre App zuzugreifen, wenn Ihr ausgewähltes Projekt private Sichtbarkeit von Anwendungen unterstützt. Um zu bestätigen, ob das Projekt die private Sichtbarkeit von Anwendungen unterstützt, verwenden Sie den Befehl ibmcloud ce project get,
um zu überprüfen, ob die Ausgabe für Application Private Visibility Supported auf true festgelegt ist.
-
Erstellen Sie eine Instanz von IBM Cloud® Virtual Private Cloud. Folgen Sie den Erste-Schritte-Anweisungen.
-
Stellen Sie sicher, dass Ihre VPC über mindestens eine VSI (virtuelle Serverinstanz) verfügt und eine Verbindung zur VSI herstellen kann. Sie können die Konsole, die CLI und die API verwenden, um Instanzen des virtuellen Servers schnell über die Seite IBM Cloud® Virtual Private Cloud in der IBM Cloud-Konsole bereitzustellen.
- Erstellen Sie einen SSH-Schlüssel für den Zugriff auf die VSI.
- Virtuelle Serverinstanz über die Benutzerschnittstelle erstellen.
- Reservieren Sie ein variable IP-Adresse, damit Ihre Instanz über das Internet erreichbar ist.
- Verbindung zu Ihrer VSI herstellen.
-
Bestätigen Sie in Ihrem Code Engine-Projekt, dass Ihre Anwendung mit der Einstellung
visibility=privatekonfiguriert ist. Weitere Informationen finden Sie im Thema Anwendung mit privatem Endpunkt bereitstellen. -
Klicken Sie in der IBM Cloud-Konsole auf das Menüsymbol und wählen Sie VPC-Infrastruktur -> Netz -> Virtuelle private Endpunktgateways aus. Erstellen Sie ein VPE für den regionalen Code Engine-Endpunkt für das Projekt, das Sie für die Sichtbarkeit privater Anwendungen verwenden, indem Sie diese Instruktion ausführen. Dieses Projekt wird in der Tabelle mit seinem Endpunkt im Format
*.<uuid>.private.<region>.codeengine.appdomain.cloudaufgelistet. -
Nachdem Sie Ihr VPE erstellt haben, kann es einige Minuten dauern, bis der neue VPE und die private DNS (pDNS) den Prozess abschließen und mit der Arbeit für Ihre VPC beginnen. Der Abschluss wird bestätigt, wenn Sie in der Detailansicht des VPE eine eingestellte IP-Adresse sehen.
-
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. Wechseln Sie in der Code Engine-Konsole zur Registerkarte Domänenzuordnungen für Ihre Anwendung, um die Sichtbarkeit einer App und ihrer verfügbaren URLs anzuzeigen. In der Code Engine-CLI können Sie den Befehlibmcloud ce application getmit der Option--option urlverwenden. Da die Sichtbarkeit vonmyappaufvisibility=privatefestgelegt ist, wird bei Angabe von--option urlmit diesem Befehl die URL an das private Netz ausgegeben.ibmcloud ce application get -n myapp -output urlBeispielausgabe
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
Nun können Sie Ihre Instanz in der VSI verwenden. Rufen Sie die Anwendung auf. Die
myapp-Anwendung ist eine einfache Hello World-Anwendung. Wenn Sie cURL bei dermyapp-App anwenden, wirdHello Worldzurückgegeben.curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
VPE für sicheren Zugriff auf eine Funktion verwenden
Bevor Sie beginnen, benötigen Sie ein IBM Cloud-Konto.
Sie können Ihr VPE nur für den Zugriff auf Ihre Funktion mit einem privaten Endpunkt verwenden, wenn Ihr ausgewähltes Projekt private Sichtbarkeit von Funktionen unterstützt.
Um zu überprüfen, ob das Projekt die private Sichtbarkeit von Funktionen unterstützt, verwenden Sie den Befehl ibmcloud ce project get, um zu
überprüfen, ob die Ausgabe für Application Private Visibility Supported auf true gesetzt ist.
-
Erstellen Sie eine Instanz von IBM Cloud® Virtual Private Cloud. Folgen Sie den Erste-Schritte-Anweisungen.
-
Stellen Sie sicher, dass Ihre VPC über mindestens eine VSI (virtuelle Serverinstanz) verfügt und eine Verbindung zur VSI herstellen kann. Sie können die Konsole, die CLI und die API verwenden, um Instanzen des virtuellen Servers schnell über die Seite IBM Cloud® Virtual Private Cloud in der IBM Cloud-Konsole bereitzustellen.
- Erstellen Sie einen SSH-Schlüssel für den Zugriff auf die VSI.
- Virtuelle Serverinstanz über die Benutzerschnittstelle erstellen.
- Reservieren Sie ein variable IP-Adresse, damit Ihre Instanz über das Internet erreichbar ist.
- Verbindung zu Ihrer VSI herstellen.
-
Bestätigen Sie in Ihrem Code Engine-Projekt, dass Ihre Anwendung mit der Einstellung
visibility=privatekonfiguriert ist. Weitere Informationen finden Sie im Thema Anwendung mit privatem Endpunkt bereitstellen. -
Klicken Sie in der IBM Cloud-Konsole auf das Menüsymbol und wählen Sie VPC-Infrastruktur -> Netz -> Virtuelle private Endpunktgateways aus. Erstellen Sie ein VPE für den regionalen Code Engine-Endpunkt für das Projekt, das Sie für die Sichtbarkeit privater Anwendungen verwenden, indem Sie diese Instruktion ausführen. Dieses Projekt wird in der Tabelle mit seinem Endpunkt im Format
*.<uuid>.private.<region>.codeengine.appdomain.cloudaufgelistet. -
Nachdem Sie Ihr VPE erstellt haben, kann es einige Minuten dauern, bis der neue VPE und die private DNS (pDNS) den Prozess abschließen und mit der Arbeit für Ihre VPC beginnen. Der Abschluss wird bestätigt, wenn Sie in der Detailansicht des VPE eine eingestellte IP-Adresse sehen.
-
Rufen Sie die URL der Funktion Code Engine ab, die dem privaten Netz zugänglich ist. Die URL hat folgendes Format:
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud. Rufen Sie in der Code Engine-Konsole die Registerkarte Domänenzuordnungen für Ihre Funktion auf, um die Sichtbarkeit Ihrer Funktion und ihrer verfügbaren URLs anzuzeigen. Über die Code Engine-CLI können Sie den Befehlibmcloud ce function getverwenden. Da die Sichtbarkeit desmyfunctions aufvisibility=privategesetzt ist, zeigt der Befehl die URL zum privaten Netz an.ibmcloud ce function get -n myfunctionBeispielausgabe
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
Nun können Sie Ihre Instanz in der VSI verwenden.