Publica servicios mediante Private Service Connect

Como productor de servicios, puedes usar Private Service Connect para publicar servicios mediante direcciones IP internas en tu red de VPC. Los consumidores de servicios pueden acceder a los servicios publicados mediante direcciones IP internas en sus redes de VPC.

Para publicar un servicio, haz lo siguiente:

  • Aloja el servicio con un balanceador de cargas de TCP/UDP interno en la red de VPC del productor de servicios.

  • Crea un adjunto de servicio en la misma región que el balanceador de cargas de TCP/UDP interno.

    Si usas una VPC compartida, puedes crear la subred de Private Service Connect en el proyecto host y el adjunto de servicio en un proyecto de servicio.

Para conectarse a un servicio, un consumidor de servicios debe configurar un extremo de Private Service Connect para acceder al servicio en la misma región.

También puedes usar Private Service Connect para conectarte a los servicios y las API de Google.

Funciones

La siguiente función de IAM proporciona los permisos necesarios para realizar las tareas de esta guía.

Antes de comenzar

Para publicar un servicio con Private Service Connect, el servicio debe estar alojado en backends de un balanceador de cargas TCP/UDP interno.

Decide si se puede acceder al servicio desde todos los proyectos o si deseas controlar qué proyectos pueden acceder a tu servicio.

Limitaciones

  • Un adjunto de servicio puede hacer referencia solo a un balanceador de cargas TCP/UDP interno. No puedes configurar varios adjuntos de servicio que usen el mismo balanceador de cargas.

  • No todas las características del balanceador de cargas de TCP/UDP interno son compatibles. Si el balanceador de cargas usa alguna de estas funciones, no puedes usarlo para publicar un servicio con Private Service Connect.

    Además, un adjunto de servicio no puede hacer referencia a una regla de reenvío para el reenvío de protocolos internos.

  • Las subredes que creas para Private Service Connect tienen las siguientes limitaciones:

    • No puedes usar la misma subred para múltiples parámetros de configuración de adjuntos de servicio.

    • No puedes asignar direcciones IP de subredes de Private Service Connect a los recursos.

  • Consulta la sección Problemas conocidos para revisar problemas y soluciones alternativas.

Crea una subred para Private Service Connect

Debes crear una o más subredes dedicadas para usarlas con Private Service Connect. Si usas Google Cloud Console para publicar un servicio, puedes crear las subredes durante ese procedimiento.

Para obtener información sobre las subredes de Private Service Connect, consulta Subredes de Private Service Connect.

Console

  1. Ir a la página de redes de VPC
    Ir a las redes de VPC
  2. Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.
  3. Haz clic en Agregar subred. En el panel que aparece, realiza los siguientes pasos:
    1. Proporciona un Nombre.
    2. Selecciona una Región.
    3. En la sección Objetivo, selecciona Private Service Connect.
    4. Ingresa un Rango de direcciones IP. Por ejemplo, 10.10.10.0/24
    5. Haga clic en Agregar.

gcloud

gcloud compute networks subnets create SUBNET_NAME \
    --network=NETWORK_NAME --region=REGION \
    --range=SUBNET_RANGE --purpose=PRIVATE_SERVICE_CONNECT

Reemplaza lo siguiente:

  • SUBNET_NAME: nombre que se asignará al extremo.

  • NETWORK_NAME: Es el nombre de la VPC de la subred nueva.

  • REGION: Es la región de la subred nueva. Debe ser la misma región que el servicio que publicas.

  • SUBNET_RANGE: El rango de direcciones IP que se usará para la subred. Por ejemplo, 10.10.10.0/24

API

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks

