En esta página, se describe cómo configurar el acceso a la red privada y enrutar el tráfico dentro de una red Google Cloud .
Para configurar el acceso a la red privada, debes configurar tres proyectos:
- Un proyecto que incluye una nube privada virtual (VPC) y una instancia de máquina virtual (VM) que es el destino
- Un proyecto que actúa como un proyecto de servicio del Directorio de servicios.
- Un proyecto para un producto Google Cloud con la configuración que invoca el acceso a la red privada Un ejemplo de un producto Google Cloud que puede llamar a extremos con acceso a red privada es Dialogflow CX.
Los artefactos de los proyectos pueden estar en el mismo proyecto o en proyectos diferentes.
Antes de comenzar
Antes de configurar el acceso a la red privada, completa los siguientes pasos:
Para cada proyecto, en la consola de Google Cloud, en la página APIs y servicios, haz clic en Habilitar APIs y servicios para habilitar las APIs que deseas usar, incluida la API de Service Directory.
Para vincular tu red de VPC a hosts locales, crea un túnel de Cloud VPN o una conexión de Cloud Interconnect.
Asegúrate de que el proyecto Google Cloud esté dentro del perímetro de Controles del servicio de VPC del proyecto de red y del proyecto del Directorio de servicios de
servicedirectory.googleapis.com
.Obtén más información sobre los controles de servicio de VPC.
Configura el proyecto para la red de VPC
Para configurar el proyecto para la red de VPC, sigue estos pasos:
Crea una red de VPC. Si quieres usar una red de VPC existente, asegúrate de que admita subredes en modo automático o personalizado. No se admiten las redes heredadas.
Si el destino de tu red de VPC es una VM de Compute Engine o un backend de balanceador de cargas interno, configura una regla de firewall de red de VPC. Crea reglas de firewall para permitir la entrada de TCP desde
35.199.192.0/19
en el puerto en el que está escuchando tu objetivo. Los puertos443
y80
son típicos, pero puedes usar cualquier puerto. Ten en cuenta que, de forma predeterminada, las reglas de firewall de la red de VPC bloquean las conexiones de entrada a las VMs de Compute Engine.Para obtener más información sobre
35.199.192.0/19
, consulta Rutas de acceso para Cloud DNS y el Directorio de servicios.Otorga el rol de servicio autorizado de Private Service Connect de la administración de identidades y accesos (IAM) (
roles/servicedirectory.pscAuthorizedService
) al agente de servicio del producto Google Cloud que llamará al extremo.Para obtener más información sobre los roles y permisos, consulta Roles y permisos de Directory Service.
Configura el proyecto del Directorio de servicios
Para configurar el proyecto de Service Directory, sigue estos pasos:
En la red de VPC, crea una VM o un balanceador de cargas interno.
Otorga el rol de Visualizador del directorio de servicios de IAM (
roles/servicedirectory.viewer
) al agente de servicio del productoGoogle Cloud que llamará al extremo.Crea un espacio de nombres y un servicio del Directorio de servicios. Luego, crea un extremo para este servicio siguiendo los pasos que se indican en la siguiente sección.
Crea un extremo con acceso a red privada
Para crear un extremo con acceso de red privada configurado, sigue estos pasos:
Console
- En la consola de Google Cloud, ve a la página Espacios de nombres de Directory Service. Ir a los espacios de nombres de directorio de servicios
- Haz clic en un espacio de nombres.
- Haz clic en un servicio.
- Haz clic en Agregar extremo.
- En Nombre del extremo, ingresa un nombre para el extremo.
- En Dirección IP, ingresa una dirección IPv4, como
192.0.2.0
. - En Puerto, ingresa un número de puerto, como
443
o80
. - Para habilitar el acceso a la red privada, en Red de VPC asociada, selecciona la opción requerida:
- Para elegir una red de la lista de redes disponibles, haz clic en Elegir de la lista y, luego, selecciona la red.
- Para especificar un proyecto y una red, haz clic en Especificar por el nombre de red y de proyecto y, luego, ingresa el número de proyecto y el nombre de la red.
- Haz clic en Crear.
gcloud
Usa el comando gcloud service-directory endpoints create
con el ID del proyecto y la ruta de red especificada.
gcloud service-directory endpoints create ENDPOINT_NAME \ --project=PROJECT_ID \ --location=REGION \ --namespace=NAMESPACE_NAME \ --service=SERVICE_ID \ --address=IP_ADDRESS \ --port=PORT_NUMBER \ --network=NETWORK_PATH
Reemplaza lo siguiente:
ENDPOINT_NAME
: Es un nombre para el extremo que estás creando en tu servicio, comomy-endpoint
.PROJECT_ID
: El ID del proyectoREGION
: Es la región Google Cloud que contiene el espacio de nombres.NAMESPACE_NAME
: Es el nombre que le asignaste al espacio de nombres, comomy-namespace
.SERVICE_ID
: El ID del servicioIP_ADDRESS
: Es la dirección IP del extremo, como192.0.2.0
.PORT_NUMBER
: Los puertos en los que se ejecutan los extremos, por lo general,443
o80
NETWORK_PATH
: Es la URL de la red, comoprojects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME
.
Configura el Google Cloud proyecto de producto
Para configurar el Google Cloud proyecto de producto, sigue estos pasos:
Configura tu producto Google Cloud para que llame al servicio del Directorio de servicios que creaste. Los pasos necesarios dependen del productoGoogle Cloud específico.
Casos de uso
En esta sección, se proporcionan casos de uso de ejemplo para configurar el acceso a la red privada.
Llamar a un extremo HTTP cuando una red de VPC, una VM y el directorio de servicios se encuentran en el mismo proyecto
En este caso de uso, configuras Dialogflow CX, un Google Cloud producto para el procesamiento de lenguaje natural, para llamar a un extremo HTTP en tu VM. Mientras llamas al extremo, asegúrate de que el tráfico no realice la transición a través de la Internet pública.
En este caso de uso, crearás los siguientes artefactos en el mismo proyecto:
- Una red de VPC
- Una VM
- Un servicio del Directorio de servicios
- Dialogflow CX
En la Figura 1, se muestra cómo puedes permitir que una configuración de servicio de Google de un proyecto salga a una VM. La VM reside en una red de VPC del proyecto.
Configura tu red y la red de destino
- Crea un proyecto, como
myproject
. Crea una red de VPC, como
vpc-1
.Cuando crees la red de VPC, en Modo de creación de subredes, selecciona Automático.
Crea una regla de firewall, como
firewall-1
.Cuando crees la regla de firewall, ingresa o selecciona los siguientes valores:
- En Red, selecciona
vpc-1
. - En Rangos de IPv4 de origen, ingresa
35.199.192.0/19
. - En Protocolos y puertos, selecciona TCP y, luego, ingresa
443
o80
.
- En Red, selecciona
En la región
us-central1
, crea una VM, comovm-1
.Cuando crees la VM, ingresa o selecciona los siguientes valores:
- En Herramientas de redes > Interfaces de red, selecciona
vpc-1
. - En Firewall, selecciona Permitir tráfico HTTP.
Si deseas usar HTTPS, selecciona Permitir tráfico HTTPS. Además, asegúrate de instalar un certificado de seguridad de la capa de transporte (TLS) de la infraestructura de clave pública (PKI).
- En Herramientas de redes > Interfaces de red, selecciona
En la región
us-central1
, crea un espacio de nombres, comonamespace-1
.En el espacio de nombres, registra un servicio del Directorio de servicios, como
sd-1
.Crea un extremo en
sd-1
. Para la dirección del extremo, usa la dirección IP interna devm-1
en el puerto443
. Para obtener más información, consulta Cómo crear un extremo con acceso a red privada.Otorga los siguientes roles de IAM al agente de servicio del productoGoogle Cloud que llamará al extremo:
- Rol de lector del Directorio de servicios (
roles/servicedirectory.viewer
) - Rol de servicio autorizado de Private Service Connect (
roles/servicedirectory.pscAuthorizedService
)
- Rol de lector del Directorio de servicios (
Opcional: Si quieres agregar más VMs, puedes configurar otra VM, como
vm-2
, y agregar su extremo, comoendpoint-2
.
Configura un Google Cloud producto
- Configura una Google Cloud configuración del producto, como "Cloud Scheduler, llámame cada minuto".
- Configura una solicitud HTTP.
- Especifica que las solicitudes deben realizarse a través de redes privadas, como a través de
sd-1
. - Opcional: Configura la configuración del servicio de la AC.
El producto Google Cloud ahora puede invocar la solicitud HTTP con sd-1
.
Llamar a un extremo HTTP cuando una red de VPC compartida, una VM y el directorio de servicios se encuentran en proyectos diferentes
En este caso de uso, configuras Dialogflow CX, un servicio de Google Cloudpara el procesamiento de lenguaje natural, para llamar a un extremo HTTP en tu VM. Cuando llames al extremo, asegúrate de que el tráfico no realice la transición a través de la Internet pública.
En este caso de uso, crearás los siguientes artefactos en diferentes proyectos:
- Una red de VPC compartida
- Una VM
- Un servicio del Directorio de servicios
- Dialogflow CX
Antes de crear los proyectos, ten en cuenta lo siguiente:
- Asegúrate de que la invocación a la API respete el perímetro de los Controles del servicio de VPC.
- Asegúrate de que la configuración del Google Cloud proyecto de servicio permita la salida a una VM que reside en el proyecto de red de VPC.
- Es posible que el proyecto del productor no sea el mismo que el proyecto del Google Cloud servicio.
- Asegúrate de usar los perímetros de los Controles del servicio de VPC de ambos proyectos.
- No es necesario que el proyecto de directorio de servicios y el proyecto de red estén conectados, pero ambos deben formar parte de los mismos Controles del servicio de VPC.
- En la red y el servicio, el firewall y la IAM están inhabilitados de forma predeterminada.
En la Figura 2, se muestra cómo puedes enviar tráfico mediante el acceso a la red privada con los perímetros de los Controles del servicio de VPC aplicados.
Configura el proyecto de red
- Crea un proyecto, como
my-vpc-project
. Crea una red de VPC, como
vpc-1
.Cuando crees la red de VPC, en Modo de creación de subred, selecciona Automático.
Crea una regla de firewall, como
firewall-1
.Cuando crees la regla, ingresa o selecciona los siguientes valores:
- En Red, selecciona
vpc-1
. - En Rangos de IPv4 de origen, ingresa
35.199.192.0/19
. - En Protocolos y puertos, selecciona TCP y, luego, ingresa
443
o80
.
- En Red, selecciona
En la región
us-central1
, crea una VM, comovm-1
.Cuando crees la VM, ingresa o selecciona los siguientes valores:
- En Herramientas de redes > Interfaces de red, selecciona
vpc-1
. - En Firewall, selecciona Permitir tráfico HTTP.
Si deseas usar HTTPS, selecciona Permitir tráfico HTTPS. Además, asegúrate de instalar un certificado de seguridad de la capa de transporte (TLS) de la infraestructura de clave pública (PKI).
- En Herramientas de redes > Interfaces de red, selecciona
Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC habilita el servicio de directorio para conectarse al Google Cloud proyecto de servicio y al proyecto de directorio de servicios.
Configura el proyecto del Directorio de servicios
Crea un proyecto, como
my-sd-project
.Necesitas un permiso de IAM adicional porque el proyecto de red de VPC y el proyecto de Directory de servicios son proyectos diferentes.
Desde el proyecto de red, otorga el rol de conectador de red de Directory (
roles/servicedirectory.networkAttacher
) al principal de IAM que crea el extremo de Directory.Crea un extremo del Directorio de servicios que apunte a la VM en la red de VPC:
- En la región
us-central1
, crea un espacio de nombres, comonamespace-1
. - En el espacio de nombres, registra un servicio del Directorio de servicios, como
sd-1
. - Crea un extremo en
sd-1
. Para la dirección del extremo, usa la dirección IP interna devm-1
en el puerto443
. Para obtener más información, consulta Cómo crear un extremo con acceso a red privada.
- En la región
Otorga los siguientes roles de IAM al agente de servicio del productoGoogle Cloud que llamará al extremo:
- Rol de Visualizador del Directorio de servicios (
roles/servicedirectory.viewer
) en el proyecto del Directorio de servicios - Rol de servicio autorizado de Private Service Connect (
roles/servicedirectory.pscAuthorizedService
) en el proyecto de red
- Rol de Visualizador del Directorio de servicios (
Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC habilita el servicio de directorio para conectarse al Google Cloud proyecto de servicio y al proyecto de directorio de servicios.
Configura el Google Cloud proyecto de servicio
- Habilita la API del servicio Google Cloud que usas.
- Para configurar el Google Cloud servicio
PUSH
, usa el servicio del Directorio de servicios del proyecto del Directorio de servicios.
Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC habilita el Directorio de servicios para conectarse al proyecto de red y al proyecto del Directorio de servicios.
Usa el acceso a redes privadas del Directorio de servicios con Dialogflow
Para obtener instrucciones sobre cómo usar el acceso a la red privada del Directorio de servicios con Dialogflow, consulta Cómo usar el Directorio de servicios para acceder a redes privadas.
¿Qué sigue?
- Para obtener una descripción general del Directorio de servicios, consulta la descripción general del Directorio de servicios.
- Para obtener más información sobre Private Service Connect, consulta Private Service Connect.
- Para encontrar soluciones a problemas comunes que podrías tener cuando usas Service Directory, consulta Solución de problemas.