Crear un backend de Private Service Connect

Puedes usar backends de Private Service Connect para conectarte a servicios compatibles mediante un balanceador de carga para aplicar las políticas. Te conectas al servicio a través de una regla de reenvío asignada a un backend que contiene un grupo de endpoints de red (NEG) de Private Service Connect.

Para obtener más información sobre los servicios y las configuraciones admitidos, consulta el artículo Acerca de los back-ends de Private Service Connect.

En esta guía se explica cómo añadir un NEG de Private Service Connect a un balanceador de carga para acceder a las APIs de Google o a un servicio publicado. Esta guía no incluye la configuración completa del balanceador de carga.

Para obtener instrucciones sobre cómo crear un balanceador de carga con un backend de Private Service Connect, consulta los siguientes artículos:

Roles

El rol Administrador de balanceadores de carga de Compute (roles/compute.loadBalancerAdmin) contiene el permiso necesario para llevar a cabo las tareas descritas en esta guía.

Antes de empezar

  1. Determina a qué API o servicio quieres conectarte:

    • En el caso de las APIs de Google, haz una de las siguientes acciones:

    • En el caso de los servicios publicados:

      • Si quieres publicar tu propio servicio, consulta el artículo Publicar servicios gestionados.

      • Si te conectas a un servicio publicado por Google Cloud o por terceros, pide al productor la siguiente información:

        • El URI del adjunto de servicio del servicio al que quieras conectarte.

        • Opcional: el puerto que usa el servicio. Si sabes qué puerto se usa, puedes especificarlo como parte de la configuración del NEG de Private Service Connect.

        • Requisitos sobre los nombres de DNS que se usan para enviar solicitudes. Es posible que tengas que usar nombres de DNS específicos en la configuración del mapa de URLs.

  2. Determina qué tipo de balanceador de carga admite el servicio al que quieres conectarte y asegúrate de que conoces el balanceador de carga que vas a actualizar. En esta guía se describe cómo añadir un NEG de Private Service Connect a un balanceador de carga, pero es posible que quieras realizar pasos de configuración adicionales.

    Para obtener más información, consulta Balanceadores de carga y destinos admitidos.

Crear un NEG de Private Service Connect

Cuando creas un NEG, eliges el tipo de destino al que se conecta:

  • Un servicio publicado
  • Una API de Google regional
  • Una API global de Google

Crear un NEG para conectarse a un servicio publicado

Cuando creas un NEG de Private Service Connect que apunta a un servicio publicado, necesitas el URI de la vinculación de servicio del servicio. El archivo adjunto de servicio tiene este formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

El creador del servicio también puede proporcionar un puerto para usarlo en este servicio. Si es así, asegúrese de incluir el puerto del productor en la configuración del NEG.

Para obtener información sobre los balanceadores de carga admitidos en esta configuración, consulta Destinos de servicio publicados.

Consola

  1. En la Google Cloud consola, ve a la página Grupos de endpoints de red.

    Ve a Grupos de puntos finales de red
    .

  2. Haz clic en Crear grupo de endpoints de red.

  3. Introduzca un nombre para el grupo de endpoints de red.

  4. En Tipo de grupo de endpoints de red, selecciona NEG de Private Service Connect (regional).

  5. Configura el objetivo:

    1. En Destino, selecciona Servicio publicado.
    2. En Servicio de destino, introduce el URI de la vinculación de servicio.
    3. Opcional: En Puerto del productor, introduce el puerto que te haya proporcionado el productor. Si se omite, el puerto se asigna automáticamente.
    4. Selecciona Red y Subred para crear el grupo de endpoints de red.

      La subred debe estar en la misma región que el servicio publicado.

  6. Haz clic en Crear.

gcloud

Usa el comando gcloud compute network-endpoint-groups create:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION \
    --network=NETWORK \
    --subnet=SUBNET

Si sabes qué puerto usa el productor, puedes especificarlo con --producer-port=PORT.

Haz los cambios siguientes:

  • NEG_NAME: nombre del grupo de endpoints de red.

  • TARGET_SERVICE: el URI del archivo adjunto de servicio.

  • REGION: la región en la que se va a crear el grupo de puntos finales de red. La región debe ser la misma que la del servicio de destino.

  • NETWORK: la red en la que se va a crear el grupo de endpoints de red. Si se omite, se usará la red predeterminada.

  • SUBNET: la subred en la que se va a crear el grupo de endpoints de red. La subred debe estar en la misma región que el servicio de destino. Si proporcionas la red, debes proporcionar una subred. Si se omiten tanto la red como la subred, se usará la red predeterminada y la subred predeterminada de la REGION especificada.

  • PORT: el puerto que usa el productor para el servicio.

