Publica servicios gestionados 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.

En esta guía, se describe cómo usar Private Service Connect para publicar un servicio. Para publicar un servicio, haz lo siguiente:

Existen dos tipos de extremos de Private Service Connect que pueden conectarse a un servicio publicado:

Estos tipos de extremos requieren configuraciones de productor ligeramente diferentes. Para obtener más información, consulta Configuraciones compatibles.

Roles

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

Antes de comenzar

Limitaciones

  • Duplicación de paquetes no puede duplicar paquetes para el tráfico de servicios publicados de Private Service Connect.

  • Los extremos de Private Service Connect con controles de servicios HTTP(S) de consumidor no aparecen en la lista de clientes conectados.

  • Si creas la subred de Private Service Connect en un proyecto host de VPC compartida y deseas crear el adjunto de servicio en un proyecto de servicio, debes usar Google Cloud CLI o la API para crear el adjunto de servicio.

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

Especificaciones

En las siguientes secciones, se describe lo siguiente:

  • Tipos de balanceadores de cargas admitidos

  • Se requieren configuraciones de balanceador de cargas compatibles y adjuntos de servicio para admitir cada tipo de extremo de Private Service Connect

Tipos de balanceadores de cargas admitidos

Puedes alojar el servicio con los siguientes balanceadores de cargas:

También puedes publicar un servicio alojado en un balanceador de cargas TCP/UDP interno en Google Kubernetes Engine. Esta configuración, que incluye la configuración del balanceador de cargas y del adjunto de servicios, se describe en Crea un balanceador de cargas de TCP/UDP interno con Private Service Connect en la documentación de GKE.

Configuraciones admitidas

Los dos tipos de extremos de Private Service Connect que se pueden conectar a los servicios publicados tienen diferentes requisitos de configuración. En esta tabla, se resume la configuración necesaria para que un servicio publicado admita cada tipo de extremo.

Configuración del productor de servicios Extremo de Private Service Connect (basado en una regla de reenvío) Extremo de Private Service Connect con controles de servicios HTTP(S) de consumidor (basado en un balanceador de cargas HTTP(S) externo global)
Balanceador de cargas del productor de servicios
Tipos de balanceadores de cargas admitidos
  • Balanceadores de cargas TCP/UDP internos
  • Balanceador de cargas HTTP(S) interno
  • Balanceador de cargas del proxy TCP interno
Solo balanceador de cargas TCP/UDP interno
Protocolos admitidos Cualquier tráfico que admita el balanceador de cargas El balanceador de cargas TCP/UDP interno debe entregar tráfico HTTPS
Configuración del balanceador de cargas TCP/UDP interno
Acceso global No compatible Obligatorio
Varias reglas de reenvío con la misma dirección IP
No compatible No compatible
Subdivisión No compatible No compatible
Afinidad de sesión configurada con 2 o 3 tuplas

No compatible.

Configura la afinidad de sesión de 5 tuplas1.

No compatible.

Configura la afinidad de sesión de 5 tuplas1.

Duplicación de paquetes No compatible No compatible
Adjuntos de servicio
Protocolo PROXY Compatible con los servicios de TCP alojados por un balanceador de cargas TCP/UDP interno.

No es compatible con las siguientes configuraciones:
  • Servicios UDP alojados en un balanceador de cargas TCP/UDP interno Sin embargo, no se te impide crear esta configuración.
  • Servicios alojados en un balanceador de cargas HTTP(S) interno
  • Servicios alojados en un balanceador de cargas de proxy TCP interno
No compatible
Modo de publicación
Aprobación automática del proyecto Los extremos de cualquier proyecto pueden conectarse Los extremos de cualquier proyecto pueden conectarse
Aprobación explícita Se pueden aceptar los proyectos de consumidor antes o después de que se cree el extremo Se deben aceptar los proyectos de consumidor antes de que se cree el extremo
1 Establece la afinidad de sesión en Ninguna o IP, puerto y protocolo de cliente con Google Cloud Console, NONE o CLIENT_IP_PORT_PROTO mediante la CLI de Google Cloud o la API

Configuración de DNS

Cuando publicas un servicio (creas un adjunto de servicio), puedes configurar un nombre de dominio DNS de forma opcional.

