Configurar el acceso a redes privadas

En esta página se describe cómo configurar el acceso a redes privadas y enrutar el tráfico en una Google Cloud red.

Para configurar el acceso a redes privadas, debe 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 proyecto de servicio de Service Directory.
  • Un proyecto de un Google Cloud producto con la configuración que invoca el acceso a la red privada. Un ejemplo de Google Cloud producto que puede llamar a endpoints mediante 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 empezar

Antes de configurar el acceso a redes privadas, completa los siguientes pasos:

  • En la Google Cloud consola, en la página APIs & Services (APIs y servicios) de cada proyecto, haz clic en Enable APIs and services (Habilitar APIs y servicios) para habilitar las APIs que quieras usar, incluida la API Service Directory.

  • Para vincular tu red VPC a hosts on-premise, 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 de Servicio de VPC tanto del proyecto de red como del proyecto de Service Directory de servicedirectory.googleapis.com.

    Consulta más información sobre Controles de Servicio de VPC.

Configurar el proyecto para la red de VPC

Para configurar el proyecto de la red de VPC, sigue estos pasos:

  1. Crea una red VPC. Si quieres usar una red de VPC que ya tengas, asegúrate de que admita subredes en modo automático o personalizado. No se admiten las redes antiguas.

  2. Si el destino de tu red de VPC es una máquina virtual de Compute Engine o un backend de balanceador de carga interno, configura una regla de cortafuegos de red de VPC. Crea reglas de cortafuegos para permitir la entrada de TCP desde 35.199.192.0/19 en el puerto en el que escucha tu destino. Los puertos 443 y 80 son habituales, pero puedes usar cualquier puerto. Ten en cuenta que, de forma predeterminada, las reglas de cortafuegos de redes de VPC bloquean las conexiones entrantes a las VMs de Compute Engine.

    Para obtener más información sobre 35.199.192.0/19, consulta Rutas de Cloud DNS y Service Directory.

  3. Asigna el rol de servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService) de Gestión de Identidades y Accesos (IAM) al agente de servicio del producto Google Cloud que llamará al endpoint.

    Para obtener más información sobre los roles y permisos, consulta Permisos y roles de Service Directory.

Configurar el proyecto de Directorio de servicios

Para configurar el proyecto de Service Directory, sigue estos pasos:

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

  2. Asigna el rol Lector de Service Directory de IAM (roles/servicedirectory.viewer) al agente de servicio del productoGoogle Cloud que llamará al endpoint.

  3. Crea un espacio de nombres y un servicio de Directorio de servicios. A continuación, crea un endpoint para este servicio siguiendo los pasos que se indican en la siguiente sección.

Crear un endpoint con acceso a una red privada

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

Consola

  1. En la Google Cloud consola, ve a la página Espacios de nombres del directorio de servicios. Ir a los espacios de nombres de Directorio de servicios
  2. Haz clic en un espacio de nombres.
  3. Haz clic en un servicio.
  4. Haz clic en Añadir endpoint.
  5. En Nombre del endpoint, escribe el nombre del endpoint.
  6. En Dirección IP, introduce una dirección IPv4, como 192.0.2.0.
  7. En Puerto, introduce 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 que necesites:
    • Para elegir una red de la lista de redes disponibles, haz clic en Elegir de la lista y, a continuación, selecciona la red.
    • Para especificar un proyecto y una red, haz clic en Especificar por nombre de proyecto y de red y, a continuación, introduce 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 de proyecto y la ruta de 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

Haz los cambios siguientes:

  • ENDPOINT_NAME: un nombre para el endpoint que vas a crear en tu servicio, como my-endpoint
  • PROJECT_ID: el ID del proyecto
  • REGION: la Google Cloud región que contiene el espacio de nombres
  • NAMESPACE_NAME: el nombre que le has dado al espacio de nombres, como my-namespace.
  • SERVICE_ID: el ID del servicio
  • IP_ADDRESS: la dirección IP del endpoint, como 192.0.2.0
  • PORT_NUMBER: los puertos en los que se ejecutan los endpoints, normalmente 443 o 80
  • NETWORK_PATH: la URL de la red, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configurar el Google Cloud proyecto de producto

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

  1. Habilita la API del producto Google Cloud .

  2. Configura tu Google Cloud producto para que llame al servicio de Service Directory que has creado. Los pasos necesarios dependen delGoogle Cloud producto específico.

Casos prácticos

En esta sección se proporcionan ejemplos de casos prácticos para configurar el acceso a redes privadas.

Llamar a un endpoint HTTP cuando una red de VPC, una VM y Service Directory están en el mismo proyecto

En este caso práctico, configurarás Dialogflow CX, un Google Cloud producto de procesamiento del lenguaje natural, para llamar a un endpoint HTTP en tu VM. Al llamar al endpoint, asegúrate de que el tráfico no pase por la red pública de Internet.

En este caso práctico, creará los siguientes artefactos en el mismo proyecto:

  • Una red de VPC
  • Una VM
  • Un servicio de 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 salga 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 salga a una VM de un proyecto de red.
Imagen 1. Permitir que la configuración de un servicio de Google de un proyecto salga a una máquina virtual (haz clic para ampliar la imagen).