Crear un NEG para conectarse a una API de Google regional

Puedes crear un NEG para conectarte a una API de Google regional.

Para obtener información sobre los balanceadores de carga admitidos en esta configuración, consulta Objetivos de la API de Google regionales.

Consola

  1. En la Google Cloud consola, ve a la página Grupos de endpoints de red.

    Ve a Grupos de puntos finales de red
    .

  2. Haz clic en Crear grupo de endpoints de red.

  3. Introduzca un nombre para el grupo de endpoints de red.

  4. En Tipo de grupo de endpoints de red, selecciona NEG de Private Service Connect (regional).

  5. Configura el objetivo:

    1. En Destino, selecciona APIs de Google.
    2. Selecciona una región y el servicio objetivo.
  6. Haz clic en Crear.

gcloud

Usa el comando gcloud compute network-endpoint-groups create:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

Haz los cambios siguientes:

  • NEG_NAME: nombre del grupo de endpoints de red.

  • TARGET_SERVICE: el endpoint de servicio regional al que quieras conectarte.

  • REGION: la región en la que se creará el grupo de endpoints de red. La región debe ser la misma que la del servicio de destino.

Crear un NEG para conectarse a una API de Google global

Puedes crear un NEG de Private Service Connect para conectarte a una API de Google global. Los NEGs son regionales, incluso cuando se conectan a APIs globales. En esta configuración, se ignora la región.

Para obtener información sobre los balanceadores de carga admitidos en esta configuración, consulta Objetivos de la API de Google globales.

Para obtener instrucciones completas sobre cómo crear un balanceador de carga de aplicaciones interno entre regiones y un NEG de Private Service Connect para acceder a las APIs de Google globales, consulta Acceder a las APIs de Google globales.

Consola

  1. En la Google Cloud consola, ve a la página Grupos de endpoints de red.

    Ve a Grupos de puntos finales de red
    .

  2. Haz clic en Crear grupo de endpoints de red.

  3. Introduzca un nombre para el grupo de endpoints de red.

  4. En Tipo de grupo de endpoints de red, selecciona NEG de Private Service Connect (regional).

  5. Configura el objetivo:

    1. En Target (Destino), selecciona Global Google APIs (APIs de Google globales).
    2. Selecciona una región y el servicio objetivo.
  6. Haz clic en Crear.

gcloud

Usa el comando gcloud compute network-endpoint-groups create:

gcloud compute network-endpoint-groups create NEG_NAME \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=TARGET_SERVICE \
    --region=REGION

Haz los cambios siguientes:

  • NEG_NAME: nombre del grupo de endpoints de red.

  • TARGET_SERVICE: la API global de Google a la que quieras conectarte.

  • REGION: la región en la que se creará el grupo de endpoints de red.

Añadir un backend de Private Service Connect a un balanceador de carga

Puedes configurar un balanceador de carga compatible para dirigir el tráfico a un backend de NEG de Private Service Connect.

Para obtener más información sobre las configuraciones admitidas, consulta las especificaciones.

Añadir un backend a un balanceador de carga de aplicación

Añade un NEG a un balanceador de carga de aplicación externo global, a un balanceador de carga de aplicación interno, a un balanceador de carga de aplicación externo regional o a un balanceador de carga de aplicación interno entre regiones.

Consola

Edita el balanceador de carga.

  1. En la Google Cloud consola, ve a la página Balanceo de carga.

    Ir a Balanceo de carga

  2. Haz clic en el balanceador de carga que quieras modificar.

  3. Haz clic en Editar.

Actualizar la configuración del backend

  1. Haz clic en Configuración de backend.
  2. Despliega la lista de servicios de backend y selecciona Crear un servicio de backend.
  3. Introduce un nombre para el servicio backend.
  4. En Tipo de backend, selecciona Grupo de endpoints de red de Private Service Connect.
  5. En la sección Backends (Backends), haz clic en la lista Private Service Connect network endpoint group (Grupo de endpoints de red de Private Service Connect) y selecciona el NEG de Private Service Connect que has creado. Haz clic en Listo.
  6. Si estás configurando un balanceador de carga de aplicaciones externo global para conectarte a un servicio publicado en varias regiones y has creado más de un NEG de Private Service Connect, haz clic en Añadir backend para seleccionar otro NEG.

    Repita este paso hasta que se hayan añadido todos los NEGs de este servicio gestionado al servicio de backend.

  7. Haz clic en Crear.

