El acceso a servicios privados es una conexión privada y segura entre tu red deGoogle Cloud nube privada virtual (VPC) y los servicios gestionados por Google o de terceros. Permite que las instancias de VM de tu red VPC se comuniquen con estos servicios mediante direcciones IP internas, sin exponer el tráfico a la red pública de Internet.
Antes de empezar
Para establecer una conexión privada, debes cumplir los siguientes requisitos previos:
- Debes tener una red de VPC que puedas usar para conectarte a la red del productor de servicios. Las instancias de VM deben usar esta red de VPC para conectarse a los servicios a través de una conexión privada.
- Sigue los pasos que se indican en la página Antes de empezar de la API Live Stream para crear un proyecto Google Cloud configurado correctamente (o elige uno que ya tengas).
Habilitar el acceso privado a servicios para la API Live Stream
El proceso general para configurar el acceso privado a servicios se describe en la documentación de la nube privada virtual. En esta página se adapta el proceso a la API Live Stream.
Habilita la API Service Networking.
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud services enable servicenetworking.googleapis.com
Windows (PowerShell)
gcloud services enable servicenetworking.googleapis.com
Windows (cmd.exe)
gcloud services enable servicenetworking.googleapis.com
Para obtener los permisos que necesitas para configurar una conexión privada, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de red de Compute Engine (
roles/compute.networkAdmin
) en el proyecto Google Cloud en el que se encuentra la red VPC. Para obtener más información sobre cómo conceder roles, consulta el artículo sobre cómo gestionar el acceso.Los permisos necesarios también están disponibles a través de roles personalizados u otros roles predefinidos.
En la red de VPC, asigna un intervalo de IP con nombre mediante el comando
addresses create
como se muestra en los siguientes ejemplos.Para especificar un intervalo de direcciones y una longitud de prefijo, que también es la máscara de subred, usa las marcas
addresses
yprefix-length
. Por ejemplo, para asignar el bloque CIDR 192.168.0.0/13, especifica192.168.0.0
para la dirección y13
para la longitud del prefijo.Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
RESERVED_RANGE_NAME
: nombre del intervalo asignado, comomy-allocated-range
.DESCRIPTION
: descripción del intervalo, comoallocated for my-service
VPC_NETWORK
: el nombre de tu red de VPC, comomy-vpc-network
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --addresses=192.168.0.0 ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --addresses=192.168.0.0 ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
Deberías recibir una respuesta similar a la siguiente:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
Para especificar solo la longitud de un prefijo, usa la marca
prefix-length
. Si omites el intervalo de direcciones, Google Cloud seleccionará automáticamente un intervalo de direcciones sin usar en tu red de VPC. En el siguiente ejemplo se selecciona un intervalo de direcciones IP sin usar con una longitud de prefijo de 13 bits.Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
RESERVED_RANGE_NAME
: nombre del intervalo asignado, comomy-allocated-range
.DESCRIPTION
: descripción del intervalo, comoallocated for my-service
VPC_NETWORK
: el nombre de tu red de VPC, comomy-vpc-network
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
Deberías recibir una respuesta similar a la siguiente:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
En el ejemplo anterior, se crea una conexión privada a Google para que las instancias de VM de la red VPC proporcionada (por ejemplo,
my-vpc-network
) puedan usar el acceso a servicios privados para acceder a los servicios de Google que lo admitan.La API Live Stream requiere la asignación de un bloque CIDR/13 por región. Si tienes previsto usar la API Live Stream en varias regiones, asigna un bloque más grande. En la siguiente tabla se describe el tamaño de bloque recomendado que se debe asignar en función del número de regiones:
Número de regiones valor de la marca prefix-length
1 13 2 12 3-4 11 5-8 10 7-16 9 Crea una conexión privada entre la red del productor de servicios y tu red de VPC:
Crea una conexión privada.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
RESERVED_RANGE_NAME
: el nombre del intervalo asignado que has creado en el paso anteriorVPC_NETWORK
: el nombre de tu red de VPCPROJECT_ID
: el ID de proyecto Google Cloud del proyecto que contiene tu red de VPC
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Windows (PowerShell)
gcloud services vpc-peerings connect ` --service=servicenetworking.googleapis.com ` --ranges=RESERVED_RANGE_NAME ` --network=VPC_NETWORK ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud services vpc-peerings connect ^ --service=servicenetworking.googleapis.com ^ --ranges=RESERVED_RANGE_NAME ^ --network=VPC_NETWORK ^ --project=PROJECT_ID
Deberías recibir una respuesta similar a la siguiente:
Operation "operations/OPERATION_ID" finished successfully.
Este comando crea una operación de larga duración.
Si el comando se ejecuta correctamente, ve al paso siguiente. De lo contrario, comprueba el estado de la operación.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
OPERATION_ID
: el ID de la operación devuelto en el paso anterior
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud services vpc-peerings operations describe \ --name=operations/OPERATION_ID
Windows (PowerShell)
gcloud services vpc-peerings operations describe ` --name=operations/OPERATION_ID
Windows (cmd.exe)
gcloud services vpc-peerings operations describe ^ --name=operations/OPERATION_ID
Deberías recibir una respuesta similar a la siguiente:
Operation "operations/OPERATION_ID" finished successfully.
Opcional: Si usas Controles de Servicio de VPC, debes habilitar VPC-SC para la conexión privada que acabas de crear.
Antes de usar los datos de los comandos que se indican a continuación, haz los siguientes cambios:
VPC_NETWORK
: el nombre de tu red de VPC
Ejecuta el siguiente comando:
Linux, macOS o Cloud Shell
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK
Windows (PowerShell)
gcloud services vpc-peerings enable-vpc-service-controls ` --service=servicenetworking.googleapis.com ` --network=VPC_NETWORK
Windows (cmd.exe)
gcloud services vpc-peerings enable-vpc-service-controls ^ --service=servicenetworking.googleapis.com ^ --network=VPC_NETWORK
Deberías recibir una respuesta similar a la siguiente:
Operation "operations/OPERATION_ID" finished successfully.
(Opcional) Si tienes una red local conectada a tu VPC, puedes configurar la conexión de emparejamiento para que los hosts locales puedan comunicarse con la red del productor del servicio. Para obtener más información, consulta la sección sobre solución de problemas de hosts locales.