Utilización de puntos finales de servicio con Code Engine
Todos los proyectos de IBM Cloud® Code Engine ofrecen integración con los puntos finales de servicio de IBM Cloud®. Este soporte le ofrece la posibilidad de conectarse desde su infraestructura clásica a las cargas de trabajo de Code Engine y permanecer dentro de la red IBM Cloud.
Puede controlar la visibilidad de las cargas de trabajo de Code Engine y especificar si exponer la aplicación o función a puntos finales públicos o privados. Se accede a una aplicación o función que está configurada para visibility = private a través de puntos finales de servicio. Las aplicaciones o funciones a las que se accede a través de un punto final de servicio no abandonan la red IBM y permanecen dentro de la red IBM Cloud.
Puntos finales públicos
Los puntos finales públicos proporcionan una conexión con su despliegue en la red pública. En el momento del suministro, un punto final público es la opción predeterminada para todos los despliegues. Es necesario que su entorno tenga acceso a Internet para conectar con un despliegue.
Puntos finales privados
Un despliegue con un punto final de servicio en la red privada obtiene un punto final al que no se puede acceder desde la Internet pública. Todo el tráfico se direcciona al hardware dedicado en los despliegues de Code Engine y permanece en la red privada de IBM Cloud. Todo el tráfico hacia y desde este punto final es gratuito y no incurre en gastos a condición de que el tráfico permanezca en IBM Cloud. Si el entorno tiene acceso a la red privada de IBM Cloud, no se necesita una conexión a Internet para conectar con su despliegue.
Code Engine los despliegues de aplicaciones con puntos finales privados son accesibles desde cualquier cuenta dentro de la red privada y el acceso a cada instancia requiere autenticación. Para restringir este acceso a direcciones IP específicas, rangos de direcciones IP, servicios IBM Cloud o VPC, configure reglas de restricción basadas en el contexto.
Gestión de recursos de Code Engine de forma segura utilizando puntos finales de servicio
-
Especifique un proyecto de Code Engine que utilizará el punto final privado. Puede configurar un proyecto Code Engine para utilizar el punto final privado sólo con la CLI. 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 nuevo proyecto y ha seleccionado un proyecto existente, y desea que su aplicación sólo sea visible para el endpoint privado, confirme que el proyecto existente admite 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 o función que sólo sea visible para el endpoint privado. Utilice
ibmcloud ce application createo el mandatoibmcloud ce function createcon la opción--visibility=private. Alternativamente, puede utilizar la consola para crear o actualizar una aplicación o función y establecer la visibilidad de su aplicación.ibmcloud ce application create -n myapp --visibility=private
Acceso seguro a su aplicación mediante puntos finales de servicio
-
En el proyecto Code Engine, confirme que la aplicación está configurada con un valor
visibility=private. Consulte Despliegue de su aplicación con un endpoint privado. -
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 Code Engine, vaya a la pestaña Domain mappings de su aplicación para ver la visibilidad de una aplicación y sus URL disponibles.
-
En la CLI deCode Engine, utilice el mandato
ibmcloud ce application getcon la opción--option url. En el siguiente ejemplo, debido a que la visibilidad demyappestá establecida envisibility=private, al especificar--option urlcon este comando se envía la URL a la red privada.ibmcloud ce application get -n myapp -output urlSalida de ejemplo
http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
-
-
Llame a la aplicación desde la red privada IBM Cloud (por ejemplo, llamando a la aplicación desde IBM Cloud Shell ).
La aplicación
myappes una aplicación Hello World simple. Cuando se ejecuta la aplicaciónmyapputilizando cURL, se devuelveHello World. Por ejemplo, desde IBM Cloud Shell, ejecute:curl http://myapp.4svg40kna19.private.us-south.codeengine.appdomain.cloud
Acceso seguro a la función con puntos finales de servicio
-
Desde su proyecto Code Engine, confirme que su función está configurada con un ajuste
visibility=private. Consulte Despliegue de la función con un punto final privado. -
Recupera 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 Code Engine, vaya a la pestaña Domain mappings de su función para ver la visibilidad de la función y sus URL disponibles.
-
En la CLI deCode Engine, utilice el mandato
ibmcloud ce function get. En el siguiente ejemplo, como la visibilidad demyfunctionestá configurada envisibility=private, este comando envía la URL a la red privada.ibmcloud ce function get -n myfunctionSalida de ejemplo
http://myfunction.1abc23def19.private.us-south.codeengine.appdomain.cloud
-