{
  "ipCidrRange": "SUBNET_RANGE",
  "name": "SUBNET_NAME",
  "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
  "purpose": "PRIVATE_SERVICE_CONNECT",
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto de la subred.

  • SUBNET_NAME: nombre que se asignará al extremo.

  • NETWORK_NAME: Es el nombre de la red de VPC de la subred nueva.

  • REGION: Es la región de la subred nueva. Debe ser la misma región que el servicio que publicas.

  • SUBNET_RANGE: El rango de direcciones IP que se usará para la subred. Por ejemplo, 10.10.10.0/24

Publica un servicio con aprobación automática del proyecto

Usa estas instrucciones para publicar un servicio y permitir que cualquier consumidor se conecte a este servicio de forma automática. Si deseas aprobar las conexiones de consumidor de forma explícita, consulta Publica un servicio con aprobación de proyecto explícita.

Cuando publicas un servicio, creas un adjunto de servicio. Los consumidores de servicios utilizan los detalles del adjunto del servicio para conectarse a tu servicio.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en Publicar servicio.

  4. Selecciona el Balanceador de cargas interno asociado al servicio que deseas publicar.

    Los campos de red y región se propagan con los detalles del balanceador de cargas interno seleccionado.

  5. Si se te solicita, selecciona la Regla de reenvío asociada con el servicio que deseas publicar.

  6. En Nombre del servicio, ingresa un nombre para el adjunto del servicio.

  7. Selecciona una o más Subredes para el servicio. Si deseas agregar una subred nueva, puedes crear una:

    1. Haz clic en Reservar subred nueva.
    2. Ingresa un Nombre y una Descripción opcional para la subred.
    3. Selecciona una Región para la subred.
    4. Ingresa el Rango de IP que se usará en la subred y haz clic en Agregar.
  8. Si deseas ver la información de conexión del consumidor, selecciona Usar protocolo de proxy. Para obtener más información, consulta Visualiza la información de conexión del consumidor.

  9. Seleccionar Aceptar conexiones de forma automática para todos los proyectos.

  10. Haz clic en Agregar servicio.

gcloud

Si deseas ver la información de conexión del consumidor, usa la marca opcional --enable-proxy-protocol. Para obtener más información, consulta Visualiza la información de conexión del consumidor.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --producer-forwarding-rule=RULE_NAME  \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --enable-proxy-protocol ]

Reemplaza lo siguiente:

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • REGION: Es la región del adjunto del servicio nuevo. Debe ser la misma región que el servicio que publicas.

  • RULE_NAME: El nombre de la regla de reenvío asociada con el servicio que publicas.

  • PSC_SUBNET_LIST: Una lista separada por comas de una o más subredes que se usarán con este adjunto de servicio.

API

Si deseas ver la información de conexión del consumidor, incluye enableProxyProtocol: true. Para obtener más información, consulta Visualiza la información de conexión del consumidor

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "targetService": "RULE_URI",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI",
  ],
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • REGION: Es la región del adjunto del servicio nuevo. Debe ser la misma región que el servicio que publicas.

  • RULE_URI: El nombre de la regla de reenvío asociada con el servicio que publicas.

  • PSC_SUBNET_1_URI y PSC_SUBNET_2_URI: Son los URI de subred que se usarán para este adjunto de servicio. Puedes especificar una o más subredes por URI.

Publica un servicio con aprobación explícita del proyecto

Usa estas instrucciones para publicar un servicio en el que debas aprobar de forma explícita a los consumidores que desean conectarse a este. Si deseas aprobar automáticamente las conexiones del consumidor, consulta Publica un servicio con aprobación automática del proyecto.

Cuando publicas un servicio, creas un adjunto de servicio. Los consumidores de servicios utilizan los detalles del adjunto del servicio para conectarse a tu servicio.

Si agregas un proyecto a la lista de aceptación y a la de denegación, se rechazan las solicitudes de conexión de ese proyecto.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en Publicar servicio.

  4. Selecciona el Balanceador de cargas interno asociado al servicio que deseas publicar.

    Los campos de red y región se propagan con los detalles del balanceador de cargas interno seleccionado.

  5. Si se te solicita, selecciona la Regla de reenvío asociada con el servicio que deseas publicar.

  6. En Nombre del servicio, ingresa un nombre para el adjunto del servicio.

  7. Selecciona una o más Subredes para el servicio.

    Si deseas agregar una subred nueva, puedes crear una:

    1. Haz clic en Reservar subred nueva.
    2. Ingresa un Nombre y una Descripción opcional para la subred.
    3. Selecciona una Región para la subred.
    4. Ingresa el Rango de IP que se usará en la subred y haz clic en Agregar.
  8. Si deseas ver la información de conexión del consumidor, marca la casilla de verificación Protocolos. Para obtener más información, consulta Visualiza la información de conexión del consumidor.

  9. Selecciona Aceptar conexiones para los proyectos seleccionados.

  10. Haz clic en Agregar proyecto aceptado y, luego, ingresa los detalles de los proyectos que deseas que se conecten a este servicio:

    • Nombre del proyecto: nombre del proyecto desde el cual se permiten conexiones
    • Límite de conexión: cantidad de conexiones que se permiten desde este proyecto
  11. Haz clic en Agregar servicio.

gcloud