Actualizar las reglas de enrutamiento

  1. Haz clic en Reglas de enrutamiento.
  2. Introduce un Host y una Ruta para cada servicio backend que hayas añadido.
  3. Para revisar la configuración, haz clic en Revisar y finalizar.
  4. Haz clic en Crear.

gcloud

Actualizar la configuración del backend

  1. Crea un servicio de backend para el servicio de destino.

    • Si vas a añadir el servicio de backend a un balanceador de carga regional, usa la marca --region para especificar la misma región que el balanceador de carga.

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
          --load-balancing-scheme=SCHEME \
          --protocol=HTTPS \
          --region=REGION
      

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio backend.
      • SCHEME: el esquema de balanceo de carga del balanceador de carga que estás modificando:
        • En el caso de un balanceador de carga de aplicación externo regional, usa EXTERNAL_MANAGED.
        • En el caso de un balanceador de carga de aplicación interno, usa INTERNAL_MANAGED.
      • REGION: la región del servicio de backend. Usa la misma región que el NEG.
    • Si vas a añadir el servicio de backend a un balanceador de carga de aplicación externo global, usa la marca --global.

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --protocol=HTTPS \
          --global
      

      Sustituye BACKEND_SERVICE_NAME por el nombre del servicio backend.

  2. Añade el NEG de Private Service Connect que apunta al servicio de destino.

    • Si vas a añadir un servicio de backend a un balanceador de carga regional, usa la marca --region para especificar la misma región que el balanceador de carga.

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=NEG_REGION \
          --region=REGION
      

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: el nombre del grupo de endpoints de red.
      • NEG_REGION: la región del grupo de puntos finales de red.
      • REGION: la región del servicio de backend.
    • Si vas a añadir un servicio de backend a un balanceador de carga de aplicación externo global, usa la marca --global.

      Si has creado varios NEGs en diferentes regiones para el mismo servicio, repite este paso para añadir todos los NEGs al servicio de backend.

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
          --network-endpoint-group=NEG_NAME \
          --network-endpoint-group-region=NEG_REGION \
          --global
      

      Haz los cambios siguientes:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: el nombre del grupo de endpoints de red.
      • NEG_REGION: la región del grupo de puntos finales de red.

Actualizar las reglas de enrutamiento

  1. Por cada servicio de backend que hayas creado, añade un comparador de rutas al mapa de URLs del balanceador de carga.

    • Si el mapa de URLs es regional, especifica la región con la marca --region.

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=PATH_MATCHER \
          --default-service=BACKEND_SERVICE_NAME \
          --region=REGION
      

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • PATH_MATCHER: nombre del comparador de rutas.
      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • REGION: región del mapa de URLs.
    • Si el mapa de URLs es global, especifica la marca --global.

      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
          --path-matcher-name=PATH_MATCHER \
          --default-service=BACKEND_SERVICE_NAME \
          --global
      

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • PATH_MATCHER: nombre del comparador de rutas.
      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
  2. Añade una regla de host para cada nombre de host.

    Cada regla de host solo puede hacer referencia a un matcher de ruta, pero dos o más reglas de host pueden hacer referencia al mismo matcher de ruta.

    • Si el mapa de URLs es regional, especifica la región con la marca --region.

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
          --hosts=HOST \
          --path-matcher-name=PATH_MATCHER \
          --region=REGION
      

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • HOST: el nombre de host al que se enviarán las solicitudes de este servicio.
      • PATH_MATCHER: el nombre del comparador de rutas.
      • REGION: región del mapa de URLs.
    • Si el mapa de URLs es global, especifica la marca --global.

      gcloud compute url-maps add-host-rule URL_MAP_NAME \
          --hosts=HOST \
          --path-matcher-name=PATH_MATCHER \
          --global
      

      Haz los cambios siguientes:

      • URL_MAP_NAME: nombre del mapa de URLs.
      • HOST: el nombre de host al que se enviarán las solicitudes de este servicio.
      • PATH_MATCHER: el nombre del comparador de rutas.

Añadir un backend a un balanceador de carga de red con proxy interno regional

Puedes añadir un backend de NEG de Private Service Connect a un balanceador de carga de red de proxy interno regional si el NEG apunta a un servicio publicado. Los balanceadores de carga de red de proxy interno regionales solo admiten un servicio de backend.