Debes ser dueño del nombre de dominio que estás configurando. Si especificas un nombre de dominio, pero no eres propietario del dominio, la publicación del servicio falla. Para verificar la propiedad, ve a Google Search Console. Para obtener más información sobre la verificación de dominios, consulta Agrega una propiedad del sitio web. El nombre de dominio que especificas en el adjunto de servicio puede ser un subdominio del dominio que verificas. Por ejemplo, puedes registrar example.com y, luego, crear un adjunto de servicio con un nombre de dominio de us-west1.p.example.com.

Si configuras un nombre de dominio para un servicio, cuando se crea un extremo de Private Service Connect que se conecta a ese servicio, se realizan las siguientes configuraciones en la red de VPC del consumidor de servicios:

El formato recomendado para el nombre de dominio es REGION.p.DOMAIN. Debido a que este nombre de dominio se usa para crear entradas de DNS en la red de VPC del consumidor de servicios, es importante usar un nombre que no entre en conflicto con ningún nombre de dominio DNS existente. El uso de este formato reduce el riesgo de conflictos.

Por ejemplo, si el servicio se configura con nombre de dominious-west1.p.example.com y el consumidor de servicios crea un extremo de Private Service Connect con el nombreanalytics, un registro DNS para analytics.us-west1.p.example.com se crea automáticamente.

El balanceador de cargas que aloja el servicio debe poder aceptar solicitudes dirigidas a este nombre de dominio. Si utilizas un balanceador de cargas HTTP(S) interno, es posible que debas actualizar la configuración del balanceador de cargas para reflejar los nombres de dominio que deseas que usen los consumidores de servicios. Por ejemplo, actualiza certificados o mapas de URL.

Crea una subred para Private Service Connect

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

Si necesitas que más direcciones IP estén disponibles para un servicio existente, consulta Agrega o quita subredes de un servicio publicado.

Puedes crear una subred de Private Service Connect en un proyecto host de VPC compartida. Sin embargo, si deseas usar la subred de un proyecto host para crear un adjunto de servicio en un proyecto de servicio, debes usar Google Cloud CLI o la API a fin de crear el adjunto del servicio.

Crea la subred en la misma región que el balanceador de cargas del servicio.

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

Configura reglas de firewall

Configura las reglas de firewall para permitir el tráfico entre los extremos de Private Service Connect y el adjunto del servicio. Las solicitudes de los clientes se originan en ubicaciones diferentes según el tipo de extremo de Private Service Connect.

Tipo de extremo Rangos de direcciones IP para el tráfico de clientes Detalles
Extremo de Private Service Connect (basado en una regla de reenvío) Los rangos de direcciones IP de las subredes de Private Service Connect asociadas con este servicio. Si usas la red predeterminada, la regla prepropagada default-allow-internal permite este tráfico, a menos que haya una regla de mayor prioridad que lo bloquee.
Extremos de Private Service Connect con controles de servicios HTTP(S) de consumidor (basados en un balanceador de cargas HTTP(S) externo global)
  • 130.211.0.0/22
  • 35.191.0.0/16
Los balanceadores de cargas HTTP(S) externos globales se implementan en Google Front Ends (GFE), que usan estos rangos de direcciones IP.

Si tu configuración de firewall aún no permite el tráfico del tipo de extremo adecuado, configura las reglas de firewall para permitirlo.

En esta configuración de ejemplo, puedes crear reglas de firewall de VPC para permitir el tráfico de los rangos de direcciones IP de cliente a las VM de backend en el balanceador de cargas del servicio del productor. En esta configuración, se supone que las VM de backend se configuraron con una etiqueta de red.

Ejemplo de regla de entrada:

gcloud compute firewall-rules create NAME \
  --network=NETWORK_NAME \
  --direction=ingress \
  --action=allow \
  --target-tags=TAG \
  --source-ranges=CLIENT_IP_RANGES_LIST \
  --rules=RULES

Reemplaza lo siguiente:

  • NETWORK_NAME es la red que contiene el servicio y la subred de Private Service Connect.

  • TAG es la etiqueta de destino que se aplica a las VM de backend en el balanceador de cargas del servicio de productor.

  • CLIENT_IP_RANGES_LIST: Los rangos de direcciones IP desde los que se origina el tráfico del cliente. Para obtener más información, consulta la tabla anterior.

  • RULES_LIST es una lista separada por comas de protocolos y puertos de destino a los que se aplica la regla. Por ejemplo, tcp,udp.

Ejemplo de regla de salida:

