Configura el acceso a la red privada

Para configurar el acceso a la red privada de modo que el tráfico se ejecute dentro de una red de Google Cloud, debes configurar el proyecto que posee la red de VPC, el proyecto del Directorio de servicios y el proyecto de servicio de Google Cloud que eres. Estos tres proyectos pueden ser iguales o separados.

  • Proyecto de red es el proyecto de la red de VPC.
  • El proyecto del Directorio de servicios es el proyecto del servicio del Directorio de servicios. Este proyecto puede ser un proyecto de servicio en la red de VPC compartida del proyecto de red.
  • El proyecto de servicio de Google Cloud es el proyecto que tiene la configuración que invoca el acceso a la red privada. Por ejemplo, una configuración de servicio de Google Cloud.

Antes de comenzar

En este procedimiento, se da por sentado que completaste los siguientes pasos.

  • Habilita las API a las que deseas acceder a través de la página de API y servicios en Google Cloud Console, incluida la API del Directorio de servicios.
  • Las instancias de VM en una red de VPC deben tener una dirección IP privada.
  • Para los hosts locales, debes tener un túnel de Cloud VPN existente o una conexión de Cloud Interconnect a tu red de VPC.

Configura el proyecto de red

Sigue estos pasos para configurar el proyecto de red.

  1. Crea o usa una red de VPC existente. Se admiten las redes de VPC en modo automático y personalizado. No se admiten las redes heredadas.
  2. Si el destino de destino es una VM de Compute Engine o un backend del balanceador de cargas interno, debes permitir la entrada a través del firewall de VPC para el acceso privado a la red. Los objetivos deben permitir la entrada de TCP desde 35.199.192.0/19 en el puerto adecuado (puerto 443 o 80).

  3. Otorga acceso de red al Directorio de servicios de administración de identidades y accesos (IAM) al proyecto de servicio de Google Cloud. Ten en cuenta que el proyecto de Google Cloud debe estar en el perímetro de los Controles del servicio de VPC del servicio de Google Cloud y del proyecto del Directorio de servicios para servicedirectory.googleapis.com.

    Para obtener más información sobre los controles del servicio de VPC, consulta la página de descripción general de los controles del servicio de VPC.

Configura el proyecto del Directorio de servicios

Sigue estos pasos para configurar el proyecto del Directorio de servicios.

  1. Crea una máquina virtual (VM) o un balanceador de cargas interno en la red de VPC.
  2. Crea un servicio de Directorio de servicios que apunte a la VM o al balanceador de cargas interno que creaste en la red de VPC.
  3. Otorga a la red del Directorio de servicios de IAM acceso a la cuenta de servicio de Google Cloud. Para obtener más información sobre las funciones y los permisos, consulta Funciones y permisos del Directorio de servicios.

Crea un extremo con acceso a red privada

Para crear un extremo con un acceso privado a la red configurado, haz lo siguiente:

Console

  1. Ve a la página Espacios de nombres del directorio de servicios en Google Cloud Console.
    Ir a la página Espacios de nombres del directorio de servicios
  2. Haz clic en un espacio de nombres.
  3. Haz clic en un servicio.
  4. Haz clic en y, luego, en Agregar extremo.
  5. Proporciona un Nombre de extremo.
  6. Ingresa una dirección IP de IPv4, como 192.0.2.0/24.
  7. Ingresa un número de puerto, como 443 o 80.
  8. Para habilitar el acceso privado a la red, haz clic en Elegir de la lista para elegir una lista de redes disponibles en Red de VPC asociada.
  9. También puedes proporcionar un ID de proyecto y el nombre de red específicos en Especificar por proyecto y nombre de red.
  10. Haga clic en Crear.

gcloud

Ejecuta el comando gcloud beta service-directory endpoints create con el ID del proyecto y la ruta de red especificada.

gcloud beta 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 creas 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: El nombre que le asignaste al espacio de nombres, como my-namespace
  • SERVICE_ID: El ID del servicio
  • IP_ADDRESS: La dirección IP del extremo, como 192.0.2.0/24
  • PORT_NUMBER: los puertos en los que se ejecutan los extremos, por lo general, 443 o 80
  • NETWORK_PATH: La URL a la red, como projects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME

Configura el proyecto de servicio de Google Cloud

  1. Habilitar la API de servicio de Google Cloud
  2. Configura tu servicio de Google Cloud con el servicio del Directorio de servicios que creaste en el proyecto de red.
  3. Si usas los Controles del servicio de VPC, asegúrate de que el perímetro de los Controles del servicio de VPC permita que el Directorio de servicios acceda al proyecto de red y al proyecto de Directorio de servicios.

Casos de uso

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

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

Puedes configurar un producto de Google Cloud para que llame a un extremo HTTP en tu VM. Este tráfico no debe transferir el transporte público por Internet.

En esta configuración, tienes un proyecto con una red de VPC, una VM, un servicio del Directorio de servicios y el servicio de Google Cloud en el mismo proyecto.

