Configura el acceso a la red privada

En esta página, se describe cómo configurar el acceso a la red privada y enrutar el tráfico dentro de una red de Google Cloud .

Para configurar el acceso a la red privada, debes configurar tres proyectos:

  • Es un proyecto que contiene una red de nube privada virtual (VPC) que se usará en la instancia de máquina virtual (VM) de destino o en el balanceador de cargas interno de destino.
  • Es un proyecto que actúa como proyecto de servicio de Directorio de servicios.
  • Es 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 la 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:

  • En la consola de Google Cloud , en la página APIs y servicios de cada proyecto, haz clic en Habilitar APIs y servicios para habilitar las APIs que quieras usar y que aún no estén habilitadas, 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 los Controles del servicio de VPC tanto del proyecto de red como del proyecto del Directorio de servicios paraservicedirectory.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:

  1. Crea una red de VPC o selecciona una existente que tenga una subred de solo IPv4 o de doble pila en la región que deseas usar. No se admiten las redes heredadas.

  2. Crea las reglas de firewall de entrada necesarias para permitir el acceso.

    • Si el destino es una VM o un balanceador de cargas de red interno de transferencia, las reglas de firewall deben permitir el tráfico de TCP desde el rango 35.199.192.0/19 a los puertos que usa el software que se ejecuta en las instancias de VM de destino.

    • Si el destino es un balanceador de cargas de aplicaciones interno o un balanceador de cargas de red de proxy interno, las reglas de firewall de VPC y las políticas de firewall jerárquicas no controlan qué protocolos y puertos acepta el balanceador de cargas. En el caso del balanceador de cargas de aplicaciones interno, se puede usar una política de seguridad de Google Cloud Armor para restringir el acceso al balanceador de cargas.

    Para obtener más información sobre el rango 35.199.192.0/19, consulta Rutas de acceso para Cloud DNS y el Directorio de servicios.

  3. Otorga el rol de servicio autorizado de Private Service Connect de Identity and Access Management (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 Service Directory.

Configura el proyecto del Directorio de servicios

Para configurar el proyecto de Directorio de servicios, sigue estos pasos:

  1. En la red de VPC, crea una VM o un balanceador de cargas interno.

  2. Otorga el rol de visualizador de Service Directory de IAM (roles/servicedirectory.viewer) al agente de servicio del productoGoogle Cloud que llamará al extremo.

  3. Crea un espacio de nombres y un servicio de Directorio de servicios. Luego, crea un extremo para este servicio siguiendo los pasos de la siguiente sección.

Crea un extremo con acceso a la red privada

Para crear un extremo con acceso a la red privada configurado, sigue estos pasos:

Console

  1. En la consola de Google Cloud , ve a la página Espacios de nombres de Service Directory. Ir a Directorio de servicios Directory
  2. Haz clic en un espacio de nombres.
  3. Haz clic en un servicio.
  4. Haz clic en Agregar extremo.
  5. En Nombre del extremo, ingresa un nombre para el extremo.
  6. En Dirección IP, ingresa una dirección IPv4, como 192.0.2.0.
  7. En Puerto, ingresa un número de puerto, como 443 o 80.
  8. 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 del proyecto y el nombre de la red.
  9. Haz clic en Crear.

gcloud

Usa el comando gcloud service-directory endpoints create con el ID del proyecto y la ruta de acceso a la red especificados.

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 crearás en tu servicio, como my-endpoint.
  • PROJECT_ID: el ID del proyecto
  • REGION: La región de Google Cloud que contiene el espacio de nombres
  • NAMESPACE_NAME: Es el nombre que le asignaste al espacio de nombres, como my-namespace.
  • SERVICE_ID: Es el ID del servicio.
  • IP_ADDRESS: Es la dirección IP del extremo, como 192.0.2.0.
  • PORT_NUMBER: Los puertos en los que se ejecutan los extremos, por lo general, 443 o 80
  • NETWORK_PATH: Es la URL de la red, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME.

Configura el proyecto del producto Google Cloud

Para configurar el proyecto del producto Google Cloud , sigue estos pasos:

  1. Habilita la API del producto Google Cloud .

  2. Configura tu producto Google Cloud para que llame al servicio de Directorio de servicios que creaste. Los pasos necesarios dependen del productoGoogle Cloud específico.

Casos de uso

En esta sección, se proporcionan ejemplos de casos de uso para configurar el acceso a la red privada.

Llama a un extremo HTTP cuando una red de VPC, una VM y el Directorio de servicios están en el mismo proyecto

En este caso de uso, configurarás Dialogflow CX, un producto de Google Cloud para el procesamiento de lenguaje natural, para llamar a un endpoint HTTP en tu VM. Cuando llames al endpoint, asegúrate de que el tráfico no se desvíe a 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 la configuración de un servicio de Google de un proyecto realice una salida a una VM. La VM reside en una red de VPC del proyecto.

Permite que la configuración de un servicio de Google de un proyecto realice la salida a una VM del proyecto de red.
Figura 1. Permite que la configuración del servicio de Google de un proyecto realice una salida a una VM (haz clic para ampliar).

Configura tu red y la red objetivo

  1. Crea un proyecto, como myproject.
  2. Crea una red de VPC, como vpc-1.

    Mientras creas la red de VPC, en Modo de creación de subred, selecciona Automático.

  3. 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 o 80.
  4. En la región us-central1, crea una VM, como vm-1.

    Cuando crees la VM, ingresa o selecciona los siguientes valores:

    • En Networking > Network Interfaces, selecciona vpc-1.
    • En Firewall, selecciona Permitir tráfico HTTP.

    Si quieres usar HTTPS, selecciona Permitir tráfico HTTPS. También asegúrate de instalar un certificado de seguridad de la capa de transporte (TLS) de la infraestructura de clave pública (PKI).

  5. En la región us-central1, crea un espacio de nombres, como namespace-1.

  6. En el espacio de nombres, registra un servicio del Directorio de servicios, como sd-1.

  7. Crea un extremo en sd-1. Para la dirección del extremo, usa la dirección IP interna de vm-1 en el puerto 443. Para obtener más información, consulta Crea un extremo con acceso a la red privada.

  8. 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)
    • Rol de servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService)
  9. Opcional: Si quieres agregar más VMs, puedes configurar otra VM, como vm-2, y agregar su extremo, como endpoint-2.