Para configurar el balanceador de carga de red con proxy interno regional, sigue las instrucciones para configurar un balanceador de carga de red con proxy interno regional con back-ends zonales, pero no completes los pasos de "Crear los NEG zonales" ni configures las comprobaciones de estado. En lugar de configurar un NEG zonal, sigue estas instrucciones para añadir el NEG de Private Service Connect que has creado a un backend de Private Service Connect.

Consola

  1. En el balanceador de carga de red de proxy interno regional que estás creando, haz clic en Configuración de backend.
  2. En Tipo de backend, selecciona Grupo de endpoints de red de Private Service Connect.
  3. En Nuevo backend, selecciona el NEG que has creado.
  4. Conserva el resto de los valores predeterminados y haz clic en Hecho.
  5. En la Google Cloud consola, comprueba que haya una marca de verificación junto a Configuración de backend. Si no es así, comprueba que has completado todos los pasos.

gcloud

  1. Crea un servicio de backend para el servicio de destino.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=INTERNAL_MANAGED \
        --protocol=TCP \
        --region=REGION
    

    Haz los cambios siguientes:

    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • REGION: la región del servicio de backend. Usa la misma región que el NEG.
  2. Añade el NEG de Private Service Connect que apunta al servicio de destino.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=NEG_REGION \
        --region=REGION
    

    Haz los cambios siguientes:

    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • NEG_NAME: el nombre del grupo de endpoints de red.
    • NEG_REGION: la región del grupo de puntos finales de red.
    • REGION: la región del servicio de backend.

Añadir un backend a un balanceador de carga de red de proxy externo regional

Puedes añadir un backend de NEG de Private Service Connect a un balanceador de carga de red proxy externo regional si el NEG apunta a un servicio publicado. Este balanceador de carga solo admite un servicio de backend.

Para configurar el balanceador de carga, sigue las instrucciones para configurar un balanceador de carga de red con proxy externo regional con back-ends zonales, pero no completes los pasos de "Crear los NEG zonales" ni configures las comprobaciones de estado. En lugar de configurar un NEG zonal, sigue estas instrucciones para añadir el NEG de Private Service Connect que has creado a un backend de Private Service Connect.

Consola

  1. En el balanceador de carga de red de proxy externo regional que estás creando, haz clic en Configuración de backend.
  2. En Tipo de backend, selecciona Grupo de endpoints de red de Private Service Connect.
  3. En Nuevo backend, selecciona el NEG que has creado.
  4. Conserva el resto de los valores predeterminados y haz clic en Hecho.
  5. En la Google Cloud consola, comprueba que haya una marca de verificación junto a Configuración de backend. Si no es así, comprueba que has completado todos los pasos.

gcloud

  1. Crea un servicio de backend para el servicio de destino.

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=TCP \
        --region=REGION
    

    Haz los cambios siguientes:

    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • REGION: la región del servicio de backend. Usa la misma región que el NEG.
  2. Añade el NEG de Private Service Connect que apunta al servicio de destino.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=NEG_REGION \
        --region=REGION
    

    Haz los cambios siguientes:

    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • NEG_NAME: el nombre del grupo de endpoints de red.
    • NEG_REGION: la región del grupo de puntos finales de red.
    • REGION: la región del servicio de backend.

Mostrar back-ends

Puedes enumerar todos los backends de Private Service Connect configurados.

Consola

  1. En la Google Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Puntos finales conectados.

    Los backends de Private Service Connect se muestran en la sección Endpoints del balanceador de carga.

Describe un backend

Puedes describir un backend de Private Service Connect para ver sus detalles, incluido su estado de conexión.

Consola

  1. Lista de back-ends disponibles
  2. Haz clic en el backend que quieras describir.

Solución de problemas

Error al acceder a la regla de reenvío del balanceador de carga

Si aparece un error 404 al intentar acceder a la regla de reenvío de tu balanceador de carga, puede que se deba a uno de los siguientes motivos:

  • El mapa de URLs aún no se ha propagado.

    Si acabas de crear el balanceador de carga, espera unos minutos.

  • La URL que está usando en su solicitud no coincide con ninguna URL definida en el mapa de URLs.

    Verifica que la URL que estás intentando coincida con la configuración del mapa de URLs de tu balanceador de carga.

  • El backend del productor de servicios no admite la URL a la que estás intentando acceder

    Pide al productor del servicio que verifique qué URL debes usar para acceder a su servicio.