Utilización de puntos finales privados virtuales con Code Engine
Todos los proyectos de IBM Cloud® Code Engine ofrecen integración con IBM Cloud® Virtual Private Endpoints (VPE) para Virtual Private Cloud (VPC). Este soporte le ofrece la posibilidad de conectarse desde la red de VPC a aplicaciones o funciones de Code Engine utilizando las direcciones IP de su elección, que se asignan desde una subred dentro de la VPC.
Con Code Engine, puede utilizar los siguientes tipos de puntos finales privados virtuales (VPE):
- Puntos finales privados virtuales para gestionar recursos de proyecto. Hay un VPE estático por cada región.
- Puntos finales privados virtuales para acceder a aplicaciones. Hay un VPE por cada proyecto de Code Engine. Se puede acceder a todas las aplicaciones del proyecto utilizando este VPE.
Los puntos finales privados proporcionan una conexión a los recursos, aplicaciones o funciones del proyecto en la red privada IBM Cloud. Cuando se conecta a través de un punto final privado virtual, todo el tráfico se direcciona al hardware dedicado a las aplicaciones de Code Engine y se queda en la red privada de IBM Cloud. No hay cargos adicionales para todo el tráfico hacia y desde este punto final con la condición de que el tráfico se quede en IBM Cloud.
Un proyecto de Code Engine se configura automáticamente con un punto final privado virtual y uno público.
Puede controlar la visibilidad de las aplicaciones Code Engine y especificar si desea exponer la aplicación o las funciones a puntos finales públicos o privados. Se puede acceder a una aplicación o función configurada para la red privada a través del VPE o mediante otras aplicaciones o funciones de Code Engine. Las aplicaciones o funciones a las que se accede a través de VPE no salen de la red de IBM y permanecen dentro de la red de IBM Cloud.
Utilización del VPE para gestionar los recursos del proyecto de forma segura
Antes de empezar, debe tener una cuenta de IBM Cloud.
-
Cree una IBM Cloud® Virtual Private Cloud. Siga las instrucciones de Cómo empezar.
-
Asegúrese de que el VPC tiene al menos una VSI (instancia de servidor virtual) y puede conectarse a la VSI. Puede utilizar la consola de VPC, la CLI y la API para suministrar una VSI desde la página IBM Cloud® Virtual Private Cloud en la consola de IBM Cloud.
- Cree un Clave SSH para acceder a la VSI.
- Cree una instancia de servidor virtual utilizando la consola.
- Reserve una dirección IP flotante para que su instancia sea accesible desde Internet.
- Conéctese a su VSI.
-
En la consola de IBM Cloud, pulse en el icono Menú y seleccione Infraestructura de VPC -> Red -> pasarelas de punto final privado virtual. Cree una VPE para el punto final de Code Engine regional
api.<region>.codeengine.cloud.ibm.comcompletando esta instrucción. -
Después de crear el VPE, los nuevos VPE y los DNS privados (pDNS) pueden tardar unos minutos en completar el proceso y empezar a trabajar para el VPC. La finalización se confirma cuando se ve una dirección IP establecida en la vista de detalles del VPE.
-
SSH en su VSI y utilice
root@. Por ejemplo,ssh root@<VSI_floating_IP_address>. -
Para acceder a los recursos de Code Engine desde el VSI, configure el entorno de CLI de Code Engine. Asegúrese de que la CLI de IBM Cloud esté conectada a
private.cloud.ibm.com. -
Especifique un proyecto de Code Engine que utilizará el punto final privado. Para crear un proyecto, utilice el mandato
ibmcloud ce project createcon la opción--endpoint=private.ibmcloud ce project create --name myproject --endpoint=privateEspere hasta que el proyecto esté en estado
active. Con la CLI, puede confirmar el estado del proyecto utilizando el mandatoibmcloud ce project get.Si desea que un proyecto de Code Engine existente utilice el punto final privado, utilice el mandato
ibmcloud ce project selectcon la opción--endpoint=private.ibmcloud ce project select --name myproject --endpoint=privatePara los mandatos
project createyproject select, si no se especifica explícitamente la opción--endpoint, el comportamiento viene determinado por el sistema. Si la CLI de IBM Cloud está conectada aprivate.cloud.ibm.com, el proyecto Code Engine se comporta como si--endpointfueraprivate. Si la CLI de IBM Cloud está conectada acloud.ibm.com, el proyecto Code Engine se comporta como si--endpointfuerapublic. -
Si no ha creado un proyecto nuevo y ha seleccionado un proyecto existente, y desea que la app o función sea visible sólo para el punto final privado, confirme que el proyecto existente da soporte a aplicaciones con visibilidad privada. Utilice el mandato
ibmcloud ce project getpara verificar que la salida deApplication Private Visibility Supportedestá establecida entrue. Si el valor esfalse, póngase en contacto con el equipo de soporte de IBM para habilitar esta posibilidad dentro del proyecto existente.ibmcloud ce project get -n myprojectSalida de ejemplo
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 -
Cree una aplicación que sólo sea visible para el punto final privado. Utilice el mandato
ibmcloud ce application createcon la opción--visibility=private. De forma alternativa, puede utilizar la consola para crear una aplicación o actualizar una aplicación existente y establecer la visibilidad de la aplicación.ibmcloud ce application create -n myapp --visibility=private
Ahora ha configurado el punto final privado virtual para que gestione los recursos del proyecto. Si desea controlar qué aplicación exponer al punto final privado, puede configurar un VPE para que acceda a la aplicación.
Utilización de VPE para que acceda a una aplicación de forma segura
Antes de empezar, debe tener una cuenta de IBM Cloud.
Sólo puede utilizar el VPE para acceder a la aplicación con un punto final privado si el proyecto seleccionado admite visibilidad privada de aplicación.
Para confirmar si el proyecto admite visibilidad privada de aplicación, utilice el mandato ibmcloud ce project get para verificar que la salida
de Application Private Visibility Supported está establecida en true.
-
Cree una IBM Cloud® Virtual Private Cloud. Siga las instrucciones de Cómo empezar.
-
Asegúrese de que el VPC tiene al menos una VSI (instancia de servidor virtual) y puede conectarse a la VSI. Puede utilizar la consola, la CLI y la API para suministrar rápidamente instancias de servidor virtual desde la página IBM Cloud® Virtual Private Cloud en la consola de IBM Cloud.
- Cree un Clave SSH para acceder a la VSI.
- Crear una instancia de servidor virtual utilizando la interfaz de usuario.
- Reserve una dirección IP flotante para que su instancia sea accesible desde Internet.
- Conéctese a su VSI.
-
En el proyecto Code Engine, confirme que la aplicación está configurada con un valor
visibility=private. Consulte Despliegue de la app con un punto final privado. -
En la consola de IBM Cloud, pulse en el icono Menú y seleccione Infraestructura de VPC -> Red -> pasarelas de punto final privado virtual. Cree un VPE para el punto final regional de Code Engine para el proyecto específico que está utilizando para la visibilidad de la aplicación privada completando esta instrucción. Este proyecto se lista en la tabla con su punto final en formato
*.<uuid>.private.<region>.codeengine.appdomain.cloud. -
Después de crear el VPE, los nuevos VPE y los DNS privados (pDNS) pueden tardar unos minutos en completar el proceso y empezar a trabajar para el VPC. La finalización se confirma cuando se ve una dirección IP establecida en la vista de detalles del VPE.
-
Recupere el URL de la aplicación de Code Engine que está expuesto a la red privada. El URL tiene el formato siguiente:
<app>.<uuid>.private.<region>.codeengine.appdomain.cloud. En la consola de Code Engine, vaya al separador Correlaciones de dominio de la aplicación para ver la visibilidad de una aplicación y sus URL disponibles. Desde la CLI de Code Engine, puede utilizar el mandatoibmcloud ce application getcon la opción--option url. Dado que la visibilidad demyappestá establecida envisibility=private, especificar--option urlcon este mandato da como salida el URL a la red privada.ibmcloud ce application get -n myapp -output urlSalida de ejemplo
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud -
Ahora puede utilizar su instancia en la VSI. Llame a la aplicación. La aplicación
myappes una aplicación Hello World simple. Cuando hace curl en la aplicaciónmyapp, se devuelveHello World.curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
Utilización de VPE para acceder a una función de forma segura
Antes de empezar, debe tener una cuenta de IBM Cloud.
Sólo puede utilizar VPE para acceder a la función con un punto final privado si el proyecto seleccionado da soporte a la visibilidad privada de función. Para confirmar
si el proyecto da soporte a la visibilidad privada de la función, utilice el mandato ibmcloud ce project get para verificar que la salida de
Application Private Visibility Supported está establecida en true.
-
Cree una IBM Cloud® Virtual Private Cloud. Siga las instrucciones de Cómo empezar.
-
Asegúrese de que el VPC tiene al menos una VSI (instancia de servidor virtual) y puede conectarse a la VSI. Puede utilizar la consola, la CLI y la API para suministrar rápidamente instancias de servidor virtual desde la página IBM Cloud® Virtual Private Cloud en la consola de IBM Cloud.
- Cree un Clave SSH para acceder a la VSI.
- Crear una instancia de servidor virtual utilizando la interfaz de usuario.
- Reserve una dirección IP flotante para que su instancia sea accesible desde Internet.
- Conéctese a su VSI.
-
En el proyecto Code Engine, confirme que la aplicación está configurada con un valor
visibility=private. Consulte Despliegue de la app con un punto final privado. -
En la consola de IBM Cloud, pulse en el icono Menú y seleccione Infraestructura de VPC -> Red -> pasarelas de punto final privado virtual. Cree un VPE para el punto final regional de Code Engine para el proyecto específico que está utilizando para la visibilidad de la aplicación privada completando esta instrucción. Este proyecto se lista en la tabla con su punto final en formato
*.<uuid>.private.<region>.codeengine.appdomain.cloud. -
Después de crear el VPE, los nuevos VPE y los DNS privados (pDNS) pueden tardar unos minutos en completar el proceso y empezar a trabajar para el VPC. La finalización se confirma cuando se ve una dirección IP establecida en la vista de detalles del VPE.
-
Recupere el URL de la función Code Engine que está expuesta a la red privada. El URL tiene el formato siguiente:
<function>.<uuid>.private.<region>.codeengine.appdomain.cloud. En la consola de Code Engine, vaya al separador Correlaciones de dominio de la función para ver la visibilidad de la función y sus URL disponibles. En la CLI deCode Engine, puede utilizar el mandatoibmcloud ce function get. Puesto que la visibilidad demyfunctionse establece envisibility=private, este mandato muestra el URL de la red privada.ibmcloud ce function get -n myfunctionSalida de ejemplo
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
Ahora puede utilizar su instancia en la VSI.