Permite la configuración de un servicio de Google de proyecto de salida a una VM del proyecto de red que reside en la red de VPC de un proyecto de servicio de Google Cloud
Permite que la configuración del servicio de Google de un proyecto regrese a una VM de proyecto de red que se encuentre en la red de VPC de un proyecto de servicio de Google Cloud (haz clic para ampliar)

Para configurar tu producto de Google Cloud con un acceso privado a la red, sigue estos pasos.

Configura tu red y la red de destino

  1. Crea un proyecto, como my-project.
  2. Crea una red de VPC, como VPC-1 (projects/project-number/locations/global/networks/my-network).
  3. Otorga acceso de proxy a la entrada a VPC-1 o a la subred o VM.
  4. Permite la entrada desde 35.199.192.0/19.
  5. Crea VM-1 en la región us-central1 en VPC-1.
  6. Configúralo para ejecutar el servicio en el puerto P.
  7. Si prefieres usar HTTPS, asegúrate de haber instalado un certificado de seguridad de la capa de transporte (TLS) de infraestructura pública (PKI).
  8. Crea un servicio de directorio de servicio SD-1 en REGION-1.
  9. Crea un extremo en SD-1 con una dirección IP interna de VM-1=10.10.10.10, P=443 y network=projects/project-number/global/networks/my-network. Para obtener instrucciones detalladas, consulta Cómo crear un extremo con acceso a una red privada configurado.
  10. Otorga a la cuenta de servicio de Google Cloud las siguientes funciones de IAM:

    • servicedirectory.viewer
    • servicedirectory.pscAuthorizedService
  11. De forma opcional, puedes configurar VM-2 y agregar Endpoint-2.

Configura un producto de Google Cloud

  1. Configura la configuración del producto CONFIG-1 de Google Cloud, como “Cloud Scheduler, llámame cada minuto”.
  2. Configura una solicitud HTTP.
  3. Especifica que esa solicitud debería pasar por redes privadas, por ejemplo, a través de SD-1.
  4. (Opcional) Configura las opciones del servicio de autoridad certificada.

Ahora, el producto de Google Cloud puede invocar la solicitud HTTP mediante SD-1.

Llama a un extremo HTTP cuando una red de VPC, una VM y un Directorio de servicios están en diferentes proyectos

En esta configuración de ejemplo, quieres configurar un servicio de Google Cloud, como Eventos, Tasks o Pub/Sub, para llamar a un extremo HTTP en tu VM. En este ejemplo, el proyecto del Directorio de servicios, el proyecto de red y los proyectos de servicio de Google Cloud son diferentes. Este tráfico no debe enviar el transporte público a través de la Internet pública. De manera opcional, esta invocación de la API debe respetar el perímetro de los Controles del servicio de VPC.

En este caso, la configuración del proyecto de servicio de Google Cloud habilita la salida a una VM de proyecto de servicio de Google Cloud, que reside en la red de VPC del proyecto de red.

El proyecto de servicio de Google Cloud puede ser diferente del proyecto del productor. Se usan los perímetros de los Controles del servicio de VPC de ambos proyectos.

Envía tráfico mediante un acceso privado a la red con los perímetros de los Controles del servicio de VPC aplicados
Envía tráfico mediante el acceso privado a la red con perímetros de los Controles del servicio de VPC aplicados (haz clic para ampliar)

Crea un proyecto de red

Asegúrate de que tienes los siguientes permisos de IAM:

  • servicedirectory.services.resolve para el servicio de mensajería
  • servicedirectory.networks.access para la red

Ten en cuenta lo siguiente:

  • El proyecto del Directorio de servicios y el proyecto de red no necesitan estar conectados, pero deben formar parte de los mismos Controles del servicio de VPC.
  • El firewall y la IAM están inhabilitados de forma predeterminada en la red y el servicio.

Para crear el proyecto de red, sigue estos pasos.

  1. Crea una red de VPC, como VPC-1 (projects/project-number/locations/global/networks/my-network).
  2. Habilita el firewall de la red de VPC.

  3. Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC le permite a Service Directory conectarse al proyecto de servicio de Google Cloud y al proyecto de Directorio de servicios.

Configura el proyecto del Directorio de servicios

  1. Crea una VM o un balanceador de cargas interno en la red de VPC.
  2. Crea un servicio de Directorio de servicios que apunte a la VM o a un balanceador de cargas interno en la red de VPC.
  3. Otorga acceso de service read al Directorio de servicios de IAM al servicio de mensajería del proyecto de servicio de Google Cloud.
  4. Si usas los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC le permite a Service Directory conectarse al proyecto de servicio de Google Cloud y al proyecto de Directorio de servicios.

Configura el proyecto de servicio de Google Cloud

  1. Habilita la API para el servicio de mensajería que estés usando.
  2. Configura el servicio de mensajería PUSH con el servicio del Directorio de servicios del proyecto.
  3. Si se usan los Controles del servicio de VPC, el perímetro de los Controles del servicio de VPC le permite a Service Directory conectarse al proyecto de red y al del Directorio de servicios.

¿Qué sigue?