Si deseas ver la información de conexión del consumidor, usa la marca opcional --enable-proxy-protocol. Para obtener más información, consulta Visualiza la información de conexión del consumidor.

gcloud compute service-attachments create ATTACHMENT_NAME \
    --region=REGION \
    --producer-forwarding-rule=RULE_NAME  \
    --connection-preference=ACCEPT_MANUAL \
    --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \
    --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 \
    --nat-subnets=PSC_SUBNET_LIST \
    [ --enable-proxy-protocol ]

Reemplaza lo siguiente:

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • REGION: Es la región del adjunto del servicio nuevo. Debe ser la misma región que el servicio que publicas.

  • RULE_NAME: Es el nombre de la regla de reenvío asociada con el servicio que publicas.

  • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. --consumer-accept-list es opcional y puede contener uno o más proyectos.

  • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

  • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. --consumer-reject-list es opcional y puede contener uno o más proyectos.

  • PSC_SUBNET_LIST: Una lista separada por comas de una o más subredes que se usarán con este adjunto de servicio.

API

Si deseas ver la información de conexión del consumidor, incluye enableProxyProtocol: true. Para obtener más información, consulta Visualiza la información de conexión del consumidor.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
{
  "name": "ATTACHMENT_NAME",
  "region": "REGION",
  "connectionPreference": "ACCEPT_MANUAL",
  "targetService": "RULE_URI",
  "enableProxyProtocol": false,
  "natSubnets": [
    "PSC_SUBNET_1_URI",
    "PSC_SUBNET_2_URI",
  ],
  "consumerRejectList": [
    "REJECTED_PROJECT_1",
    "REJECTED_PROJECT_2",
  ],
  "consumerAcceptList": [
    "consumerProjectLimit": {
      "projectId": "ACCEPTED_PROJECT_1",
      "connectionsLimit": "LIMIT_2",
    },
    "consumerProjectLimit": {
      "projectId": "ACCEPTED_PROJECT_2",
      "connectionsLimit": "LIMIT_2",
    },
  ],
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • RULE_URI: El URI de la regla de reenvío asociada con el servicio que publicas.

  • PSC_SUBNET_1_URI y PSC_SUBNET_2_URI: Son los URI de subred que se usarán para este adjunto de servicio. Puedes especificar una o más subredes por URI.

  • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. consumerRejectList es opcional y puede contener uno o más proyectos.

  • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. consumerAcceptList es opcional y puede contener uno o más proyectos.

  • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

Visualiza la información de conexión del consumidor

De forma predeterminada, Private Service Connect traduce la dirección IP de origen del consumidor a una dirección en una de las subredes de Private Service Connect en la red de VPC del productor de servicios. Si, en cambio, deseas ver la dirección IP de origen original del consumidor, puedes habilitar el protocolo PROXY. Si el protocolo PROXY está habilitado, puedes obtener la dirección IP de origen del consumidor y el ID de conexión de PSC desde el encabezado del protocolo PROXY.

Si habilitas el protocolo PROXY, consulta la documentación del software del servidor web de backend para obtener información sobre el análisis y el procesamiento de los encabezados del protocolo PROXY entrantes en las cargas útiles de TCP de la conexión del cliente. Si el protocolo PROXY está habilitado en el adjunto de servicio, pero el servidor web de backend no está configurado para procesar encabezados de protocolo PROXY, las solicitudes web pueden tener un formato incorrecto. Si las solicitudes tienen formato incorrecto, el servidor no puede interpretarlas.

Private Service Connect solo admite el protocolo PROXY para servicios TCP. Aunque los servicios UDP no son compatibles, no se te impide habilitar el protocolo PROXY para los servicios UDP.

El ID de conexión de PSC está codificado en el encabezado del protocolo PROXY en formato Type-Length-Value (TLV).

Campo Longitud del campo Valor del campo
Tipo 1 byte 0xE0 (PP2_TYPE_GCP)
Duración 2 bytes 0x8 (8 bytes)
Valor 8 bytes ID de conexión de PSC de 8 bytes en orden de red

Puedes ver el ID de conexión de PSC de 8 bytes desde la regla de reenvío del consumidor o el adjunto de servicio del productor. El ID de conexión de PSC es un ID único global que se usa para identificar una regla de reenvío de Private Service Connect. Puedes usar el ID de conexión de PSC para depurar y realizar un seguimiento del origen de los paquetes.

Además, hay un ID de adjunto de PSC de 16 bytes que está disponible en el adjunto de servicio del productor. El ID de adjunto de PSC es un ID global único que identifica un adjunto de servicio de Private Service Connect. Puedes usar el ID de adjunto de PSC para obtener visibilidad y depurar. El ID de adjunto de PSC no se incluye en el encabezado del protocolo PROXY.

Administra solicitudes para acceder a un servicio publicado

Si publicaste un servicio con aprobación explícita del proyecto, puedes aceptar o rechazar solicitudes de conexión de proyectos de consumidor.

Si agregas un proyecto a la lista de aceptación y a la de denegación, se rechazan las solicitudes de conexión de ese proyecto.

Después de que se acepta una conexión de extremo del consumidor para un servicio, el extremo puede conectarse al servicio hasta que se borra el adjunto de servicio. Esto se aplica sin importar si el proyecto se aceptó de forma explícita o si el extremo del consumidor se conectó cuando se configuró la preferencia de conexión para aceptar conexiones de forma automática.

  • Si quitas un proyecto de la lista de aceptación, cualquier extremo de consumidor aceptado previamente en ese proyecto puede conectarse al servicio. Se deben aceptar las conexiones de los extremos de consumidor nuevos en ese proyecto antes de que se pueda conectar el extremo.

  • Si agregas un proyecto a la lista de rechazo, cualquier extremo de consumidor aceptado previamente en ese proyecto puede conectarse al servicio. Se rechazan las conexiones desde los extremos de consumidor nuevos en ese proyecto.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en el servicio que deseas borrar.

  4. En la sección Proyectos conectados, encontrarás los proyectos que intentaron conectarse a este servicio. Marca la casilla de verificación junto a uno o más proyectos y haz clic en Aceptar o Rechazar.

gcloud

  1. Describe el adjunto de servicio que deseas modificar.

    gcloud compute service-attachments describe \
        ATTACHMENT_NAME --region=REGION
    

    El resultado es similar al siguiente ejemplo. Si hay conexiones de consumidores pendientes, se enumeran con el estado PENDING.

    En este resultado de ejemplo, el proyecto CONSUMER_PROJECT_1 está en la lista de aceptación, por lo que se acepta ENDPOINT_1 y se puede conectar al servicio. El proyecto CONSUMER_PROJECT_2 no está en la lista de aceptación, por lo que ENDPOINT_2 está pendiente. Después de agregar CONSUMER_PROJECT_2 a la lista de aceptación, el estado de ENDPOINT_2 cambia a ACCEPTED, y el extremo puede conectarse al servicio.

    connectedEndpoints:
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1
      pscConnectionId: 'ENDPOINT_1_ID'
      status: ACCEPTED
    - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2
      pscConnectionId: 'ENDPOINT_2_ID'
      status: PENDING
    connectionPreference: ACCEPT_MANUAL
    consumerAcceptLists:
    - connectionLimit: LIMIT_1
      projectIdOrNum: CONSUMER_PROJECT_1
    creationTimestamp: 'TIMESTAMP'
    description: 'DESCRIPTION'
    enableProxyProtocol: false
    fingerprint: FINGERPRINT
    id: 'ID'
    kind: compute#serviceAttachment
    name: NAME
    natSubnets:
    - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET
    pscServiceAttachmentId:
      high: 'PSC_ATTACH_ID_HIGH'
      low: 'PSC_ATTACH_ID_LOW'
    region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION
    selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME
    targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
    
  2. Acepta o rechaza proyectos de consumidor.

    Puedes especificar --consumer-accept-list o --consumer-reject-list, o ambos. Puedes especificar varios valores en --consumer-accept-list y --consumer-reject-list.

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \
        --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2
    

    Reemplaza lo siguiente:

    • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

    • REGION: Es la región en la que se encuentra el adjunto de servicio.

    • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. consumerAcceptList es opcional y puede contener uno o más proyectos.

    • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

    • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. --consumer-reject-list es opcional y puede contener uno o más proyectos.

API

  1. Describe el adjunto de servicio que deseas modificar.

Si hay conexiones de consumidores pendientes, se enumeran con el estado PENDING.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
  1. Acepta o rechaza los proyectos de consumidor.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "consumerAcceptLists": [
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_1"
      "connectionLimit": "LIMIT_1",
    },
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_2"
      "connectionLimit": "LIMIT_2",
    }
  ],
  "consumerRejectLists": [
    "REJECTED_PROJECT_1",
    "REJECTED_PROJECT_2",
  ],
  ...
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. consumerRejectList es opcional y puede contener uno o más proyectos.

  • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. consumerAcceptList es opcional y puede contener uno o más proyectos.

  • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