Configura un Google Cloud producto

  1. Configura una Google Cloud configuración del producto, como "Cloud Scheduler, llámame cada minuto".
  2. Configura una solicitud HTTP.
  3. Especifica que las solicitudes deben pasar por redes privadas, como a través de sd-1.
  4. Opcional: Configura los parámetros de configuración de Certificate Authority Service.

El producto Google Cloud ahora puede invocar la solicitud HTTP con sd-1.

Llama a un extremo HTTP cuando una red de VPC compartida, una VM y Directorio de servicios se encuentran en proyectos diferentes

En este caso de uso, configurarás Dialogflow CX, un servicio de Google Cloudpara el procesamiento de lenguaje natural, para llamar a un endpoint HTTP en tu VM. Cuando llames al extremo, asegúrate de que el tráfico no pase por 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 de la API respete el perímetro de los Controles del servicio de VPC.
  • Asegúrate de que la configuración del proyecto de servicio Google Cloud permita el tráfico de salida a una VM que resida en el proyecto de red de VPC.
  • Es posible que el proyecto del productor no sea el mismo que el proyecto de Google Cloud servicio.
  • Asegúrate de que se usen los perímetros de los Controles del servicio de VPC de ambos proyectos.
  • No es necesario que el proyecto de Service Directory 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 IAM están inhabilitados de forma predeterminada.

En la figura 2, se muestra cómo puedes enviar tráfico con acceso a la red privada con los perímetros de los Controles del servicio de VPC aplicados.

Envía tráfico con acceso a la red privada con perímetros de Controles del servicio de VPC aplicados.
Figura 2. Envía tráfico con acceso a la red privada con perímetros de los Controles del servicio de VPC aplicados (haz clic para ampliar).

Configura el proyecto de red

  1. Crea un proyecto, como my-vpc-project.
  2. Crea una red de VPC, como vpc-1.

    Cuando crees la red de VPC, en Modo de creación de subred, selecciona Automático.

  3. 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 o 80.
  4. En la región us-central1, crea una VM, como vm-1.

    Cuando crees la VM, ingresa o selecciona los siguientes valores:

    • En Networking > Network Interfaces, selecciona vpc-1.
    • En Firewall, selecciona Permitir tráfico HTTP.

    Si quieres usar HTTPS, selecciona Permitir tráfico HTTPS. También asegúrate de instalar un certificado de seguridad de la capa de transporte (TLS) de la infraestructura de clave pública (PKI).

Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC permite que Directorio de servicios se conecte tanto al Google Cloud proyecto de servicio como al proyecto de Directorio de servicios.

Configura el proyecto del Directorio de servicios

  1. Crea un proyecto, como my-sd-project.

  2. Necesitas un permiso de IAM adicional porque el proyecto de red de VPC y el proyecto de Directorio de servicios son diferentes.

    Desde el proyecto de red, otorga el rol de Vinculador de redes del Directorio de servicios (roles/servicedirectory.networkAttacher) a la principal de IAM que crea el extremo de Directorio de servicios.

  3. Crea un extremo de Directorio de servicios que apunte a la VM en la red de VPC:

    1. En la región us-central1, crea un espacio de nombres, como namespace-1.
    2. En el espacio de nombres, registra un servicio del Directorio de servicios, como sd-1.
    3. Crea un extremo en sd-1. Para la dirección del extremo, usa la dirección IP interna de vm-1 en el puerto 443. Para obtener más información, consulta Crea un extremo con acceso a la red privada.
  4. 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

Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC permite que Directorio de servicios se conecte tanto al Google Cloud proyecto de servicio como al proyecto de Directorio de servicios.

Configura el Google Cloud proyecto de servicio

  1. Habilita la API para el servicio deGoogle Cloud que estás usando, si aún no está habilitada.
  2. Para configurar el servicio Google Cloud 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 permite que Directorio de servicios se conecte tanto al proyecto de red como al proyecto de Directorio de servicios.

Usa el acceso a la red privada del Directorio de servicios con Dialogflow

Si deseas obtener instrucciones para usar el acceso a la red privada de Directorio de servicios con Dialogflow, consulta Cómo usar Service Directory para el acceso a la red privada.

¿Qué sigue?