gcloud compute firewall-rules create NAME \
  --network=NETWORK_NAME \
  --direction=egress \
  --action=allow \
  --target-tags=TAG \
  --destination-ranges=CLIENT_IP_RANGES_LIST \
  --rules=RULES

Reemplaza lo siguiente:

  • NETWORK_NAME es la red que contiene el servicio y la subred de Private Service Connect.

  • TAG es la etiqueta de destino que se aplica a las VM de backend en el balanceador de cargas del servicio de productor.

  • CLIENT_IP_RANGES_LIST: Los rangos de direcciones IP desde los que se origina el tráfico del cliente. Para obtener más información, consulta la tabla anterior.

  • RULES_LIST es una lista separada por comas de protocolos y puertos de destino a los que se aplica la regla. Por ejemplo, tcp,udp.

Para obtener más información sobre cómo configurar reglas de firewall de VPC, consulta Descripción general de las reglas de firewall de VPC. Si deseas configurar reglas de firewall jerárquicas para permitir este tráfico, consulta Descripción general de las políticas de firewall jerárquicas.

Publica un servicio

Para publicar un servicio, debes crear un adjunto de servicio. Puedes hacer que el servicio esté disponible de dos maneras:

Crea el adjunto del servicio en la misma región que el balanceador de cargas del servicio.

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.

Si deseas ver la información de conexión del consumidor, puedes habilitar el protocolo PROXY en los servicios compatibles. Para obtener información sobre los servicios compatibles, consulta Configuración compatibles. Para obtener más información sobre el protocolo PROXY, consulta Visualiza la información de conexión del consumidor.

Si creas un adjunto de servicio en un proyecto protegido por un perímetro de Controles del servicio de VPC que restringe compute.googleapis.com, servicedirectory.googleapis.com o dns.googleapis.com, se necesita una configuración adicional. A fin de obtener más información, consulta Configura las reglas de entrada y salida para los Controles del servicio de VPC.

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 Tipo de balanceador de cargas: Balanceador de cargas TCP/UDP interno o Balanceador de cargas HTTP(S) interno.

  5. Selecciona el Balanceador de cargas interno que aloja el servicio que deseas publicar.

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

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

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

  8. 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.
  9. Si deseas ver la información de conexión del consumidor, selecciona Usar protocolo de proxy.

  10. Si deseas configurar un nombre de dominio, ingresa un nombre de dominio, incluido un punto final.

    El formato recomendado para el nombre de dominio es REGION.p.DOMAIN..

    Debes ser dueño del nombre de dominio. Para obtener más información, consulta Configuración de DNS.

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

  12. Haz clic en Agregar servicio.

gcloud

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 ] \
    [ --domain-names=DOMAIN_NAME ]

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.

  • DOMAIN_NAME: un nombre de dominio DNS para el servicio, incluido un punto final. Formato recomendado: REGION.p.DOMAIN.

    Para obtener más información, consulta Configuración de DNS.

API

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",
  ],
  "domainNames": [
    "DOMAIN_NAME",
  ],
}

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.

  • DOMAIN_NAME: un nombre de dominio DNS para el servicio, incluido un punto final. Formato recomendado: REGION.p.DOMAIN.

    Para obtener más información, consulta Configuración de DNS.

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.

Si deseas ver la información de conexión del consumidor, puedes habilitar el protocolo PROXY en los servicios compatibles. Para obtener información sobre los servicios compatibles, consulta Configuración compatibles. Para obtener más información sobre el protocolo PROXY, consulta Visualiza la información de conexión del consumidor.

Si creas un adjunto de servicio en un proyecto protegido por un perímetro de Controles del servicio de VPC que restringe compute.googleapis.com, servicedirectory.googleapis.com o dns.googleapis.com, se necesita una configuración adicional. A fin de obtener más información, consulta Configura las reglas de entrada y salida para los Controles del servicio de VPC.

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 Tipo de balanceador de cargas: Balanceador de cargas TCP/UDP interno o Balanceador de cargas HTTP(S) interno.

  5. Selecciona el Balanceador de cargas interno que aloja el servicio que deseas publicar.

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

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

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

  8. 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.
  9. Si deseas ver la información de conexión del consumidor, marca la casilla de verificación Protocolos.

  10. Si deseas configurar un nombre de dominio, ingresa un nombre de dominio, incluido un punto final.

    El formato recomendado para el nombre de dominio es REGION.p.DOMAIN..

    Debes ser dueño del nombre de dominio. Para obtener más información, consulta Configuración de DNS.

  11. Selecciona Aceptar conexiones para los proyectos seleccionados.

  12. 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
  13. Haz clic en Agregar servicio.