Cambia la preferencia de conexión de un servicio publicado

Puedes cambiar entre la aceptación automática y explícita del proyecto para un servicio publicado.

El cambio de la aceptación automática a la aceptación explícita no afecta los extremos de consumidor que se conectaron al servicio antes de este cambio. Los extremos de consumidor existentes se pueden conectar al servicio publicado hasta que se borre el adjunto de servicio. Se deben aceptar los extremos de consumidor nuevos para que puedan conectarse al servicio. Consulta Administra solicitudes de acceso a un servicio publicado para obtener más información.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en el servicio que deseas actualizar y, luego, en Editar.

  4. Selecciona la preferencia de conexión que quieras:

    • Aceptar conexiones para los proyectos seleccionados
    • Aceptar conexiones de forma automática para todos los proyectos
  5. Si cambias a Aceptar conexiones para los proyectos seleccionados, puedes proporcionar los detalles de los proyectos que deseas permitir o agregarlos más adelante.

    1. Haz clic en Agregar proyecto aceptado.
    2. Ingresa el Proyecto y el Límite de conexión.
  6. Haz clic en Guardar.

gcloud

  • Cambia la preferencia de conexión del adjunto de servicio de ACCEPT_AUTOMATIC a ACCEPT_MANUAL.

    Puedes controlar qué proyectos pueden conectarse a tu servicio mediante --consumer-accept-list y --consumer-reject-list. Puedes configurar las listas de aceptación y rechazo cuando cambias la preferencia de conexión, o actualizar las listas más tarde.

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_MANUAL \
        [ --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2] \
        [ --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 ]
    
    • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

    • REGION: Es la región en la que se encuentra el adjunto de servicio.

    • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. --consumer-accept-list es opcional y puede contener uno o más proyectos.

    • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

    • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. --consumer-reject-list es opcional y puede contener uno o más proyectos.

  • Cambia la preferencia de conexión del adjunto de servicio de ACCEPT_MANUAL a ACCEPT_AUTOMATIC.

    Si tienes valores en la lista de aceptación o rechazo, configúralos como vacíos cuando cambies la preferencia de conexión ("").

    gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --connection-preference=ACCEPT_AUTOMATIC \
         --consumer-accept-list="" \
         --consumer-reject-list=""
    
    • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

    • REGION: Es la región en la que se encuentra el adjunto de servicio.

