Configura el acceso privado a los servicios

El acceso privado a servicios 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 tu red de VPC se comuniquen con estos servicios a través de 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 mediante 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 elige uno existente).

Habilita el acceso a los servicios privados para la API de Live Stream

El proceso general para configurar el acceso privado a servicios 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. Para obtener los permisos que necesitas para configurar una conexión privada, pídele a tu administrador que te otorgue el rol de IAM de 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 roles personalizados o cualquier otro rol predefinido.

  4. En la red de VPC, asigna un rango de IP con nombre con 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 para la dirección y 13 para la longitud de prefijo.

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

    • RESERVED_RANGE_NAME: Es un nombre para el rango asignado, como my-allocated-range.
    • DESCRIPTION: Una descripción para el rango, como allocated for my-service
    • VPC_NETWORK: El nombre de tu 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 automáticamente 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, realiza los siguientes reemplazos:

    • RESERVED_RANGE_NAME: Es un nombre para el rango asignado, como my-allocated-range.
    • DESCRIPTION: Una descripción para el rango, como allocated for my-service
    • VPC_NETWORK: El nombre de tu 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 para llegar a los servicios de Google que la admiten.

    La API de transmisión en vivo 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 que se debe 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, realiza los siguientes reemplazos:

      • RESERVED_RANGE_NAME: 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 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 completa correctamente, continúa con el paso siguiente. De lo contrario, verifica el estado de la operación.

      Antes de usar cualquiera de los datos de comando a continuación, realiza 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. (Opcional) Si usas los Controles del servicio de VPC, debes habilitar VPC-SC para la conexión privada que acabas de crear.

    Antes de usar cualquiera de los datos de comando a continuación, realiza 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. (Opcional) 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. Para obtener más información, consulta la solución de problemas del host local.