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 usando direcciones IP internas, sin exponer el tráfico al por 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 API de Live Stream Antes de comenzar para crear un proyecto de Google Cloud configurado correctamente (o elegir uno existente).

Habilita el acceso a 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 establecer una conexión privada, pide tu administrador que te otorgue el Administrador de red de Compute Engine (roles/compute.networkAdmin) Rol de IAM en el proyecto de Google Cloud en el que de VPC de Google Cloud. 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 y otros roles predefinidos.

  4. En la red de VPC, asigna un rango de IP con nombre mediante el 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 asigna el bloque CIDR 192.168.0.0/13, especifica 192.168.0.0 para el y 13 para la longitud del prefijo.

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

    • RESERVED_RANGE_NAME: Es un nombre para la 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 rango de direcciones, Google Cloud selecciona automáticamente un nodo un rango de direcciones IP en tu red de VPC. En el siguiente ejemplo, se selecciona Rango de direcciones IP 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 la 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 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 describen las 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, 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: Es el ID del proyecto de Google Cloud de la 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 de forma correcta, continúa con el siguiente paso. De lo contrario, revisa el 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. 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. Si tienes una red local conectada a tu VPC, puedes hacer lo siguiente (opcional) 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.