Configura el acceso privado a los servicios

El acceso a servicios privados es una conexión privada y segura entre tu red de nube privada virtual (VPC) de Google Cloud y los servicios administrados por Google o de terceros. Permite que las instancias de VM en la red de VPC se comuniquen con estos servicios mediante direcciones IP internas, sin exponer el tráfico a la Internet pública.

Antes de comenzar

Para establecer una conexión privada, completa los siguientes requisitos previos:

  • Debes tener una red de VPC existente 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 comenzar de la API de Live Stream para crear un proyecto de Google Cloud configurado correctamente (o elegir uno existente).

Habilita el acceso privado a servicios para la API de Live Stream

El proceso general para configurar el acceso a los servicios privados se proporciona en la documentación de la nube privada virtual. En esta página, se adapta el proceso a la API de Live Stream.

  1. Instala y configura Google Cloud CLI.

  2. Habilita la API de 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
    

  3. A fin de obtener los permisos que necesitas para configurar una conexión privada, pídele a tu administrador que te otorgue la función de IAM Administrador de red de Compute Engine (roles/compute.networkAdmin) en el proyecto de Google Cloud en el que reside la red de VPC. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

    Los permisos necesarios también están disponibles a través de funciones personalizadas o a través de otras funciones predefinidas.

  4. En la red de VPC, asigna un rango de IP con nombre mediante el comando addresses create como se muestra en los siguientes ejemplos.

    Para especificar un rango de direcciones y una longitud de prefijo, que también es la máscara de subred, usa las marcas addresses y prefix-length. Por ejemplo, para asignar el bloque CIDR 192.168.0.0/13, especifica 192.168.0.0 como la dirección y 13 como la longitud de prefijo.

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • RESERVED_RANGE_NAME: Es un nombre para el rango asignado, como my-allocated-range.
    • DESCRIPTION: Es una descripción para el rango, como allocated for my-service.
    • VPC_NETWORK: Es el nombre de la red de VPC, como my-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 que figura a continuación:

    Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].

    Para especificar solo una longitud de prefijo, usa la marca prefix-length. Cuando omites el rango de direcciones, Google Cloud selecciona de forma automática un rango de direcciones sin usar en tu red de VPC. En el siguiente ejemplo, se selecciona un rango de direcciones IP sin usar con una longitud de prefijo de 13 bits.

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • RESERVED_RANGE_NAME: Es un nombre para el rango asignado, como my-allocated-range.
    • DESCRIPTION: Es una descripción para el rango, como allocated for my-service.
    • VPC_NETWORK: Es el nombre de la red de VPC, como my-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 que figura a continuación:

    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 en la red de VPC proporcionada (por ejemplo, my-vpc-network) puedan usar el acceso privado a servicios y llegar a los servicios de Google que lo admiten.

    La API de Live Stream requiere la asignación de un bloque CIDR/13 por región. Si planeas usar la API de Live Stream en varias regiones, asigna un bloque más grande. En la siguiente tabla, se describe el tamaño de bloque recomendado para asignar según la cantidad de regiones:

    Cantidad de regionesvalor para la marca prefix-length
    113
    212
    3-411
    5-810
    7-169
  5. Crea una conexión privada entre la red del productor de servicios y tu red de VPC:

    1. Crea una conexión privada.

      Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

      • RESERVED_RANGE_NAME: Es el nombre del rango asignado que creaste en el paso anterior.
      • VPC_NETWORK es el nombre de tu red de VPC.
      • PROJECT_ID: El ID del proyecto de 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 que figura a continuación:

      Operation "operations/OPERATION_ID" finished successfully.

      Este comando crea una operación de larga duración (LRO).

    2. Si el comando se ejecuta correctamente, continúa con el siguiente paso. De lo contrario, verifica el estado de la operación.

      Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

      • OPERATION_ID: El ID de la operación que se muestra 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 que figura a continuación:

      Operation "operations/OPERATION_ID" finished successfully.

  6. Si usas los Controles del servicio de VPC, debes habilitar VPC-SC para la conexión privada que acabas de crear (opcional).

    Antes de usar cualquiera de los datos de comando a continuación, haz los siguientes reemplazos:

    • VPC_NETWORK es 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 que figura a continuación:

    Operation "operations/OPERATION_ID" finished successfully.

  7. Si tienes una red local conectada a la VPC, puedes configurar la conexión de intercambio de tráfico para que los hosts locales puedan comunicarse con la red del productor de servicios (opcional). Para obtener más información, consulta la solución de problemas del host local.