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 cada proyecto, en la página APIs & Services, haz clic en Habilitar APIs y servicios para habilitar las APIs que deseas usar, incluida la API de Service Directory. Google Cloud

  • 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 tanto del proyecto de red como del proyecto de 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.

    • 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 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 del proxy interno, las reglas de firewall deben permitir el tráfico TCP desde el rango 35.199.192.0/19 a la dirección IP y los puertos que usa el 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 Permisos y roles 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 del 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 de 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: Un nombre para el extremo que estás creando 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: Son 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 de Google Cloud product.

  2. 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 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 Directorio de servicios se encuentran en el mismo proyecto

En este caso de uso, configurarás Dialogflow CX, un Google Cloud producto para el procesamiento del lenguaje natural, para llamar a un extremo HTTP en tu VM. Cuando llames al extremo, 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 una salida a una VM del proyecto de red.
Figura 1. Permite que la configuración de un 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.

    Cuando crees la red de VPC, en Modo de creación de subredes, 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 deseas 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 de 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 un Google Cloud 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 del Servicio de autoridad de certificación.

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 extremo HTTP en tu VM. Cuando llames al extremo, 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 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.
  • El proyecto de Service Directory y el proyecto de red no necesitan estar 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 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 subredes, 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 deseas 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 proyecto de servicio como al proyecto de Directorio de servicios Directory. Google Cloud

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 la 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) al principal de IAM que crea el extremo de Directorio de servicios.

  3. Crea un extremo del 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 de 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 proyecto de servicio como al proyecto de Directorio de servicios Directory. Google Cloud

Configura el proyecto de servicio Google Cloud

  1. Habilita la API para el servicio de Google Cloud que estás usando.
  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

Para obtener instrucciones sobre cómo usar el acceso a la red privada del Directorio de servicios con Dialogflow, consulta Usa el Directorio de servicios para acceder a redes privadas.

¿Qué sigue?