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.
- 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.
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 (puerto443
o80
).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.
- Crea una máquina virtual (VM) o un balanceador de cargas interno en la red de VPC.
- 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.
- 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
- 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 - Haz clic en un espacio de nombres.
- Haz clic en un servicio.
- Haz clic en more_vert y, luego, en Agregar extremo.
- Proporciona un Nombre de extremo.
- Ingresa una dirección IP de IPv4, como
192.0.2.0/24
. - Ingresa un número de puerto, como
443
o80
. - 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.
- También puedes proporcionar un ID de proyecto y el nombre de red específicos en Especificar por proyecto y nombre de red.
- 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, comomy-endpoint
PROJECT_ID
: El ID del proyectoREGION
: La región de Google Cloud que contiene el espacio de nombresNAMESPACE_NAME
: El nombre que le asignaste al espacio de nombres, comomy-namespace
SERVICE_ID
: El ID del servicioIP_ADDRESS
: La dirección IP del extremo, como192.0.2.0/24
PORT_NUMBER
: los puertos en los que se ejecutan los extremos, por lo general,443
o80
NETWORK_PATH
: La URL a la red, comoprojects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME
Configura el proyecto de servicio de Google Cloud
- Habilitar la API de servicio de Google Cloud
- Configura tu servicio de Google Cloud con el servicio del Directorio de servicios que creaste en el proyecto de red.
- 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.
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
- Crea un proyecto, como
my-project
. - Crea una red de VPC, como
VPC-1
(projects/project-number/locations/global/networks/my-network). - Otorga acceso de proxy a la entrada a
VPC-1
o a la subred o VM. - Permite la entrada desde
35.199.192.0/19
. - Crea
VM-1
en la regiónus-central1
enVPC-1
. - Configúralo para ejecutar el servicio en el puerto
P
. - Si prefieres usar HTTPS, asegúrate de haber instalado un certificado de seguridad de la capa de transporte (TLS) de infraestructura pública (PKI).
- Crea un servicio de directorio de servicio
SD-1
enREGION-1
. - Crea un extremo en
SD-1
con una dirección IP interna deVM-1
=10.10.10.10
,P
=443
ynetwork
=projects/project-number/global/networks/my-network
. Para obtener instrucciones detalladas, consulta Cómo crear un extremo con acceso a una red privada configurado. Otorga a la cuenta de servicio de Google Cloud las siguientes funciones de IAM:
servicedirectory.viewer
servicedirectory.pscAuthorizedService
De forma opcional, puedes configurar
VM-2
y agregarEndpoint-2
.
Configura un producto de Google Cloud
- Configura la configuración del producto
CONFIG-1
de Google Cloud, como “Cloud Scheduler, llámame cada minuto”. - Configura una solicitud HTTP.
- Especifica que esa solicitud debería pasar por redes privadas, por ejemplo, a través de
SD-1
. - (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.
Crea un proyecto de red
Asegúrate de que tienes los siguientes permisos de IAM:
servicedirectory.services.resolve
para el servicio de mensajeríaservicedirectory.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.
- Crea una red de VPC, como
VPC-1
(projects/project-number/locations/global/networks/my-network). Habilita el firewall de la red de VPC.
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
- Crea una VM o un balanceador de cargas interno en la red de VPC.
- Crea un servicio de Directorio de servicios que apunte a la VM o a un balanceador de cargas interno en la red de VPC.
- Otorga acceso de
service read
al Directorio de servicios de IAM al servicio de mensajería del proyecto de servicio de Google Cloud. - 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
- Habilita la API para el servicio de mensajería que estés usando.
- Configura el servicio de mensajería
PUSH
con el servicio del Directorio de servicios del proyecto. - 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?
- Configura un extremo del Directorio de servicios.
- 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 Service Connect Connect, consulta Connect Service Connect.
- Para encontrar soluciones a problemas comunes que puedes encontrar cuando usas el Directorio de servicios, consulta Solución de problemas.