Como productor de servicios, puedes permitir que los consumidores de servicios aprovisionen recursos con direcciones IP públicas o privadas (RFC 1918). Si los consumidores de servicios desean utilizar direcciones IP privadas, deben usar el acceso privado a servicios. Sin embargo, los consumidores de servicios solo pueden usar el acceso privado a servicios si su servicio administrado lo ofrece. Para ofrecer conectividad privada, debes completar un proceso de integración único.
El proceso de integración requiere que utilices la API de Service Networking y las unidades de inquilino. Para obtener instrucciones detalladas paso a paso, comunícate con tu representante de Google.
Descripción general
En las siguientes secciones, se describen los componentes y la topología de red general necesarios para habilitar el acceso privado a servicios para el servicio administrado.
Unidades de inquilino
Cuando un consumidor de servicios habilita su servicio administrado, el servicio crea una unidad de usuario para formalizar una relación entre su organización de Google Cloud y el proyecto del consumidor de servicios. Las unidades de inquilino aíslan los recursos y los costos de facturación entre consumidores de servicios diferentes.
Para cada consumidor de servicios, tendrás dos unidades de inquilino. Una para el servicio administrado y otra para el servicio de administración de acceso privado. El servicio administrado es un servicio externo que ofreces a los consumidores de servicios, y el servicio de administración de acceso privado administra conexiones privadas con las redes de VPC del consumidor de servicios. Estas unidades de usuario deben estar en la misma organización de Google Cloud donde vive su servicio administrado.
Service Networking
Service Networking automatiza la configuración de conectividad privada (mediante el intercambio de tráfico de red de VPC) entre tú y el consumidor de servicios. Habilita y utiliza Service Networking en el mismo proyecto en el que creaste el servicio de administración de acceso privado. Este es un proyecto diferente del que contiene el servicio administrado.
Cuando un consumidor de servicios crea una conexión privada con el servicio administrado, Service Networking crea un proyecto host de VPC compartida y una red de VPC compartida. El proyecto y la red host se crean en una carpeta de Google Cloud previamente designada en su organización. Especificas el nombre de la carpeta como parte del proceso de integración. El proyecto y la red están contenidos en una unidad de usuario, por lo que están aislados y solo pueden ser utilizados por ese consumidor de servicios.
Después de crear la red de VPC compartida, Service Networking crea automáticamente una conexión de intercambio de tráfico de red de VPC entre la red de VPC compartida y la red de VPC especificada por el consumidor de servicios.
Los consumidores de servicios también deben suministrar un rango de direcciones IP asignadas cuando crean la conexión privada. Esta asignación reserva las direcciones IP que solo tú, un productor de servicios, puedes usar. Por ejemplo, cuando un consumidor de servicios aprovisiona un recurso, utilizas Service Networking para crear subredes en la red de VPC compartida. Para el rango de direcciones IP de la subred, Service Networking selecciona automáticamente un rango del rango asignado. Este proceso evita conflictos entre la red de VPC compartida y la red de VPC del consumidor de servicios.
Proyectos de servicio de VPC compartida
Cuando un servicio aprovisiona un recurso del consumidor de servicios por primera vez, tu servicio administrado lo aprovisiona en un servicio de VPC compartida, que se adjunta al proyecto host de Service Networking. Esta relación de VPC compartida permite que los recursos en el proyecto de servicio utilicen subredes en la red de VPC compartida.
Su servicio administrado crea el proyecto de servicio en una unidad de usuario y una carpeta previamente designada, especificada durante el proceso de integración. La carpeta y la unidad de inquilino están relacionadas con tu servicio administrado y son diferentes de las que utiliza Service Networking.
Topología de la red
El siguiente ejemplo muestra un solo consumidor de servicios que tiene conectividad privada a un solo productor de servicios. El consumidor de servicios aprovisionó dos recursos en regiones diferentes. Debido a que cada recurso está en una región diferente, están en subredes distintas.
Hay dos proyectos de Endpoints: uno para el servicio administrado y otro para el servicio de administración de acceso privado. Deben estar en la misma organización de Google Cloud.
Dentro de la organización de Google Cloud, hay dos carpetas, una para cada uno de los servicios de Endpoints. La carpeta del servicio de administración de acceso privado contiene un proyecto host de VPC compartida para la conexión privada. La carpeta del servicio administrado contiene un proyecto de servicio para los recursos del consumidor de servicios.
- En cada carpeta, los proyectos relacionados con el consumidor de servicios se almacenan en unidades de inquilino. Ambas unidades de usuario están asociadas con
consumer-project-a
.
- En cada carpeta, los proyectos relacionados con el consumidor de servicios se almacenan en unidades de inquilino. Ambas unidades de usuario están asociadas con
Los consumidores de servicios deben iniciar la conexión privada (que también es una conexión de intercambio de tráfico de la red de VPC). Deben suministrar un rango de direcciones IP asignadas para la conexión privada de la que provienen las direcciones IP de subred. Para obtener más información sobre los pasos del consumidor de servicios, consulta Configura el acceso privado a los servicios.
- Si ofreces varios servicios, los consumidores de servicios solo necesitan una conexión privada. Todo el tráfico hacia el consumidor de servicios y desde tal consumidor pasa por el proyecto host de VPC compartida.
En un solo proyecto del consumidor de servicios, varias redes de VPC pueden conectarse de forma privada a tus servicios. Esto requiere un proyecto host de VPC compartida para cada red de VPC conectada. Sin embargo, todos esos proyectos pueden estar contenidos en la misma unidad de usuario
consumer-project-a
.En el proyecto host, debes configurar las reglas y las rutas de firewall para habilitar la conectividad a recursos nuevos. Debido a que otros servicios pueden usar la misma red de VPC compartida, estas reglas pueden permitir o denegar la conectividad entre tus diferentes servicios.
Proceso de integración
La siguiente lista es un esquema general del proceso de integración. Debes completar este proceso para cada servicio administrado que ofrezca conectividad privada. Comunícate con tu representante de Google para obtener más información.
Crea un servicio de administración de intercambio de tráfico.
Este es un servicio administrado que un productor de servicios compila a través de la API de Service Management y Endpoints. Para obtener más información, comunícate con tu representante de Google.
Proporciona la siguiente información de configuración a tu representante de Google:
- El rango de direcciones IP mínimo que los consumidores de servicios deben asignar cuando se conectan contigo, especificado como una longitud de prefijo IPv4. Si ofreces varios servicios, es posible que desees que los usuarios asignen un rango de direcciones IP más amplio, como
/16
. - El ID de carpeta donde el servicio de administración de acceso privado crea los proyectos host de VPC compartida. Utiliza Resource Manager para encontrar el ID de la carpeta.
- La cuenta de facturación que está asociada a la organización en la que tu servicio de administración de acceso privado crea los proyectos host de VPC compartida.
- Los miembros (que suelen ser los ID de cuentas de servicio) que administran las reglas de firewall de la red del proyecto host.
- El rango de direcciones IP mínimo que los consumidores de servicios deben asignar cuando se conectan contigo, especificado como una longitud de prefijo IPv4. Si ofreces varios servicios, es posible que desees que los usuarios asignen un rango de direcciones IP más amplio, como
Activar la API de Compute Engine
Para cada proyecto host de VPC compartida, activa la API de
compute.googleapis.com
, que puedes hacer con las API de Service Usage o la configuración del proyecto.Una vez que se hayan aprovisionado los recursos, configura las reglas de firewall para la red de VPC compartida en el proyecto host. Debes utilizar la identidad que proporcionaste durante el proceso de integración para acceder a la red de VPC. Si ofreces otros servicios, es posible que esos servicios utilicen la misma red de VPC. No crees reglas que puedan permitir o denegar de forma involuntaria el tráfico a otros servicios.
Informa a los consumidores de servicios.
Informa a los consumidores de servicios que deben establecer una conexión privada. Para obtener más información, consulta Configura el acceso privado a los servicios. Los consumidores de servicios deben proporcionar la siguiente información:
- El nombre de su proyecto y la red donde desean establecer la conectividad privada.
- La región de Cloud donde debe aprovisionarse el recurso.
¿Qué sigue?
- Para habilitar las API de Service Networking, consulta Comienza a usar la API de Service Networking.
- Para obtener más información sobre los límites de conexión privada de Service Networking, consulta Cuotas y límites.