API

  • Cambia la preferencia de conexión del adjunto de servicio de ACCEPT_AUTOMATIC a ACCEPT_MANUAL.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "connectionPreference": "ACCEPT_MANUAL",
  "consumerAcceptLists": [
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_1"
      "connectionLimit": "LIMIT_1",
    },
    {
      "projectIdOrNum": "ACCEPTED_PROJECT_2"
      "connectionLimit": "LIMIT_2",
    }
  ],
  "consumerRejectLists": [
    "REJECTED_PROJECT_1",
    "REJECTED_PROJECT_2",
  ],
  ...
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • REJECTED_PROJECT_1 y REJECTED_PROJECT_2: Son los proyectos que se rechazarán. consumerRejectList es opcional y puede contener uno o más proyectos.

  • ACCEPTED_PROJECT_1 y ACCEPTED_PROJECT_2: Los proyectos que se aceptarán. consumerAcceptList es opcional y puede contener uno o más proyectos.

  • LIMIT_1 y LIMIT_2: Son los límites de conexión de los proyectos. El límite de conexiones es la cantidad de extremos de consumidor Private Service Connect que se pueden conectar a este servicio. Cada proyecto aceptado debe tener configurado un límite de conexiones.

  • Cambia la preferencia de conexión del adjunto de servicio de ACCEPT_MANUAL a ACCEPT_AUTOMATIC.

    Si los campos consumerAcceptLists o consumerRejectLists especifican algún proyecto, configúralos como vacíos cuando cambies la preferencia de conexión a ACCEPT_AUTOMATIC.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "connectionPreference": "ACCEPT_AUTOMATIC",
  "consumerAcceptLists": [ ],
  "consumerRejectLists": [ ],
  ...
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

Modifica las subredes asociadas con un servicio

