Accede a las API de Google 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 conectarte a las API de Google. En lugar de enviar solicitudes a la API a las direcciones IP disponibles de forma pública para extremos de servicio como storage.googleapis.com
, puedes enviar las solicitudes a la dirección IP interna de un extremo de Private Service Connect.
También puedes usar Private Service Connect para acceder a los servicios en otra red de VPC y publicar servicios.
Funciones
Las siguientes funciones de IAM proporcionan los permisos necesarios para realizar las tareas de esta guía.
Tarea | Funciones |
---|---|
Crear un extremo de Private Service Connect |
Todas las siguientes funciones: Administrador de red de Compute ( roles/compute.networkAdmin ), Editor del Directorio de servicios ( roles/servicedirectory.editor ) y Administrador de DNS ( roles/dns.admin )
|
Configurar Acceso privado a Google (opcional) | Administrador de red de Compute (roles/compute.networkAdmin ) |
Antes de comenzar
Private Service Connect no habilita de forma automática ninguna API. Debes habilitar las API de Google por separado desde la página de API y servicios en Google Cloud Console.
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 al extremo de Private Service Connect. La configuración predeterminada del firewall para una red de VPC permite este tráfico, porque contiene una regla de permiso de salida implícita. Verifica que no hayas creado una regla de salida de prioridad más alta que bloquee el tráfico.
Las instancias de máquina virtual (VM) sin una dirección IP externa asignada deben usar una subred con Acceso privado a Google habilitado para acceder a las API y los servicios de Google mediante un extremo de Private Service Connect.
Una VM con una dirección IP externa puede acceder a los servicios y las API de Google mediante extremos de Private Service Connect, incluso si el Acceso privado a Google está inhabilitado para su subred. La conectividad con el extremo de Private Service Connect permanece dentro de la red de Google.
Si tu red de VPC no contiene extremos de Private Service Connect, verifica si existe una zona privada de Cloud DNS para
p.googleapis.com
. Si la zona existe, bórrala antes de crear el extremo de Private Service Connect. Si no la borras, la creación de la zona DNS del Directorio de servicios usada para la Private Service Connect falla. Si deseas obtener más información, consulta Solución de problemas.No se puede acceder a los extremos de Private Service Connect desde redes de VPC con intercambio de tráfico.
Habilita Acceso privado a Google para una subred
Las VM sin una dirección IP externa asignada deben conectarse a una subred con Acceso privado a Google habilitado para acceder a las API y los servicios de Google mediante un extremo de Private Service Connect.
Si la VM tiene más de una interfaz, conecta la interfaz que está configurada con una ruta predeterminada (por lo general, nic0
).
La dirección IP de origen de los paquetes que se envían desde la VM debe coincidir con la dirección IPv4 interna principal de la interfaz de VM o con una dirección IPv4 interna de un rango de IP de alias.
Para habilitar Acceso privado a Google en una subred, sigue estos pasos.
Console
- En Google Cloud Console, ve a Redes de VPC.
Ir a las redes de VPC - Haz clic en el nombre de la red que contiene la subred en la que necesitas habilitar el Acceso privado a Google.
- Haz clic en el nombre de la subred. Se mostrará la página Detalles de la subred.
- Haz clic en Editar.
- En la sección Acceso privado a Google selecciona Habilitar.
- Haz clic en Guardar.
gcloud
Determina el nombre y la región de la subred. Para ver una lista de las subredes de una red en particular, usa el siguiente comando:
gcloud compute networks subnets list --filter=NETWORK_NAME
Ejecuta el siguiente comando para habilitar el Acceso privado a Google:
gcloud compute networks subnets update SUBNET_NAME \ --region=REGION \ --enable-private-ip-google-access
Verifica que el Acceso privado a Google esté habilitado mediante la ejecución del siguiente comando:
gcloud compute networks subnets describe SUBNET_NAME \ --region=REGION \ --format="get(privateIpGoogleAccess)"
En todos los comandos anteriores, reemplaza los siguientes por valores válidos:
SUBNET_NAME
: El nombre de la subredREGION
: La región de la subredNETWORK_NAME
: El nombre de la red de VPC que contiene la subred
Terraform
Puedes usar el recurso de Terraform para habilitar el Acceso privado a Google en una subred.
Private Service Connect y Directorio de servicios
Los extremos de Private Service Connect se registran en el Directorio de servicios. El Directorio de servicios es una plataforma para almacenar, administrar y publicar servicios. Cuando creas un extremo de Private Service Connect para acceder a las API y los servicios de Google, seleccionas una región del Directorio de servicios y un espacio de nombres del Directorio de servicios.
- Región del Directorio de servicios
El Directorio de servicios es un servicio regional. La región que selecciones define dónde reside el plano de control del Directorio de servicios. No hay diferencias funcionales entre las regiones, pero es posible que tengas una preferencia por motivos administrativos.
Cuando creas el primer extremo de Private Service Connect para las API de Google en una red de VPC, la región que seleccionas se usa como la región predeterminada para todos los extremos posteriores creados en esa red. Si una región aún no está configurada para una red y no especificas una región, se establece en
us-central1
. Todos los extremos de una red deben usar la misma región del Directorio de servicios.- Espacio de nombres del Directorio de servicios
Cuando creas el primer extremo de Private Service Connect para las API de Google en una red de VPC, el espacio de nombres que seleccionas se usa como el espacio de nombres predeterminado para todos los extremos posteriores creados en esa red. Si el espacio de nombres aún no está configurado para una red y no especificas un espacio de nombres, se usa un espacio de nombres generado por el sistema. Todos los extremos de una red deben usar el mismo espacio de nombres del Directorio de servicios. El espacio de nombres que elijas debe usarse solo para los extremos de Private Service Connect que se usan a fin de acceder a las API de Google. Puedes usar el mismo espacio de nombres para los extremos en varias redes.
Cuando creas un extremo de Private Service Connect, se crean las siguientes configuraciones de DNS:
Se crea una zona de DNS privado del Directorio de servicios para
p.googleapis.com
.Registros DNS se crean en
p.googleapis.com
para algunos servicios y API de Google de uso común que están disponibles mediante Private Service Connect y tienen nombres de DNS predeterminados que terminan engoogleapis.com
.Consulta Crea registros DNS y obtén instrucciones sobre cómo crear registros DNS para API y servicios que no tienen un registro DNS en
p.googleapis.com
.
Los servicios disponibles varían según si seleccionas el paquete de API all-apis
o vpc-sc
.
Se crea una zona DNS de Directorio del servicio para cada red de VPC que contiene un extremo de Private Service Connect.
Los nombres DNS para un extremo de Private Service Connect son accesibles en todas las regiones en tu red de VPC.
API admitidas
Cuando creas un extremo de Private Service Connect para acceder a las API y los servicios de Google, debes elegir a qué paquete de API necesitas acceder: Todas las API (all-apis
) o VPC-SC (vpc-sc
).
Los paquetes de API proporcionan acceso a las mismas API que están disponibles a través de los VIP del Acceso privado a Google.
El paquete
all-apis
proporciona acceso a las mismas API queprivate.googleapis.com
.El paquete
vpc-sc
proporciona acceso a las mismas API querestricted.googleapis.com
.
Los paquetes de API solo admiten protocolos basados en HTTP mediante TCP (HTTP, HTTPS y HTTP/2) No se admiten todos los demás protocolos, incluidos ICMP y MQTT.
Paquete de API | Servicios compatibles | Ejemplo de uso |
---|---|---|
all-apis |
Habilita el acceso a la mayoría de los servicios y las API de Google, sin importar si son compatibles con los Controles del servicio de VPC. Incluye acceso a la API de Maps, Google Ads, Google Cloud y la mayoría de las demás API de Google, incluidas las listas que aparecen a continuación. Es incompatible con las aplicaciones web de Google Workspace. No es compatible con ningún sitio web interactivo. Nombres de dominio que coinciden:
|
Elige all-apis en estas circunstancias:
|
vpc-sc
| Habilita el acceso a la API a los servicios y las API de Google que son compatibles con los Controles del servicio de VPC. Bloquea el acceso a los servicios y a las API de Google que son incompatibles con los Controles del servicio de VPC. Es incompatible con las aplicaciones web de Google Workspace y con las API de Google Workspace. |
Elige |
Elige una dirección IP para el extremo de Private Service Connect
Cuando configuras Private Service Connect en una red de VPC, proporcionas una dirección IP para usar en el extremo de Private Service Connect.
La dirección se considera dentro de la cuota del proyecto para direcciones IP internas globales.
La dirección IP debe cumplir con las siguientes especificaciones:
Debe ser una sola dirección IP y no un rango de direcciones.
Debe ser una dirección IPv4 válida. Puede ser una dirección RFC 1918 o una dirección que no sea RFC 1918. Las direcciones IPv6 no son compatibles con Private Service Connect.
No puede estar dentro del rango de subredes configuradas en la red de VPC.
No puede estar dentro de un rango de direcciones IP principal o secundario de ninguna subred en la red de VPC ni en una red conectada a la red de VPC con el intercambio de tráfico entre redes de VPC.
No puede superponerse con una ruta estática personalizada
/32
en la red de VPC local. Por ejemplo, si la red de VPC tiene una ruta estática personalizada para10.10.10.10/32
, no puedes reservar la dirección10.10.10.10
para Private Service Connect.No se puede superponer con una ruta estática personalizada de intercambio de tráfico
/32
si configuraste la red con intercambio de tráfico para exportar rutas personalizadas y si configuraste tu red de VPC para importar rutas personalizadas.No puede estar en ninguno de los rangos de IP de modo automático (en
10.128.0.0/9
) si la red de VPC local es una red de modo automático o si intercambia tráfico con una red de modo automático.No puede estar dentro de un rango de IP asignado en la red de VPC local. Sin embargo, puede estar dentro de un rango de IP asignado en una red de VPC con intercambio de tráfico.
Si un extremo de Private Service Connect se superpone con una ruta dinámica personalizada cuyo destino es el mismo
/32
, el extremo de Private Service Connect tendrá prioridad.Si una dirección IP de extremo de Private Service Connect se encuentra dentro del rango de destino de una ruta estática personalizada, una ruta dinámica personalizada o una ruta personalizada de intercambio de tráfico y esa ruta tiene una máscara de subred más corta que
/32
, el extremo de Private Service Connect tiene mayor prioridad.
Crea un extremo de Private Service Connect
Una vez que hayas elegido una dirección IP que cumpla con los requisitos, puedes crear un extremo de Private Service Connect.
Un extremo de Private Service Connect se conecta a los servicios y las API de Google mediante una regla de reenvío global. Cada regla de reenvío se tiene en cuenta en la cuota por red de VPC para Private Service Connect.
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 el paquete de la API de destino que deseas usar:
- Todas las API de Google
- VPC‑SC
En Nombre del extremo, ingresa un nombre para el extremo.
Selecciona una red para el extremo.
Selecciona una dirección IP para el extremo.
La dirección IP debe cumplir con estos requisitos.
Si necesitas una dirección IP nueva, puedes crear una:
- Haz clic en Crear dirección IP.
- Ingresa un nombre y una descripción para la dirección IP.
- Ingresa la dirección IP que quieres usar y haz clic en Guardar.
Si aún no se configuró una región del directorio de servicios para esta red de VPC, selecciona la región que deseas usar.
Todos los extremos que se usan para acceder a las API y los servicios de Google en una red de VPC determinada usan la misma región del Directorio de servicios.
Si un espacio de nombres del Directorio de servicios aún no se configuró para esta red de VPC, configura el espacio de nombres que deseas usar:
Para usar un espacio de nombres asignado de forma automática, haz clic en el menú desplegable Espacio de nombres y selecciona el espacio de nombres asignado de forma automática.
Para seleccionar un espacio de nombres existente que se use en otra red, haz clic en el menú desplegable Espacio de nombres y selecciona un espacio de nombres de la lista. La lista muestra todos los espacios de nombres del proyecto. Debes seleccionar un espacio de nombres que se use solo para los extremos de Private Service Connect que se usan a fin de acceder a las API de Google.
Para crear un nuevo espacio de nombres, haz clic en el menú desplegable Espacio de nombres y, luego, en Crear espacio de nombres. Ingresa el espacio de nombres y haz clic en Crear.
Todos los extremos que usas para acceder a los servicios y las API de Google en una red de VPC determinada usan el mismo espacio de nombres del Directorio de servicios.
Haz clic en Agregar extremo.
gcloud
Reserva una dirección IP interna global para asignar al extremo.
gcloud compute addresses create ADDRESS_NAME \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=ENDPOINT_IP \ --network=NETWORK_NAME
Reemplaza lo siguiente:
ADDRESS_NAME
: nombre que se asignará a la dirección IP reservada.ENDPOINT_IP
: dirección IP que se reservará para el extremo.La dirección IP debe cumplir con estos requisitos.
NETWORK_NAME
: nombre de la red de VPC para el extremo.
Crea una regla de reenvío para conectar el extremo a los servicios y las API de Google.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --global \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-google-apis-bundle=API_BUNDLE \ [ --service-directory-registration=REGION_NAMESPACE_URI ]
Reemplaza lo siguiente:
ENDPOINT_NAME
: nombre que se asignará al extremo. El nombre debe ser una string de 1 a 20 caracteres y contener solo letras minúsculas y números. El nombre debe empezar con una letra.NETWORK_NAME
: nombre de la red de VPC para el extremo.ADDRESS_NAME
: nombre de la dirección reservada en la red asociada.API_BUNDLE
: paquete de API que estará disponible mediante el extremo. Consulta la lista de API compatibles.Usa
all-apis
para otorgar acceso a todas las API compatibles.Usa
vpc-sc
para restringir el acceso a las API de Google que admiten los Controles del servicio de VPC.
REGION_NAMESPACE_URI
: Es el URI de la región o el espacio de nombres del Directorio de servicios que deseas usar. Este URI debe hacer referencia al mismo proyecto en el que estás creando el extremo de Private Service Connect.Solo puedes definir una región con
projects/PROJECT_NAME/locations/REGION
.Puedes definir una región y un espacio de nombres con
projects/PROJECT_NAME/locations/REGION/namespaces/NAMESPACE
.
Si omites
--service-directory-registration
por completo o configuras una región sin un espacio de nombres, ocurre lo siguiente:Si ya se configuró una región o un espacio de nombres para esta red de VPC, se usan esos valores predeterminados.
Si no se configura una región, se establece en
us-central1
. Si un espacio de nombres no está configurado, se asigna un espacio de nombres generado por el sistema.
API
Reserva una dirección IP interna global para asignar al extremo.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses { "name": ADDRESS_NAME, "address": ENDPOINT_IP, "addressType": "INTERNAL", "purpose": PRIVATE_SERVICE_CONNECT, "network": NETWORK_URL }
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyectoADDRESS_NAME
: nombre que se asignará a la dirección IP reservada.ENDPOINT_IP
: dirección IP que se reservará para el extremo.La dirección IP debe cumplir con estos requisitos.
NETWORK_URL
: red de VPC para el extremo. Usa el método network.list ogcloud compute networks 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/global/forwardingRules { "IPAddress": ADDRESS_URL, "network": NETWORK_URL, "name": ENDPOINT_NAME, "target": API_BUNDLE, "serviceDirectoryRegistrations : [ { "service_directory_region": REGION, "namespace": "NAMESPACE" } ], }
Reemplaza lo siguiente:
PROJECT_ID
: el ID de tu proyectoENDPOINT_NAME
: nombre que se asignará al extremo. El nombre debe ser una string de 1 a 20 caracteres y contener solo letras minúsculas y números. El nombre debe empezar con una letra.NETWORK_URL
: red de VPC para el extremo. Usa el método network.list ogcloud compute networks list --uri
para encontrar las URL de tus redes.ADDRESS_URL
: URL de la dirección reservada en la red asociada. Usa el método globalAddresses.list ogcloud compute addresses list --uri
para encontrar las URL de tus direcciones reservadas.API_BUNDLE
: paquete de API que estará disponible mediante el extremo. Consulta la lista de API compatibles.Usa
all-apis
para otorgar acceso a todas las API compatibles.Usa
vpc-sc
para restringir el acceso a las API de Google que admiten los Controles del servicio de VPC.
REGION
: la región del Directorio de servicios que deseas usar. Por ejemplo,us-central1
. Si omitesREGION
y ya existe una región configurada para esta red de VPC, esa región se usa. Si no se configura una región, se establece enus-central1
.NAMESPACE
: El nombre del espacio de nombres del Directorio de servicios que quieres usar. Si omitesNAMESPACE
y ya se configuró un espacio de nombres para esta red de VPC, ese espacio de nombres se usa. Si un espacio de nombres no está configurado, se asigna un espacio de nombres generado por el sistema.
Terraform
Puedes usar los siguientes recursos de Terraform para crear un extremo de Private Service Connect:
Verifica que el extremo funcione
Crea una instancia de VM en la red de VPC en la que esté configurado Private Service Connect y ejecuta este comando en la VM para verificar que el extremo de Private Service Connect funcione.
curl -v ENDPOINT_IP/generate_204
Reemplaza lo siguiente:
ENDPOINT_IP
: dirección IP del extremo de Private Service Connect.
Si el extremo está funcionando, verás un código de respuesta HTTP 204.
Enumera extremos
Puedes enumerar todos los extremos configurados de Private Service Connect.
Console
En Google Cloud Console, ve a 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="(all-apis OR vpc-sc)" --global
El resultado es similar al siguiente:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP all-apis
Obtén información sobre un extremo
Puedes ver todos los detalles de configuración de un extremo de Private Service Connect.
Console
En Google Cloud Console, ve a Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Se muestran los extremos de Private Service Connect.
Haz clic en el extremo de Private Service Connect del que deseas ver los detalles.
gcloud
gcloud compute forwarding-rules describe \ ENDPOINT_NAME --global
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.
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 --global
Reemplaza lo siguiente:
ENDPOINT_NAME
: nombre del extremo que deseas borrar.
Usa un extremo
Para usar un extremo de Private Service Connect, envía solicitudes a un nombre de host DNS que se resuelve en la dirección IP del extremo.
Puedes usar los nombres DNS
p.googleapis.com
creados automáticamente si puedes configurar tus clientes para que usen un extremo personalizado, y si se crean registros DNSp.googleapis.com
para las API y los servicios que quieres usar. Consulta Usa nombres de DNSp.googleapis.com
para obtener más información.Por ejemplo, si el nombre de tu extremo es
xyz
, los registros DNS se crean parastorage-xyz.p.googleapis.com
,compute-xyz.p.googleapis.com
y otras API que se usan con frecuencia en el paquete de API.Puedes crear registros DNS con los nombres DNS predeterminados si usas un cliente que no se configuró para usar un extremo personalizado, o si no existe un registro DNS
p.googleapis.com
en el servicio que quieres usar. Consulta Crea registros DNS con nombres DNS predeterminados para obtener más información.Por ejemplo, crea registros DNS para
storage.googleapis.com
ycompute.googleapis.com
.
Usa nombres de DNS p.googleapis.com
Cuando creas un extremo de Private Service Connect, el Directorio de servicios crea registros DNS para las API y los servicios de uso común que están disponibles mediante el extremo. Los registros DNS se crean solo para las API y los servicios que tienen nombres de DNS predeterminados que terminan con googleapis.com
y solo para un subconjunto de esas API y servicios.
Los registros DNS se crean en una zona privada p.googleapis.com
. Los registros apuntan a la dirección IP del extremo y usan este formato: SERVICE-ENDPOINT.p.googleapis.com
Por ejemplo, si el nombre de tu extremo es xyz
, se crean registros DNS para storage-xyz.p.googleapis.com
, compute-xyz.p.googleapis.com
y otras API compatibles.
Los clientes que se pueden configurar para usar un extremo personalizado pueden usar los nombres de DNS p.googleapis.com
a fin de enviar solicitudes a un extremo de Private Service Connect.
Consulta la documentación de tu cliente o biblioteca cliente para obtener información sobre cómo configurarla con el fin de usar extremos personalizados. Por ejemplo:
Python: Puedes configurar
api_endpoint
en la Clase de opciones del cliente en el paquetegoogle-api-core
.Go: Puedes configurar
WithEndpoint
en el Paquete de opciones del cliente en el paqueteapi
.gcloud: Puedes configurar
api_endpoint_overrides
con este comando.gcloud config set api_endpoint_overrides/SERVICE ENDPOINT_URL
Por ejemplo:
gcloud config set api_endpoint_overrides/compute https://compute-xyz.p.googleapis.com/compute/v1/
Crea registros DNS con nombres DNS predeterminados
Debes crear registros DNS para dirigir los nombres DNS predeterminados a las API y los servicios al extremo de Private Service Connect en estas circunstancias:
Tu cliente o aplicación no se puede configurar para usar un nombre de DNS
p.googleapis.com
.Debes acceder a un servicio compatible, pero no hay un nombre de DNS
p.googleapis.com
creado de forma automática para ese servicio.
Para crear registros DNS que apunten a tu extremo de Private Service Connect, sigue estas instrucciones:
Crea una zona DNS para el dominio que necesitas usar (por ejemplo,
googleapis.com
ogcr.io
). Se recomienda crear una zona privada de Cloud DNS para este propósito.En esta zona DNS, haz lo siguiente:
Crea un registro
A
para el nombre de dominio (zona), por ejemplo,googleapis.com
ogcr.io
. Haz que este registroA
apunte a la dirección IP del extremo de Private Service Connect. Si usas Cloud DNS, consulta cómo agregar un registro.Crea un registro
CNAME
para todos los nombres de host posibles del dominio adicional. Para ello, usa un asterisco y un punto seguidos del nombre de dominio (zona). Por ejemplo,*.googleapis.com
o*.gcr.io
. Haz que este registroCNAME
apunte al registroA
en la misma zona. Por ejemplo, apunta*.googleapis.com
agoogleapis.com
o*.gcr.io
agcr.io
.
Usa Private Service Connect desde hosts locales
Si tu red local está conectada a una red de VPC, puedes usar Private Service Connect para acceder a las API y los servicios de Google desde hosts locales con la dirección IP interna del extremo de Private Service Connect.
Tu red local debe estar conectada a una red de VPC mediante túneles de Cloud VPN o adjuntos de Cloud Interconnect (VLAN).
El extremo de Private Service Connect está en la red de VPC que está conectada a tu red local.
La red local debe tener rutas adecuadas para el extremo de Private Service Connect. Configura un anuncio de ruta personalizado de Cloud Router a fin de anunciar rutas para el extremo de Private Service Connect en la sesión de BGP que administra las rutas del túnel de Cloud VPN o el adjunto de Cloud Interconnect (VLAN).
Debes configurar los sistemas locales para que puedan realizar consultas a 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 y los adjuntos de Cloud Interconnect (VLAN), 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 o el adjunto de Cloud Interconnect (VLAN) que se conecta a la red de VPC.
Casos de uso
Puedes crear varios extremos de Private Service Connect en la misma red de VPC. No hay límite para el ancho de banda total enviado a un extremo en particular. Dado que los extremos de Private Service Connect usan direcciones IP internas globales, pueden ser usados por cualquier recurso en tu red de VPC, o por una red local conectada mediante túneles de Cloud VPN o adjuntos de Cloud Interconnect.
Con varios extremos, puedes especificar diferentes rutas de acceso a la red con Cloud Router y las reglas de firewall.
Puedes crear reglas de firewall para evitar que algunas VM accedan a las API de Google a través de un extremo de Private Service Connect, a la vez que permite que otras VM tengan acceso.
Puedes tener una regla de firewall en una instancia de VM que prohíba todo el tráfico a Internet. El tráfico que se envíe a los extremos de Private Service Connect seguirá llegando a Google.
Si tienes hosts locales conectados a una VPC con un túnel de Cloud VPN o un adjunto de Cloud Interconnect (VLAN), puedes enviar algunas solicitudes a través del túnel o VLAN mientras envías otras solicitudes a través de la Internet pública. Esta configuración te permite omitir el túnel o la VLAN para servicios como Google Libros que no son compatibles con el Acceso privado a Google.
Para crear esta configuración, crea un extremo de Private Service Connect, anuncia las direcciones IP del extremo de Private Service Connect con los anuncios de ruta personalizados de Cloud Router y habilita una Política de reenvío entrante de Cloud DNS. La aplicación puede enviar algunas solicitudes a través del túnel de Cloud VPN o el adjunto de Cloud Interconnect (VLAN) mediante el nombre del extremo de Private Service Connect, y otras a través de Internet con el nombre de DNS predeterminado.
Si conectas tu red local a tu red de VPC con varios adjuntos de Cloud Interconnect (VLAN), puedes enviar parte del tráfico local a través de una VLAN y el resto a través de otros medios, como se muestra en la figura 3. Esto te permite usar tus propias redes en áreas extensas, en lugar de las de Google, y controlar el movimiento de datos para cumplir con los requisitos geográficos.
Para crear esta configuración, crea dos extremos de Private Service Connect. Crea un anuncio de ruta personalizado para el primer extremo de la sesión de BGP del Cloud Router que administra la primera VLAN y crea un anuncio de ruta personalizado diferente para el segundo extremo de la sesión del Cloud Router que administra la segunda VLAN. Los hosts locales que están configurados para usar el nombre del extremo de Private Service Connect envían tráfico en el adjunto de Cloud Interconnect (VLAN) correspondiente.
También puedes usar varios adjuntos de Cloud Interconnect (VLAN) en una topología activa/activa. Si anuncias la misma dirección IP del extremo de Private Service Connect mediante anuncios de ruta personalizados para las sesiones de BGP en los routers de Cloud que administran las VLAN, los paquetes enviados desde sistemas locales a los extremos se enrutan en todas las VLAN que usan ECMP.
Figura 3. Mediante la configuración de Private Service Connect, Cloud Router y los hosts locales, puedes controlar qué adjunto de Cloud Interconnect (VLAN) se usa para enviar tráfico a las API de Google.
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 de DNS para
p.googleapis.com
en esta red de VPC.
Pueden existir zonas en conflicto por una falla de eliminación anterior.
Para crear 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
servicedirectory.namespaces.associatePrivateZone
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.
Usa los siguientes valores cuando crees la zona:
Nombre de zona: Usa el mismo nombre de zona que usó el sistema durante el intento de creación fallido. El mensaje de error muestra qué nombre de zona se usó.
Nombre DNS:
p.googleapis.com.
(incluye el punto final).Espacio de nombres del Directorio de servicios: Encuentra el espacio de nombres del directorio de servicios para el extremo de Private Service Connect que creaste y usa este espacio de nombres cuando crees la zona DNS del Directorio de servicio.
El espacio de nombres del Directorio de servicios tiene el siguiente formato:
goog-psc-NETWORK_NAME-NETWORK_ID
.
No se puede borrar la zona de DNS privada
Cuando borras el último extremo privado del servicio de conexión en una red de VPC, se borra la configuración asociada del Directorio de servicios, incluida la zona DNS.
Esta eliminación puede fallar por los siguientes motivos:
No tienes los permisos necesarios para borrar la zona DNS.
La zona contiene entradas DNS definidas por el usuario que el Directorio de servicios no creó.
Para solucionar este problema, haz lo siguiente:
Verifica que tengas el permiso
dns.managedZones.delete
. Para obtener más información, consulta Control de acceso en la documentación de Cloud DNS.