gcloud

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 ] \
    [--domain-names=DOMAIN_NAME]

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.

  • 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.

  • DOMAIN_NAME: un nombre de dominio DNS para el servicio, incluido un punto final. Formato recomendado: REGION.p.DOMAIN.

    Para obtener más información, consulta Configuración de DNS.

API

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",
    },
  ],
  "domainNames": [
    "DOMAIN_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 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.

  • DOMAIN_NAME: un nombre de dominio DNS para el servicio, incluido un punto final. Formato recomendado: REGION.p.DOMAIN.

    Para obtener más información, consulta Configuración de DNS.

Configura las reglas de entrada y salida para los Controles del servicio de VPC

Si creas un adjunto de servicio en un proyecto protegido por un perímetro de Controles del servicio de VPC que restringe compute.googleapis.com, servicedirectory.googleapis.com o dns.googleapis.com, se necesita una configuración adicional.

Solicita al consumidor de servicios la siguiente información antes de que cree un extremo de Private Service Connect:

  • CONSUMER_PROJECT_NUMBER: El número del proyecto en el que creará el extremo de Private Service Connect.

  • CONSUMER_SERVICE_ACCOUNT (opcional): La cuenta de servicio que se usará para crear el extremo de Private Service Connect si deseas configurar una regla de entrada que restrinja el acceso por cuenta.

Usa esta información para crear reglas de entrada y salida a fin de permitir que se establezca la conexión entre el extremo de Private Service Connect y el adjunto de servicio.

Para obtener información sobre la configuración de las reglas de entrada y salida, consulta Configura políticas de entrada y salida.

  1. Configura una regla de salida que permita la salida del proyecto del productor al proyecto del consumidor CONSUMER_PROJECT_NUMBER.

    - egressFrom:
        identityType: ANY_IDENTITY
      egressTo:
        operations:
        - serviceName: 'compute.googleapis.com'
          methodSelectors:
          - method: 'ServiceAttachmentsService.Insert'
          - method: 'ServiceAttachmentsService.Patch'
          - method: 'RegionForwardingRulesService.Insert'
        - serviceName: 'servicedirectory.googleapis.com'
          methodSelectors:
          - method: '*'
        - serviceName: 'dns.googleapis.com'
          methodSelectors:
          - method: '*'
        resources:
        - 'projects/CONSUMER_PROJECT_NUMBER'
    
  2. Configura una de las siguientes reglas de entrada:

    • Esta regla de entrada de ejemplo permite que los extremos del consumidor creados por CONSUMER_SERVICE_ACCOUNT intenten conectarse al adjunto de servicio.

      - ingressFrom:
          sources:
          - accessLevel: '*' # All Sources
          identities: serviceAccount: CONSUMER_SERVICE_ACCOUNT
        ingressTo:
          operations:
          - serviceName: 'compute.googleapis.com'
            methodSelectors:
            - method: 'RegionForwardingRulesService.Insert'
          - serviceName: 'servicedirectory.googleapis.com'
            methodSelectors:
            - method: '*'
          - serviceName: 'dns.googleapis.com'
            methodSelectors:
            - method: '*'
          resources:
          - '*'
      
    • Esta regla de entrada de ejemplo permite que los extremos del consumidor creados por cualquier cuenta intenten conectarse al adjunto de servicio.

      - ingressFrom:
          sources:
          - accessLevel: '*' # All Sources
          identityType: ANY_IDENTITY
        ingressTo:
          operations:
          - serviceName: 'compute.googleapis.com'
            methodSelectors:
            - method: 'RegionForwardingRulesService.Insert'
          - serviceName: 'servicedirectory.googleapis.com'
            methodSelectors:
            - method: '*'
          - serviceName: 'dns.googleapis.com'
            methodSelectors:
            - method: '*'
          resources:
          - '*'
      

Después de configurar las reglas de entrada y salida, informa al consumidor de servicios que ahora puede crear un extremo de Private Service Connect en el proyecto CONSUMER_PROJECT_NUMBER que se conecte a tu adjunto de servicio.

Ve información sobre la 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.

No todos los servicios admiten el protocolo PROXY. Para obtener más información, consulta Configuraciones compatibles.

Si el protocolo PROXY está habilitado, puedes obtener la dirección IP de origen del consumidor y el ID de conexión de PSC (pscConnectionId) 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.

El pscConnectionId se codifica 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 El pscConnectionId de 8 bytes en orden de red

Puedes ver el pscConnectionId de 8 bytes de la regla de reenvío del consumidor o el adjunto de servicio del productor.

pscConnectionId es único a nivel global para todas las conexiones activas en un momento determinado. Sin embargo, con el tiempo, un pscConnectionId podría volver a usarse en estas situaciones:

  • Dentro de una red de VPC determinada, si borras un extremo de Private Service Connect (regla de reenvío) y creas un extremo nuevo con la misma dirección IP, se podría usar el mismo pscConnectionId.

  • Si borras una red de VPC que contenía extremos de Private Service Connect (reglas de reenvío), después de un período de espera de siete días, el pscConnectionId que se usa para esos extremos podría usarse para un extremo diferente en otra red de VPC.

Puedes usar pscConnectionId para depurar y realizar un seguimiento de la fuente 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 gestionar.

  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
    
  2. 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.

Agrega o quita subredes de un servicio publicado

Puedes editar un servicio publicado para agregar o quitar subredes de Private Service Connect de la configuración.

Por ejemplo, es posible que debas hacer que más direcciones IP estén disponibles para un servicio existente. Para agregar más direcciones, realiza una de las siguientes acciones:

Si quitas una subred de Private Service Connect de un servicio publicado, no se liberan las direcciones IP de la subred. Las direcciones IP se liberan solo cuando se borran los extremos del consumidor de Private Service Connect o se borran las VM del cliente que acceden a los extremos de Private Service Connect.

Si cambias la configuración de la subred, actualiza tus reglas de firewall para permitir que las solicitudes de las subredes nuevas lleguen a las VM de backend.

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.

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.

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.

Ve detalles de un servicio publicado

Puedes ver todos los detalles de configuración de un servicio publicado. Puedes ver algunos detalles de configuración en Cloud Console, por ejemplo, el URI del adjunto del servicio que los consumidores del servicio necesitan conectarse al servicio. Para ver todos los detalles, incluidos los valores de pscConnectionId de los consumidores del adjunto de servicio, usa la CLI de Google Cloud o la API.

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. El balanceador de cargas asociado no se borra. Cuando borras un servicio publicado, se aplica lo siguiente:

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.

Soluciona problemas

Error de actualización de un adjunto de servicio

Si ves el mensaje de error siguiente cuando actualizas un adjunto de servicio, las listas de aceptación o de rechazo pueden incluir proyectos borrados: The resource PROJECT was not found.

Quita los proyectos borrados de la configuración del adjunto de servicio para resolver el problema.

  1. Usa el comando gcloud compute service-attachments describe para mostrar la configuración del adjunto del servicio que deseas modificar.

    • Para mostrar la lista de aceptación en un formato que puedes usar más adelante a fin de actualizar el adjunto del servicio, haz lo siguiente:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
        --region=REGION --flatten="consumerAcceptLists[]" \
        --format="csv[no-heading,separator='='](consumerAcceptLists.projectIdOrNum,consumerAcceptLists.connectionLimit)" \
        | xargs | sed -e 's/ /,/g'
      

      El resultado de la lista de aceptación es similar al siguiente:

      PROJECT_1=LIMIT_1,PROJECT_2=LIMIT_2,PROJECT_3=LIMIT_3
      
    • Para mostrar la lista de rechazo en un formato que puedes usar más adelante a fin de actualizar el adjunto del servicio, haz lo siguiente:

      gcloud compute service-attachments describe ATTACHMENT_NAME \
        --region=REGION \
        --format="value[delimiter=','](consumerRejectLists[])"
      

      El resultado de la lista de rechazo es similar al siguiente:

      PROJECT_1,PROJECT_2,PROJECT_3
      
  2. Edita el resultado del comando para quitar los proyectos borrados de la lista de aceptación y la lista de rechazo.

  3. Actualiza el adjunto del servicio para quitar los proyectos borrados.

    • Para actualizar la lista de aceptación, haz lo siguiente:

      gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --consumer-accept-list=UPDATED_ACCEPT_LIST
      
    • Para actualizar la lista de rechazo, haz lo siguiente:

      gcloud compute service-attachments update ATTACHMENT_NAME \
        --region=REGION \
        --consumer-reject-list=UPDATED_REJECT_LIST