Trabajar con conectividad saliente en Code Engine

La función de conexiones salientes de IBM Cloud® Code Engine permite definir puntos finales alcanzables para sus proyectos de Code Engine.

  • Utilice los rangos de direcciones IP de destino permitidos para las conexiones salientes en notación CIDR.
  • Conecte su proyecto Code Engine con IBM Cloud VPC Servicios privados utilizando la consola Code Engine o CLI.

Puedes crear conexiones salientes mediante la consola o la CLI.

Intervalos de direcciones IP de destino permitidos para las conexiones salientes

Los rangos de direcciones IP de destino permitidos garantizan que el tráfico saliente se restrinja a las direcciones que usted defina como seguras. Así evitará accesos no deseados a Internet y mejorará el cumplimiento de las normas y la seguridad.

Las especificaciones de rango CIDR no afectan a la comunicación interna del proyecto, a las conexiones de rutas privadas ni a las conexiones de servicios privados, que siempre son destinos permitidos. En consecuencia, la restricción del tráfico saliente basada en rangos CIDR no impide que las aplicaciones de su proyecto Code Engine se comuniquen entre sí, o se comuniquen con un servicio de ruta privado conectado, o con un punto final privado de una API de servicio IBM Cloud.

Su caso de uso puede determinar las especificaciones de su conexión saliente. Los casos de uso típicos son los siguientes:

  • Especificar ninguna regla (es decir, ninguna dirección IP permitida), si se supone que las aplicaciones de Code Engine dentro de un proyecto no deben llegar a ningún punto final externo.
  • Especificación de un único rango de direcciones IP de destino permitidas (0.0.0.0/0) para permitir todos los posibles puntos finales. Por defecto, hay una regla, llamada allow-all, establecida con un rango IP de 0.0.0.0/0.
  • Especificación de una regla con un intervalo de direcciones IP de destino permitidas que permite que la carga de trabajo de su proyecto Code Engine llegue únicamente al intervalo especificado de puntos finales (por ejemplo, a su centro de datos local).

Conexiones privadas

Private Path permite conexiones entre un servicio IBM Cloud como Code Engine y su VPC sin comprometer la seguridad ni poner en riesgo su VPC. Consulte Habilitación de un servicio IBM Cloud para conectarse a la VPC de un proveedor.

Este diagrama ilustra cómo establecer un servicio Private Path con conexiones a la pasarela VPE de una aplicación Code Engine y su VPC. En primer lugar, la aplicación Code Engine se conecta a la pasarela VPE dentro de la VPC de Code Engine. A continuación, la pasarela VPE se conecta al NLB de ruta privada en la VPC del proveedor. A su vez, el NLB Private Path se conecta a la aplicación del proveedor. A continuación, la aplicación del proveedor responde a la solicitud. Esta actividad de servicio Private Path está completamente contenida en una única región (por ejemplo, us-south) en una red privada IBM Cloud.

Utilice Private Path para conectar su proyecto Code Engine a su VPC a través de una red privada.
Utilice Private Path para conectar su proyecto Code Engine a su VPC a través de una red privada.

El siguiente diagrama muestra ejemplos adicionales de cómo Private Path puede ayudar a conectar su proyecto Code Engine con:

Utilice Private Path para conectar su proyecto Code Engine a varios objetivos en su VPC u otras redes externas.
Use Private Path para conectar su proyecto Code Engine a varios objetivos en su VPC u otras redes externas

Conexiones de servicios privados

La conexión a puntos finales privados de un conjunto de servicios comunes de la plataforma IBM Cloud está habilitada como parte de los destinos salientes permitidos de todos los proyectos de Code Engine. El conjunto de servicios de plataforma habilitados varía según la región, como se detalla en la siguiente tabla.

