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.
En esta guía, se describe cómo usar Private Service Connect para publicar un servicio. Para publicar un servicio, haz lo siguiente:
Aloja el servicio en un balanceador de cargas compatible con una configuración compatible.
Crea un adjunto de servicio que apunte a la regla de reenvío asociada con el balanceador de cargas.
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.
- Administrador de red de Compute (
roles/compute.networkAdmin
)
Antes de comenzar
Lee Acerca de los servicios publicados para obtener más información, incluida la configuración y las limitaciones de DNS.
Decide si se puede acceder al servicio desde todos los proyectos o si deseas controlar qué proyectos pueden acceder a tu servicio.
Decide qué tipos de extremos quieres admitir. Para obtener más información sobre los requisitos de configuración del servicio, consulta Configuraciones compatibles.
Si deseas obtener más información sobre los tipos de extremos, consulta Usa Private Service Connect para publicar y consumir servicios administrados.
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 deseas crear un adjunto de servicio que apunte a una regla de reenvío que se usa para el reenvío de protocolos internos, debes usar Google Cloud CLI o la API.
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:
Balanceador de cargas TCP/UDP interno en una red de VPC de un productor de servicios.
Balanceador de cargas de HTTP(S) interno en una red de VPC de un productor de servicios.
Reenvío de protocolos internos en una red de VPC de un productor de servicios.
Balanceador de cargas de proxy TCP regional interno en una red de VPC del productor de servicios. Los backends pueden estar ubicados en Google Cloud, en otras nubes, en un entorno local o cualquier combinación de estas ubicaciones.
A fin de obtener información sobre las opciones de configuración admitidas para cada tipo de balanceador de cargas, consulta Configuraciones compatibles del balanceador 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 |
|
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 | |||
Acceso global | Admitido Todos los extremos de Private Service Connect que se conectan a este servicio publicado deben estar en la misma región que el servicio publicado |
Requeridos | |
Varias reglas de reenvío mediante una dirección IP compartida (el propósito de la dirección IP se establece en SHARED_LOADBALANCER_VIP ).
|
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 en los siguientes balanceadores de cargas:
No es compatible con las siguientes configuraciones:
|
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 |
NONE
o CLIENT_IP_PORT_PROTO
mediante la CLI de Google Cloud o la API
Crea una subred para Private Service Connect
Crea una o más subredes dedicadas para usar con Private Service Connect. Si usas la consola de Google Cloud 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.
También puedes crear una subred de Private Service Connect en un proyecto host de VPC compartida.
Crea la subred en la misma región que el balanceador de cargas del servicio.
No puedes convertir una subred normal en una subred de Private Service Connect.
Consola
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.
Haz clic en Agregar subred. En el panel que aparece, haz lo siguiente:
- Proporciona un Nombre.
- Selecciona una Región.
- En la sección Objetivo, selecciona Private Service Connect.
- Ingresa un Rango de direcciones IP. Por ejemplo,
10.10.10.0/24
- 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) |
|
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 las 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:
- Puedes publicar un servicio con aprobación automática del proyecto.
- Puedes publicar un servicio con aprobación explícita del proyecto.
Crea el adjunto del servicio en la misma región que el balanceador de cargas del servicio.
Cada adjunto de servicio puede apuntar a una o más subredes de Private Service Connect, pero no se puede usar una subred de Private Service Connect en más de un adjunto de 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 compatible. Para obtener más información sobre el protocolo PROXY, consulta Visualiza la información de conexión del consumidor.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
Haz clic en Publicar servicio.
Selecciona el Tipo de balanceador de cargas para el servicio que deseas publicar:
- Balanceador de cargas TCP/UDP interno
- Balanceador de cargas del proxy TCP interno
- Balanceador de cargas HTTP(S) interno
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.
Si se te solicita, selecciona la Regla de reenvío asociada con el servicio que deseas publicar.
En Nombre del servicio, ingresa un nombre para el adjunto del servicio.
Selecciona una o más Subredes para el servicio. Si deseas agregar una subred nueva, puedes crear una:
- Haz clic en Reservar subred nueva.
- Ingresa un Nombre y una Descripción opcional para la subred.
- Selecciona una Región para la subred.
- Ingresa el Rango de IP que se usará en la subred y haz clic en Agregar.
Si deseas ver la información de conexión del consumidor, selecciona Usar protocolo de proxy.
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.
Seleccionar Aceptar conexiones de forma automática para todos los proyectos.
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
yPSC_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 compatible. Para obtener más información sobre el protocolo PROXY, consulta Visualiza la información de conexión del consumidor.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
Haz clic en Publicar servicio.
Selecciona el Tipo de balanceador de cargas: Balanceador de cargas TCP/UDP interno o Balanceador de cargas HTTP(S) interno.
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.
Si se te solicita, selecciona la Regla de reenvío asociada con el servicio que deseas publicar.
En Nombre del servicio, ingresa un nombre para el adjunto del servicio.
Selecciona una o más Subredes para el servicio.
Si deseas agregar una subred nueva, puedes crear una:
- Haz clic en Reservar subred nueva.
- Ingresa un Nombre y una Descripción opcional para la subred.
- Selecciona una Región para la subred.
- Ingresa el Rango de IP que se usará en la subred y haz clic en Agregar.
Si deseas ver la información de conexión del consumidor, marca la casilla de verificación Protocolos.
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.
Selecciona Aceptar conexiones para los proyectos seleccionados.
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: La cantidad de extremos de Private Service Connect en la red de VPC del consumidor que se puede conectar al adjunto del servicio en la red de VPC del productor
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
yACCEPTED_PROJECT_2
: Los proyectos que se aceptarán.--consumer-accept-list
es opcional y puede contener uno o más proyectos.LIMIT_1
yLIMIT_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
yREJECTED_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
yPSC_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
yREJECTED_PROJECT_2
: Son los proyectos que se rechazarán.consumerRejectList
es opcional y puede contener uno o más proyectos.ACCEPTED_PROJECT_1
yACCEPTED_PROJECT_2
: Los proyectos que se aceptarán.consumerAcceptList
es opcional y puede contener uno o más proyectos.LIMIT_1
yLIMIT_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.
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. Para obtener más información, consulta Administra solicitudes de acceso a un servicio publicado.
También puedes cambiar entre la aceptación automática y explícita del proyecto para un servicio publicado. Para obtener más información, consulta Cambia la preferencia de conexión de un servicio publicado.
Agrega o quita subredes de un servicio publicado
Puedes agregar o quitar subredes de un servicio publicado. Para obtener más información, consulta Agrega o quita subredes de un servicio publicado.
Enumera los servicios publicados
Puedes enumerar todos los servicios.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
Se muestran los adjuntos del servicio de Private Service Connect.
gcloud
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
ous-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 la consola de Google Cloud, 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.
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
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:
El tráfico de los extremos de Private Service Connect (basados en las reglas de reenvío) ya no se envía al balanceador de cargas.
El tráfico de los extremos de Private Service Connect con controles de servicios HTTP(S) de consumidor (basados en balanceadores de cargas HTTP(S) externos globales) se envía al balanceador de cargas hasta que este se borra.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
Haz clic en el servicio que deseas borrar.
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.
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. UsaserviceAttachments.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.
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
Edita el resultado del comando para quitar los proyectos borrados de la lista de aceptación y la lista de rechazo.
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