Puedes modificar qué subredes de Private Service Connect se usan con un servicio publicado.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en el servicio que deseas actualizar y, luego, en Editar.

  4. Modifica las subredes que se usan para este servicio.

    Si deseas agregar una subred nueva, puedes crear una:

    1. Haz clic en Reservar subred nueva.
    2. Ingresa un Nombre y una Descripción opcional para la subred.
    3. Selecciona una Región para la subred.
    4. Ingresa el Rango de IP que se usará en la subred y haz clic en Agregar.
  5. Haz clic en Guardar.

gcloud

Actualiza las subredes de Private Service Connect que se usan para este adjunto de servicio. Si necesitas crear una subred nueva, consulta Crea una subred de Private Service Connect.

gcloud compute service-attachments update ATTACHMENT_NAME \
    --region=REGION \
    --nat-subnets=PSC_SUBNET_LIST

Reemplaza lo siguiente:

  • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

  • REGION: Es la región en la que se encuentra el adjunto de servicio.

  • PSC_SUBNET_LIST: Una lista separada por comas de una o más subredes que se usarán con este adjunto de servicio.

API

Actualiza las subredes de Private Service Connect que se usan para este adjunto de servicio. Si necesitas crear una subred nueva, consulta Crea una subred de Private Service Connect.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

{
  ...
  "natSubnets": [
    "PSC_SUBNET1_URI",
    "PSC_SUBNET2_URI",
  ],
  ...
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre que se asignará al adjunto de servicio.

  • PSC_SUBNET1_URI y PSC_SUBNET2_URI: Son los URI de las subredes que deseas usar con este adjunto de servicio. Puedes especificar una subred o más.

Enumera los servicios publicados

Puedes enumerar todos los servicios.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

    Se muestran los adjuntos del servicio de Private Service Connect.

gcloud

  1. Enumera los adjuntos del servicio.

    gcloud compute service-attachments list [--regions=REGION_LIST]
    

    Reemplaza lo siguiente:

    • REGION_LIST: Una lista separada por comas de una o más regiones en las que deseas ver los adjuntos de servicio. Por ejemplo, us-central1 o us-west1,us-central1.

API

Puedes ver todos los adjuntos de servicio en una región determinada o en todas las regiones.

  • Visualiza todos los adjuntos de servicio en una región:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments
    
  • Visualiza todos los adjuntos de servicio en todas las regiones:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/serviceAttachments
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el proyecto del adjunto de servicio.

    • REGION: Es la región del adjunto del servicio.

    • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

Visualiza los detalles de un servicio publicado

Puedes ver todos los detalles de configuración de un servicio publicado. Los detalles incluyen el URI del adjunto de servicio que los consumidores de servicios necesitan para conectarse a tu servicio.

Console

Puedes ver los detalles de un servicio publicado. El campo Adjunto de servicio contiene el URI del adjunto de servicio.

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en el servicio que deseas ver.

gcloud

Puedes ver los detalles de un servicio publicado. El campo selfLink contiene el URI del adjunto de servicio.

gcloud compute service-attachments describe \
    ATTACHMENT_NAME --region=REGION

API

Puedes ver los detalles de un servicio publicado. El campo selfLink contiene el URI del adjunto de servicio.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

Borra un servicio publicado

Puedes borrar un servicio publicado, incluso si hay conexiones de consumidor en el adjunto de servicio. Si borras el servicio publicado, solo se quitará el adjunto del servicio. No borra el balanceador de cargas TCP/UDP interno.

Console

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

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en el servicio que deseas borrar.

  4. Haz clic en Borrar.

gcloud

gcloud compute service-attachments delete \
    ATTACHMENT_NAME --region=REGION

API

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto del adjunto de servicio.

  • REGION: Es la región del adjunto del servicio.

  • ATTACHMENT_NAME: Es el nombre del adjunto de servicio.

Logging

Puedes habilitar los registros de flujo de VPC en las subredes que contienen las VM de backend. Los registros muestran flujos entre las VM de backend y las direcciones IP en la subred de Private Service Connect.

Problemas conocidos

  • Cuando actualizas un adjunto de servicio con la API de PATCH, debes proporcionar todos los campos para el adjunto de servicio en el cuerpo de la solicitud, no solo los campos que estás actualizando. Usa serviceAttachments.get para recuperar todos los campos.

  • La cantidad de extremos de Private Service Connect conectados no se ajusta cuando se borra un extremo. Es posible que los extremos nuevos no puedan conectarse, incluso si la cantidad de extremos conectados es menor que ese límite. A fin de solucionar este problema, usa la herramienta de gcloud o la API para quitar el proyecto asociado de la lista de aceptación y, luego, vuelve a agregarlo a la lista.