Accede a los servicios administrados mediante Private Service Connect
Private Service Connect te permite conectarte a los productores de servicios mediante extremos con direcciones IP internas en la red de VPC.
En este documento, se explica cómo usar los extremos de Private Service Connect para conectarse a servicios administrados compatibles en otra red de VPC. Puedes conectarte a tus propios servicios o a los que proporcionan otros productores de servicios. Consulta servicios administrados públicos para obtener más información.
Roles
La siguiente función de IAM proporciona los permisos necesarios para realizar las tareas de esta guía.
Tarea | Funciones |
---|---|
Crear un extremo de Private Service Connect |
Ambos roles: Administrador de red de Compute ( roles/compute.networkAdmin ) y
Directorio de servicios Editor ( roles/servicedirectory.editor )
|
Configura entradas de DNS de forma manual o automática para un extremo de Private Service Connect | Administrador de DNS(roles/dns.admin ) |
Antes de comenzar
Debes habilitar la API de Compute Engine en tu proyecto.
Debes habilitar la API de Directorio de servicios en tu proyecto.
Debes habilitar la API de Cloud DNS en tu proyecto.
Las reglas de firewall de salida deben permitir el tráfico a la dirección IP interna del extremo de Private Service Connect. La regla de firewall implícita de permiso de salida permite la salida a cualquier dirección IP de destino.
Si creaste reglas de firewall de denegación de salida en la red de VPC o si creaste políticas de firewall jerárquicas que modifican el comportamiento de salida permitido, el acceso al extremo podría verse afectado. Crea una política o regla de firewall de permiso de salida específicas para permitir el tráfico al destino de la dirección IP interna del extremo del servicio.
Debes tener el URI del adjunto del servicio para el servicio. Por ejemplo,
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
Limitaciones
No puedes crear un extremo de Private Service Connect en la misma red de VPC que el servicio publicado al que accedes.
No se puede acceder a los extremos de Private Service Connect desde redes de VPC con intercambio de tráfico.
Duplicación de paquetes no puede duplicar paquetes para el tráfico de servicios publicados de Private Service Connect.
Configuración de DNS automática
Si están presentes las siguientes configuraciones, las entradas de DNS se crean automáticamente para los extremos de Private Service Connect:
El productor de servicios configuró un nombre de dominio para el servicio.
El extremo de Private Service Connect se registra con un espacio de nombres del Directorio de servicios.
Todos los extremos nuevos se registran de forma automática con el Directorio de servicios, pero es posible que los extremos más antiguos no se registren.
Si ambas configuraciones están presentes, cuando se crea el extremo de Private Service Connect, se crea una zona del DNS del Directorio de servicios con el nombre NAMESPACE--REGION
.
En esta zona privada, se almacenan entradas de DNS para servicios que se encuentran en el espacio de nombres NAMESPACE
del Directorio de servicios, en la región REGION
.
Después de crear el extremo de Private Service Connect, puedes verificar si se crea una zona del DNS del Directorio de servicios. Si la zona del DNS del Directorio de servicios no se crea, puedes crear una configuración similar de forma manual. Para obtener más información, consulta Visualiza las zonas de DNS del Directorio de servicios.
Si no quieres que se creen estas entradas de DNS, realiza una de las siguientes acciones:
Si no usas Cloud DNS con otro propósito, inhabilita la API de Cloud DNS o quita los permisos necesarios para Cloud DNS.
Espera a que se cree la zona del DNS y, luego, borra la zona del DNS de forma manual.
Si quieres configurar DNS de forma manual, consulta Configura DNS de forma manual.
Crear un extremo de Private Service Connect
Un extremo de Private Service Connect se conecta a servicios de otra red de VPC mediante una regla de reenvío de Private Service Connect. Cada regla de reenvío se tiene en cuenta para la cuota por proyecto de las reglas de reenvío de Private Service Connect a fin de acceder a los servicios en otra red de VPC.
Cuando usas Private Service Connect para conectarte a servicios en otra red de VPC, debes elegir una dirección IP de una subred en tu red de VPC.
La dirección IP debe estar en la misma región que el adjunto de servicio del productor del servicio. La dirección IP se considera dentro de la cuota del proyecto para las direcciones IP internas.
Cuando creas un extremo de Private Service Connect, este se registra automáticamente con el Directorio de servicios mediante el espacio de nombres que elijas o el predeterminado, goog-psc-default
.
Console
En Google Cloud Console, ve a Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Haz clic en Conectar extremo.
En Destino, selecciona Servicio publicado.
En Servicio de destino, ingresa el URI del adjunto de servicio al que deseas conectarte.
El URI del adjunto de servicio tiene el siguiente formato:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
En Nombre del extremo, ingresa un nombre para usar en el extremo.
Selecciona una red para el extremo.
Selecciona una subred para el extremo.
Selecciona una dirección IP para el extremo. Si necesitas una dirección IP nueva, puedes crear una:
- Haz clic en el menú desplegable Dirección IP y selecciona Crear dirección IP.
- Ingresa un nombre y una descripción para la dirección IP.
En Dirección IP estática, selecciona Asignar de forma automática o Permitirme elegir.
Si seleccionaste Permitirme elegir, ingresa la dirección IP personalizada que deseas usar.
Haga clic en Reservar.
Selecciona un espacio de nombres de la lista desplegable o crea un espacio de nombres nuevo.
La región se propaga en función de la subred seleccionada.
Haz clic en Agregar extremo.
gcloud
Reserva una dirección IP interna para asignarla al extremo.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET
Reemplaza lo siguiente:
ADDRESS_NAME
: nombre que se asignará a la dirección IP reservada.REGION
: Es la región de la dirección IP del extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.SUBNET
: Es el nombre de la subred para la dirección IP del extremo.
Busca la dirección IP reservada.
gcloud compute addresses list --filter="name=ADDRESS_NAME"
Crea una regla de reenvío para conectar el extremo al adjunto de servicio del productor de servicios.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
Reemplaza lo siguiente:
ENDPOINT_NAME
: nombre que se asignará al extremo.REGION
: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.NETWORK_NAME
: nombre de la red de VPC para el extremo.ADDRESS_NAME
: Es el nombre de la dirección reservada.SERVICE_ATTACHMENT
: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
PROJECT_ID
: el ID de tu proyectoNAMESPACE
: El espacio de nombres del Directorio de servicios que deseas usar. Si especificas un espacio de nombres que no existe, se crea el espacio de nombres.Si omites la marca
--service-directory-registration
, se usa el espacio de nombres predeterminado degoog-psc-default
.
API
Reserva una dirección IP interna para asignarla al extremo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/region/REGION/addresses { "name": ADDRESS_NAME, "addressType": "INTERNAL", "subnetwork": SUBNET_URI }
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyectoADDRESS_NAME
: nombre que se asignará a la dirección IP reservada.SUBNET_URI
: la subred de la dirección IP. Usa el método subnetworks.list ogcloud compute networks subnets list --uri
para encontrar las URL de tus redes.
Crea una regla de reenvío para conectar el extremo a los servicios y las API de Google.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": ENDPOINT_NAME, "IPAddress": ADDRESS_URI, "target": SERVICE_ATTACHMENT, "network": NETWORK_URI, "serviceDirectoryRegistrations": [ { "namespace": NAMESPACE, } ], }
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyectoREGION
: Es la región para el extremo.ENDPOINT_NAME
: nombre que se asignará al extremo.ADDRESS_URI
: URI de la dirección reservada en la red asociada. Usa el método addresses.list ogcloud compute addresses list --uri
para encontrar la URL de la dirección reservada.SERVICE_ATTACHMENT
: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
NETWORK_URI
: red de VPC para el extremo. Usa el método network.list ogcloud compute networks list --uri
para encontrar el URI de tu red.NAMESPACE
: es el espacio de nombres para el extremo. Especificar un espacio de nombres que no existe, crea el espacio de nombres. Si omites el camponamespace
, se asigna el espacio de nombres predeterminado degoog-psc-default
.
Visualiza las zonas DNS del Directorio de servicios
Si se cumplen los requisitos para la configuración de DNS automática, se crea una zona DNS con un nombre en el formato NAMESPACE--REGION
.
Console
En Google Cloud Console, ve a la página Zonas de Cloud DNS.
Busca una zona privada con el nombre
NAMESPACE--REGION
.
gcloud
Ejecuta el siguiente comando para mostrar todas las zonas del DNS privadas:
gcloud dns managed-zones list \ --filter="visibility=private"
Ejecuta el siguiente comando para obtener detalles de una zona con el nombre
NAMESPACE--REGION
.gcloud dns managed-zones describe NAMESPACE--REGION
Si la zona no está presente, consulta los detalles del extremo de Private Service Connect y verifica si la configuración del extremo incluye un valor para el espacio de nombres.
Si el extremo tiene una configuración de espacio de nombres, consulta Configura una zona del DNS del Directorio de servicios.
Si el extremo no tiene una configuración de espacio de nombres, consulta Registra un extremo de Private Service Connect con el Directorio de servicios.
Enumerar extremos
Puedes enumerar todos los extremos configurados de Private Service Connect.
Console
En Google Cloud Console, ve a la página Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Se muestran los extremos de Private Service Connect.
gcloud
gcloud compute forwarding-rules list \ --filter 'target~serviceAttachments'
El resultado es similar al siguiente:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP REGION/serviceAttachments/SERVICE_NAME
API
Esta llamada a la API muestra todas las reglas de reenvío, no solo los extremos de Private Service Connect que se usan para acceder a los servicios.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
Reemplaza lo siguiente:
PROJECT_ID
: proyecto que contiene el extremo.REGION
: Es la región para el extremo.
Ver detalles del extremo
Puedes ver todos los detalles de configuración de un extremo de Private Service Connect.
El extremo puede tener uno de los siguientes estados:
Pendiente: El extremo está configurado para conectarse a un servicio que requiere aprobación y aún no se ha aprobado a este proyecto.
Aceptado: El extremo se encuentra en un proyecto que está aprobado para conectarse al servicio.
Rechazado: El extremo está en un proyecto que no tiene permiso para conectarse al servicio.
Cerrado: El extremo está conectado a un adjunto de servicio que se borró.
Console
En Google Cloud Console, ve a la página Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Haz clic en el servicio que deseas ver.
gcloud
gcloud compute forwarding-rules describe \ ENDPOINT_NAME --region=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME
: El nombre del extremo.REGION
: Es la región para el extremo.
API
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Reemplaza lo siguiente:
PROJECT_ID
: proyecto que contiene el extremo.REGION
: Es la región para el extremo.ENDPOINT_NAME
: El nombre del extremo.
Etiqueta un extremo
Puedes administrar etiquetas para los extremos de Private Service Connect. Consulta cómo etiquetar recursos para obtener más información.
Borra un extremo
Puedes borrar un extremo de Private Service Connect.
Sin embargo, las siguientes configuraciones del Directorio de servicios no se borran cuando borras el extremo:
- Espacio de nombres del Directorio de servicios
- Zona del DNS del Directorio de servicios
Otros servicios pueden usar el espacio de nombres del Directorio de servicios y la zona del DNS del Directorio de servicios. Verifica que el espacio de nombres esté vacío antes de borrar el espacio de nombres del Directorio de servicios o borrar la zona del DNS del Directorio de servicios.
Console
En Google Cloud Console, ve a Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Selecciona el extremo de Private Service Connect que deseas borrar y haz clic en Borrar.
gcloud
gcloud compute forwarding-rules delete \ ENDPOINT_NAME --region=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME
: El nombre del extremo.REGION
: Es la región para el extremo.
API
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
Reemplaza lo siguiente:
PROJECT_ID
: proyecto que contiene el extremo.REGION
: Es la región para el extremo.ENDPOINT_NAME
: El nombre del extremo.
Otras formas de configurar el DNS
Si no se cumplen los requisitos para la configuración automática del DNS, puedes crear entradas del DNS de otras maneras:
Si el extremo tiene un espacio de nombres configurado, consulta Configura una zona del DNS del Directorio de servicios.
Si el extremo no tiene un espacio de nombres configurado, consulta Registra un extremo de Private Service Connect con el Directorio de servicios.
Si prefieres configurar DNS de forma manual, consulta Configura DNS de forma manual.
Configura una zona del DNS del Directorio de servicios
Si un extremo de Private Service Connect se registra con el Directorio de servicios, pero el servicio publicado con el que se conecta no tiene configurado un nombre de dominio, no se realizan cambios de DNS.
Si deseas replicar la configuración automática de DNS, puedes configurar de forma manual una zona DNS del Directorio de servicios respaldada por el espacio de nombres del Directorio de servicios. Después de crear la zona, se crean automáticamente entradas de DNS para el extremo de Private Service Connect.
Crea una zona DNS del directorio del servicio con la siguiente configuración:
Nombre de la zona: Especifica
NAMESPACE--REGION
, en la queNAMESPACE
es el espacio de nombres en el que está registrado el extremo de Private Service Connect yREGION
es la región en la que se crea el extremo.Nombre de DNS: Es el dominio DNS que el productor de servicios usa para sus servicios publicados. Consulta esta información con el productor de servicios.
El nombre del DNS puede tener el formato
REGION.p.DOMAIN
. Por ejemplo, si el dominio público del productor de servicios esexample.com
y su servicio publicado está enus-west1
, recomendamos que habiliten la disponibilidad de su servicio mediante los nombres de dominious-west1.p.example.com
. Incluye un punto final, por ejemplo,us-west1.p.example.com.
.Espacio de nombres del Directorio de servicios: El espacio de nombres que configuraste para este extremo.
Consulta los detalles del extremo de Private Service Connect para encontrar el espacio de nombres y la región del Directorio de servicios.
Mediante esta configuración, si configuraste una zona del DNS del Directorio de servicios con el nombre DNS us-west1.p.example.com
y creas un extremo de Private Service Connect llamado analytics
, se crea automáticamente un registro DNS para analytics.us-west1.p.example.com
.
Registra un extremo de Private Service Connect con el Directorio de servicios
Los extremos nuevos de Private Service Connect se registran automáticamente en el Directorio de servicios. Sin embargo, si se creó un extremo de Private Service Connect antes de que se habilitara el registro automático con el Directorio de servicios, es posible que falte esta configuración.
Puedes borrar el extremo de Private Service Connect y crear uno nuevo, que se registra con el Directorio de servicios de forma automática.
También puedes seguir estos pasos para registrar una extremo de Private Service Connect existente con un espacio de nombres del Directorio de servicios.
Crea un espacio de nombres del Directorio de servicios para el extremo de Private Service Connect,
NAMESPACE
.Crea un servicio del Directorio de servicios para el extremo de Private Service Connect,
SERVICE_NAME
.En el servicio, usa el mismo nombre que el de la regla de reenvío que se usa para el extremo de Private Service Connect,
ENDPOINT_NAME
.Crea un extremo de Directorio de servicios con el nombre
default
y usa la dirección IP y el puerto (443
) del extremo de Private Service Connect.
Después de registrar el extremo de Private Service Connect en el Directorio de servicios, sigue las instrucciones para configurar una zona DNS del Directorio de servicios.
Configura DNS de forma manual
Si impediste la configuración automática de DNS o si no está habilitada en tu configuración, puedes usar Cloud DNS para crear registros DNS de forma manual.
Si deseas obtener más información, consulta las siguientes páginas:
Control de acceso: El rol de administrador de DNS (
roles/dns.admin
) proporciona los permisos necesarios para crear zonas y registros DNS.-
Cuando configuras una zona privada, debes proporcionar un nombre de DNS. Usa el dominio DNS que el productor de servicios usa para sus servicios publicados. Consulta esta información con el productor de servicios.
Puede tener este formato:
REGION.p.DOMAIN
. Por ejemplo, si el dominio público del productor de servicios esexample.com
y su servicio publicado está enus-west1
, recomendamos que habiliten la disponibilidad de su servicio mediante los nombres de dominious-west1.p.example.com
.
Logging
Puedes habilitar los registros de flujo de VPC en las subredes que contengan VM que accedan a servicios en otra red de VPC mediante extremos de Private Service Connect. Los registros muestran los flujos entre las VM y el extremo de Private Service Connect.
Puedes ver los cambios en el estado de la conexión para los extremos de Private Service Connect mediante registros de auditoría. Los cambios en el estado de conexión del extremo se capturan en los metadatos del evento del sistema del tipo de recurso Regla de reenvío de GCE. Puedes filtrar por
pscConnectionStatus
para ver estas entradas.Por ejemplo, cuando un productor de servicios permite conexiones desde tu proyecto, el estado de conexión del extremo cambia de
PENDING
aACCEPTED
y este cambio se refleja en los registros de auditoría.- Para ver los registros de auditoría, consulta Visualiza registros.
- Para configurar alertas basadas en registros de auditoría, consulta Administra alertas basadas en registros.
Accede al extremo desde hosts locales
Los clientes en las redes conectadas a Google Cloud con adjuntos de VLAN para los túneles de Cloud Interconnect (vista previa) o Cloud VPN pueden llegar a los extremos de Private Service Connect.
El adjunto de VLAN o el túnel de Cloud VPN debe terminar en la misma red de VPC y región que el extremo de Private Service Connect.
El tráfico del cliente de redes conectadas a los extremos de Private Service Connect no es compatible con las redes de VPC con intercambio de tráfico ni con los límites regionales.
El adjunto de VLAN o el túnel de Cloud VPN y el extremo de Private Service Connect pueden estar en diferentes proyectos si usan una VPC compartida.
Los adjuntos de VLAN deben tener
dataplaneVersion: 2
. Inspecciona el adjunto de VLAN para verificar en qué versión se encuentra.
Si deseas acceder al extremo de Private Service Connect mediante su nombre de DNS, debes configurar sistemas locales para que puedan realizar consultas en tus zonas de DNS privadas.
Si implementaste las zonas de DNS privadas con Cloud DNS, completa los siguientes pasos:
Crea una política del servidor de entrada en la red de VPC a la que se conecta tu red local.
Identifica los puntos de entrada de reenvío entrantes, en las regiones en las que se encuentran los túneles de Cloud VPN, en la red de VPC a la que tu red local se conecta.
Configura los sistemas locales y los servidores de nombres de DNS locales para reenviar los nombres de DNS de los extremos de Private Service Connect a un punto de entrada de reenvío entrante en la misma región que el túnel de Cloud VPN que se conecta a la red de VPC.
Controles del servicio de VPC
Los Controles del servicio de VPC y Private Service Connect son compatibles entre sí. Si la red de VPC en la que se implementa el extremo de Private Service Connect está en un perímetro de Controles del servicio de VPC, el extremo de Private Service Connect forma parte del mismo perímetro. Cualquier servicio admitido por los Controles del servicio de VPC a los que se accede a través del extremo de Private Service Connect está sujeto a las políticas de ese perímetro de los Controles del servicio de VPC.
Cuando creas un extremo de Private Service Connect, las llamadas a la API del plano de control se realizan entre los proyectos del consumidor y del productor para establecer una conexión de Private Service Connect. Establecer una conexión de Private Service Connect entre los proyectos del consumidor y del productor que no están en el mismo perímetro de los Controles del servicio de VPC no requiere una autorización explícita con políticas de salida. La comunicación con los servicios compatibles con los Controles del servicio de VPC a través del extremo de Private Service Connect está protegida por el perímetro de los Controles del servicio de VPC.
Soluciona problemas
No se puede crear una zona DNS privada
Cuando creas un extremo de Private Service Connect, se crea una zona DNS del Directorio de servicios. La creación de zonas puede fallar por los siguientes motivos:
No habilitaste la API de Cloud DNS en tu proyecto.
No tienes los permisos necesarios para crear una zona DNS del Directorio de servicios.
Existe una zona DNS con el mismo nombre en esta red de VPC.
Ya existe una zona DNS para el mismo nombre de dominio en esta red de VPC.
Para crear manualmente la zona DNS del Directorio de servicios, haz lo siguiente:
Verifica que la API de Cloud DNS esté habilitada en tu proyecto.
Verifica que tengas los permisos necesarios para crear la zona DNS del Directorio de servicios:
dns.managedZones.create
dns.networks.bindPrivateDNSZone
servicedirectory.namespaces.associatePrivateZone
Si hay una zona en conflicto, pero ya no es necesaria, borra la zona DNS.
Crea una zona DNS de Directorio del servicio respaldada por el espacio de nombres del Directorio de servicios asociado con tu extremo de Private Service Connect.