Configurar tu red y la red de destino

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

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

  3. Crea una regla de cortafuegos, como firewall-1.

    Al crear la regla de cortafuegos, introduce o selecciona los siguientes valores:

    • En Red, selecciona vpc-1.
    • En Intervalos IPv4 de origen, introduce 35.199.192.0/19.
    • En Protocolos y puertos, selecciona TCP e introduce 443 o 80.
  4. En la región us-central1, crea una VM, como vm-1.

    Mientras creas la VM, introduce o selecciona los siguientes valores:

    • En Redes > Interfaces de red, selecciona vpc-1.
    • En Cortafuegos, selecciona Permitir el tráfico HTTP.

    Si quieres usar HTTPS, selecciona Permitir el tráfico HTTPS. También debes instalar un certificado de Seguridad en la capa de transporte (TLS) de 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 endpoint en sd-1. En la dirección del endpoint, usa la dirección IP interna de vm-1 en el puerto 443. Para obtener más información, consulta Crear un endpoint con acceso a una red privada.

  8. Asigna los siguientes roles de gestión de identidades y accesos al agente de servicio del Google Cloud producto que llamará al endpoint:

    • Rol Lector del directorio de servicios (roles/servicedirectory.viewer)
    • Rol de servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService)
  9. Opcional: Si quieres añadir más VMs, puedes configurar otra VM, como vm-2, y añadir su endpoint, como endpoint-2.

Configurar un Google Cloud producto

  1. Configura una Google Cloud configuración de producto, como " Cloud Scheduler, llámame cada minuto".
  2. Configura una solicitud HTTP.
  3. Especifica que las solicitudes deben enviarse a través de una red privada, como sd-1.
  4. Opcional: Configura los ajustes del servicio de autoridad de certificación.

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

Llamar a un endpoint HTTP cuando una red de VPC compartida, una VM y Service Directory están en proyectos diferentes

En este caso práctico, configurarás Dialogflow CX, un Google Cloud servicio de procesamiento del lenguaje natural, para que llame a un endpoint HTTP en tu VM. Al llamar al endpoint, asegúrate de que el tráfico no pase por la red pública de Internet.

En este caso práctico, creará los siguientes artefactos en diferentes proyectos:

  • Una red de VPC compartida
  • Una VM
  • Un servicio de 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 respeta el perímetro de Controles de Servicio de VPC.
  • Asegúrate de que la configuración del Google Cloud proyecto de servicio permita el tráfico de salida a una VM que resida en el proyecto de red de VPC.
  • El proyecto de productor puede no ser el mismo que el proyecto de Google Cloud servicio.
  • Asegúrate de que se usen los perímetros de Controles de Servicio de VPC de ambos proyectos.
  • El proyecto de Service Directory y el proyecto de red no tienen que estar conectados, pero ambos deben formar parte de los mismos Controles de Servicio de VPC.
  • En la red y el servicio, el cortafuegos y la gestión de identidades y accesos están inhabilitados de forma predeterminada.

En la figura 2 se muestra cómo puede enviar tráfico mediante el acceso a la red privada con los perímetros de Controles de Servicio de VPC.

Envía tráfico mediante el acceso a la red privada con los perímetros de los Controles de Servicio de VPC aplicados.
Imagen 2. Envía tráfico mediante el acceso a la red privada con los perímetros de Controles de Servicio de VPC aplicados (haz clic para ampliar).

Configurar el proyecto de red

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

    Al crear la red de VPC, en Modo de creación de subredes, selecciona Automático.

  3. Crea una regla de cortafuegos, como firewall-1.

    Al crear la regla, introduce o selecciona los siguientes valores:

    • En Red, selecciona vpc-1.
    • En Intervalos IPv4 de origen, introduce 35.199.192.0/19.
    • En Protocolos y puertos, selecciona TCP e introduce 443 o 80.
  4. En la región us-central1, crea una VM, como vm-1.

    Mientras creas la VM, introduce o selecciona los siguientes valores:

    • En Redes > Interfaces de red, selecciona vpc-1.
    • En Cortafuegos, selecciona Permitir el tráfico HTTP.

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

Si usas Controles de Servicio de VPC, el perímetro de Controles de Servicio de VPC permite que Service Directory se conecte tanto al Google Cloud proyecto de servicio como al proyecto de Service Directory.

Configurar el proyecto de Directorio de servicios

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

  2. Necesitas un permiso de gestión de identidades y accesos adicional porque el proyecto de red VPC y el proyecto de Service Directory son proyectos diferentes.

    En el proyecto de red, asigna el rol vinculador de redes de Directorio de servicios (roles/servicedirectory.networkAttacher) al principal de gestión de identidades y accesos que crea el endpoint de Directorio de servicios.

  3. Crea un punto final de Service Directory que apunte a la VM de 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 endpoint en sd-1. En la dirección del endpoint, usa la dirección IP interna de vm-1 en el puerto 443. Para obtener más información, consulta Crear un endpoint con acceso a una red privada.
  4. Asigna los siguientes roles de gestión de identidades y accesos al agente de servicio del Google Cloud producto que llamará al endpoint:

    • Rol Lector del directorio de servicios (roles/servicedirectory.viewer) en el proyecto Directorio de servicios
    • Rol de servicio autorizado de Private Service Connect (roles/servicedirectory.pscAuthorizedService) en el proyecto de red

Si usas Controles de Servicio de VPC, el perímetro de Controles de Servicio de VPC permite que Service Directory se conecte tanto al Google Cloud proyecto de servicio como al proyecto de Service Directory.

Configurar el Google Cloud proyecto de servicio

  1. Habilita la API del servicio Google Cloud que estés usando.
  2. Para configurar el Google Cloud servicioPUSH, usa el servicio Directorio de servicios del proyecto Directorio de servicios.

Si usas Controles de Servicio de VPC, el perímetro de Controles de Servicio de VPC permite que Service Directory se conecte tanto al proyecto de red como al proyecto de Service Directory.

Usar el acceso a redes privadas de Directorio de servicios con Dialogflow

Para obtener instrucciones sobre cómo usar el acceso a la red privada de Service Directory con Dialogflow, consulta Usar Service Directory para acceder a la red privada.

Siguientes pasos