Servicios de plataforma con puntos finales privados habilitados por región
Servicio de plataforma Punto final privado disponible en las regiones
Búsqueda global (Endpoint URL ) y etiquetado global (Endpoint URL ) au-syd, br-sao, ca-tor, eu-de, eu-es, eu-gb, in-che, jp-osa, jp-tok, us-east, us-south
Catálogo global ( URL de dispositivos finales ) au-syd, br-sao, eu-de, jp-osa, us-east, us-south
Gestión de cuentas (Endpoint URL (https://private.accounts.cloud.ibm.com) ) eu-de, us-east, us-south
Medición del uso ( URL de los terminales ) eu-de, us-east, us-south
Gestión empresarial ( URL de dispositivos finales ) eu-de, us-east, us-south
Controlador de recursos ( URL de punto final ) eu-de, us-east, us-south
Gestión de usuarios ( URL de dispositivos finales ) eu-de, us-east, us-south

Gestión de los destinos salientes permitidos mediante la consola

Adición de un intervalo de direcciones IP de destino permitidas para la conectividad saliente

Puede crear rangos de direcciones IP de destino permitidas para limitar a dónde puede conectarse su carga de trabajo a través de una red externa.

  1. Ve a la página «Conectividad»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Configuración del proyecto > Conectividad > pestaña Rangos CIDR para ver una lista de los rangos de direcciones IP de destino permitidos existentes.
  2. Haga clic en Añadir para crear un rango de direcciones IP de destino permitidas.
  3. Especifique un nombre.
  4. Indica un rango de direcciones IP en notación CIDR.
  5. Confirme su configuración.

Añadir una conexión de ruta privada para la conectividad saliente

Puede establecer una conexión Private Path entre su proyecto Code Engine y su VPC.

  1. Ve a la página «Conectividad»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Configuración del proyecto > Conectividad > pestaña Conexiones de ruta privada para ver una lista de las conexiones de ruta privada existentes.
  2. Haz clic en «Añadir» para crear una conexión de ruta privada.
  3. Especifique un nombre.
  4. Se especifica la instancia de servicio Private Path a la que conectarse por nombre o por CRN.
    1. Por Nombre, seleccione la instancia de servicio Private Path de la lista desplegable.
    2. Por CRN, proporcione la instancia de servicio Private Path CRN.
  5. Seleccione la política de aislamiento:
    1. Compartida: permite reutilizar la conexión de la ruta privada entre proyectos de Code Engine que residan en la misma cuenta de IBM Cloud que la VPC de destino, o cuentas dentro de la misma familia de cuentas de empresa.
    2. Dedicada- Restringe el uso de esta conexión Private Path exactamente a un proyecto Code Engine.
  6. Confirme su configuración.

Una vez creada la conexión a la VPC, el propietario del servicio Private Path recibirá una solicitud de conexión. El propietario puede revisar, permitir o denegar esta solicitud de conexión. Utilice el consumidor Code Engine account ID y VPE gateway creation timestamp mostrados en la vista de detalles de conexión de ruta privada para identificar la solicitud de conexión dentro del servicio de ruta privada.

Actualización de un rango de direcciones IP de destino permitidas para la conectividad saliente

Puede cambiar los rangos de direcciones IP de destino permitidos para no permitir que su carga de trabajo se conecte a puntos finales no deseados (por ejemplo, para conectarse a la Internet pública).

  1. Ve a la página «Conectividad»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Configuración del proyecto > Conectividad > pestaña Rangos CIDR para ver una lista de los rangos de direcciones IP de destino permitidos existentes.
  2. Haga clic en la fila con el intervalo de direcciones IP de destino permitidas que desea editar.
  3. Indique el rango de direcciones IP actualizado y guarde los cambios.

Cuando actualice las reglas de conectividad saliente, tenga en cuenta:

  • Los rangos de direcciones IP de destino permitidos no entran en conflicto; son aditivos. Cuando se definen varios rangos, los destinos permitidos crean una unión de todos los rangos especificados, de modo que el orden de adición de los rangos no afecta a los destinos permitidos resultantes. Si añade un segundo rango que ya está cubierto por un rango existente, el sistema rechaza la creación por ser redundante.

  • Especificando el rango de direcciones IP 0.0.0.0/0 se eliminan todas las reglas existentes y se abre la conectividad total.

  • Después de restringir las reglas de conectividad saliente, puede pasar algún tiempo hasta que su carga de trabajo recoja las reglas. Por ejemplo, si el cliente HTTP que se utiliza en su código establece una conexión antes de actualizar la regla de conectividad saliente, puede abrir una conexión a ese punto final. Para asegurarse de que sus reglas de conectividad saliente se aplican inmediatamente, restablezca todas las conexiones. Puede reajustar redistribuyendo sus cargas de trabajo o gestionando estas situaciones en su código.

  • Después de restringir las conexiones salientes de su proyecto Code Engine, puede ver efectos secundarios no deseados, como el fracaso de las ejecuciones de compilación porque no se pueden realizar solicitudes externas.

Actualización de una conexión de ruta privada para conectividad saliente

Puede cambiar una conexión Private Path entre su proyecto Code Engine y su VPC para que sea dedicated o shared.

  • Una conexión Private Path puede ser shared y por lo tanto reutilizada entre proyectos Code Engine que residan en la misma cuenta IBM Cloud que la VPC de destino, o cuentas dentro de la misma Familia de Cuentas Enterprise.
  • Para restringir el uso de una conexión Private Path exactamente a un proyecto de Code Engine, establezca su política de aislamiento en dedicated.
  • Una conexión dedicated Private Path siempre puede cambiarse a shared.
  • Una conexión shared Private Path sólo puede cambiarse a dedicated si no es utilizada por más de un proyecto Code Engine.

Para actualizar la política de aislamiento de una conexión Private Path:

  1. Ve a la página «Conectividad»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Configuración del proyecto > Conectividad > pestaña Conexiones de ruta privada para ver una lista de las conexiones de ruta privada existentes.
  2. Vaya a la fila con la conexión de ruta privada que desea actualizar y haga clic en el icono de acciones de fila de tres puntos y seleccione la opción Cambiar política de aislamiento.
  3. En el cuadro de diálogo, haga clic en Cambiar para confirmar los cambios.

Eliminación de un destino de salida permitido para la conectividad saliente

Puede eliminar los destinos salientes permitidos previamente definidos, si ya no desea definirlos para la conectividad saliente.

La eliminación de los rangos de direcciones IP de destino permitidos bloquea el tráfico saliente para las aplicaciones, funciones y trabajos de Code Engine dentro de un proyecto.

  1. Ve a la página «Conectividad»:
    1. Seleccione su proyecto en la página Proyectos de la consola Code Engine.
    2. Haga clic en Configuración del proyecto > Conectividad > pestaña Rangos CIDR para ver una lista de los rangos de direcciones IP de destino permitidos existentes, o en la pestaña Conexiones de ruta privada para ver una lista de las conexiones de ruta privada existentes.
  2. Vaya a la fila con el destino de salida permitido que desea eliminar, haga clic en el icono de acciones de fila de tres puntos y seleccione la opción Eliminar.
  3. Confirme la eliminación cuando se le solicite.

Gestión de los destinos salientes permitidos mediante la CLI

Para trabajar con los destinos salientes permitidos mediante comandos CLI, inicie sesión en su cuenta IBM Cloud y seleccione la cuenta y el grupo de recursos Code Engine.

Adición de un intervalo de direcciones IP de destino permitidas para la conectividad saliente

Para comandos CLI salientes de conectividad Code Engine, puede especificar los valores --name y --cidr para configurar los rangos de direcciones IP de destino permitidos. Siga estas directrices CIDR:

  • No utilice un rango IP de los rangos IP reservados.
  • No utilice valores --name y --cidr duplicados.
  • No utilice un nombre CIDR no compatible.
  • No utilices un rango de direcciones IP no compatible. Siga la notación CIDR.

Puede crear rangos de direcciones IP de destino permitidas para limitar a dónde puede conectarse su carga de trabajo a través de una red externa.

  1. Seleccione su proyecto Code Engine. Por ejemplo:

    ibmcloud ce project select --name myproject
    
  2. Cree un rango de direcciones IP de destino permitidas especificando las opciones --name y --cidr. Proporcione un nombre y una dirección IP válidos. Consulte estos ejemplos:

    ibmcloud ce connectivity outbound create --name mycidr1 --cidr 192.68.5.0/24
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0
    
    ibmcloud ce connectivity outbound create --name mycidr2-allow-all --cidr 0.0.0.0/0 --force
    

Añadir una conexión de ruta privada para la conectividad saliente

Para comandos CLI salientes de conectividad Code Engine, puede especificar los valores --name, --format, --pps-crn, y opcionalmente --isolation-policy para establecer conexiones Private Path entre su proyecto Code Engine y su VPC.

  1. Seleccione su proyecto Code Engine. Por ejemplo:

    ibmcloud ce project select --name myproject
    
  2. Cree una conexión de ruta privada para la conectividad saliente especificando --name, --format y --pps-crn. Proporcione un nombre, formato y CRN válidos. Indique shared o dedicated si especifica --isolation-policy. Consulte estos ejemplos:

    ibmcloud ce connectivity outbound create --name my-pps-connection --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f6f
    
    ibmcloud ce connectivity outbound create --name my-pps-connection-2 --format pps --pps-crn crn:v1:bluemix:public:is:eu-de:a/abcdefabcdefabcdefabcd1234567890::private-path-service-gateway:r010-2b2b2b2b-3c3c-4d4d-5e5e-6f6f6f6f6f5e --isolation-policy dedicated
    

Una vez creada la conexión a la VPC, el propietario del servicio Private Path recibirá una solicitud de conexión. El propietario puede revisar, permitir o denegar esta solicitud de conexión. Utilice el consumidor Code Engine account ID y VPE gateway creation timestamp mostrados en la vista de detalles de conexión de ruta privada para identificar la solicitud de conexión dentro del servicio de ruta privada.

Mostrar los destinos permitidos existentes para la conectividad saliente

Para mostrar un destino saliente específico permitido, especifique el nombre. Por ejemplo:

ibmcloud ce connectivity outbound get --name my-allowed-destination

Para mostrar todos los destinos de salida permitidos, ejecute:

ibmcloud ce connectivity outbound list

Para mostrar los formatos seleccionados de los destinos de salida permitidos, ejecute, por ejemplo:

ibmcloud ce connectivity outbound list --format cidr,pps

ibmcloud ce connectivity outbound list --format cidr

ibmcloud ce connectivity outbound list --format pps

Actualización de un rango de direcciones IP de destino permitidas para la conectividad saliente

Puede cambiar los rangos de direcciones IP de destino permitidos para no permitir que su carga de trabajo se conecte a puntos finales no deseados (por ejemplo, para conectarse a la Internet pública).

Actualiza un rango de direcciones IP de destino permitidas especificando las opciones --name y --cidr. Proporcione un nombre y una dirección IP válidos. Consulte estos ejemplos:

ibmcloud ce connectivity outbound update --name mycidr1 --cidr 192.68.5.0/24

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>

ibmcloud ce connectivity outbound update --name mycidr2-allow-all --cidr 0.0.0.0/0 --force

Cuando actualice las reglas de conectividad saliente, tenga en cuenta:

  • Los rangos de direcciones IP de destino permitidos no entran en conflicto; son aditivos. Cuando se definen varios rangos, los destinos permitidos crean una unión de todos los rangos especificados, de modo que el orden de adición de los rangos no afecta a los destinos permitidos resultantes. Si añade un segundo rango que ya está cubierto por un rango existente, el sistema rechaza la creación por ser redundante.

  • Especificando el rango de direcciones IP 0.0.0.0/0 se eliminan todas las reglas existentes y se abre la conectividad total.

  • Incluso después de restringir las reglas de conectividad saliente, puede pasar algún tiempo hasta que su carga de trabajo recoja las reglas. Por ejemplo, si el cliente HTTP que se utiliza en su código establece una conexión antes de actualizar la regla de conectividad saliente, puede abrir una conexión a ese punto final. Para asegurarse de que sus reglas de conectividad saliente se aplican inmediatamente, restablezca todas las conexiones. Puede reajustar redistribuyendo sus cargas de trabajo o gestionando estas situaciones en su código.

  • Después de restringir las conexiones salientes de su proyecto Code Engine, puede ver efectos secundarios no deseados, como el fracaso de las ejecuciones de compilación porque no se pueden realizar solicitudes externas.

Actualización de una conexión de ruta privada para conectividad saliente

Puede cambiar una conexión Private Path entre su proyecto Code Engine y su VPC para que sea dedicated o shared.

  • Una conexión Private Path puede ser shared y por lo tanto reutilizada entre los proyectos Code Engine que residen en la misma cuenta IBM Cloud que la VPC de destino, o cuentas dentro de la misma Familia de Cuentas Enterprise.
  • Para restringir el uso de una conexión Private Path exactamente a un proyecto de Code Engine, establezca su --isolation-policy en dedicated.
  • Una conexión dedicated Private Path siempre puede cambiarse a shared.
  • Una conexión shared Private Path sólo puede cambiarse a dedicated si no es utilizada por más de un proyecto Code Engine.

Para actualizar una conexión Private Path, especifique las opciones --name y --isolation-policy. Consulte estos ejemplos:

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy dedicated

ibmcloud ce connectivity outbound update --name my-pps-connection --isolation-policy shared

Eliminación de un destino de salida permitido para la conectividad saliente

Puede eliminar los destinos salientes permitidos previamente definidos, si ya no desea definirlos para la conectividad saliente.

La eliminación de los rangos de direcciones IP de destino permitidos bloquea el tráfico saliente para las aplicaciones, funciones y trabajos de Code Engine dentro de un proyecto.

Para eliminar un destino saliente permitido con confirmación, especifique el nombre. Por ejemplo:

ibmcloud ce connectivity outbound delete --name my-allowed-destination

Para eliminar un destino de salida permitido de forma forzada (es decir, sin confirmación), ejecute:

ibmcloud ce connectivity outbound delete --name my-allowed-destination --force