Habilita una red de VPC para que consuma tráfico de multicast

En esta página, se describen los pasos necesarios para configurar recursos enGoogle Cloud , de modo que los consumidores de multidifusión en una red de VPC puedan recibir tráfico de multidifusión de un dominio de multidifusión determinado y uno o más rangos de grupos.

Antes de comenzar

Antes de comenzar los procedimientos de esta página, debes completar los requisitos previos que se describen en esta sección.

Confirma que la configuración del dominio de multidifusión, el rango de grupos y el productor estén completos

Confirma que el dominio de multicast, el rango de grupos de multicast y los parámetros de configuración del productor de multicast para los que deseas consumir tráfico de multicast estén completos, como se describe en el Resumen de la configuración de multicast. Si es necesario, comunícate con el administrador de transmisión multidifusión del dominio.

Configura tu proyecto

Configura gcloud CLI para usar el proyecto de la red de VPC del consumidor de multicast. Como alternativa, puedes pasar la marca --project=PROJECT para cada comando en los siguientes procedimientos.

    gcloud config set project PROJECT

Reemplaza PROJECT por el ID de tu proyecto.

Habilita las APIs

Si aún no lo hiciste, habilita las siguientes APIs.

Para habilitar las APIs, necesitas el permiso serviceusage.services.enable. Si no tienes este permiso, pídele a tu administrador de Identity and Access Management (IAM) que te otorgue el rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin).

  1. Para crear recursos de transmisión simultánea, habilita la API de networkservices:

        gcloud services enable networkservices.googleapis.com
    
  2. Para crear un radio de VPC de Network Connectivity Center, habilita la API de networkconnectivity:

        gcloud services enable networkconnectivity.googleapis.com
    

Roles obligatorios

Para obtener los permisos que necesitas para configurar recursos de consumidor de transmisión multidifusión, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Para crear y administrar recursos de red: Administrador de red de Compute (compute.networkAdmin) en tu proyecto
  • Para crear y administrar reglas de firewall: Administrador de seguridad de Compute (compute.securityAdmin) en tu proyecto
  • Para crear radios de Network Connectivity Center: Administrador de radio (networkconnectivity.spokeAdmin) en tu proyecto
  • Para proponer radios de Network Connectivity Center al concentrador asociado con un dominio de transmisión por multidifusión, haz lo siguiente: Usuario del grupo (networkconnectivity.groupUser) en el proyecto del administrador de multidifusión
  • Para crear recursos de transmisión por multidifusión, debes tener el rol de Administrador de transmisión por multidifusión (networkservices.multicastAdmin) en tu proyecto.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crea una red de VPC y agrégala a un concentrador

Si el dominio de transmisión de multidifusión usa una topología de estrella de Network Connectivity Center en la que hay redes de VPC de consumidores de multidifusión independientes, debes completar los pasos de esta sección.

Si el dominio de multidifusión usa una sola topología de red de VPC, puedes omitir esta sección y continuar directamente con los pasos para habilitar la red de VPC para que consuma tráfico de multidifusión.

Crear red de VPC

En esta sección, se describe cómo crear una red de nube privada virtual (VPC) para consumir tráfico de multidifusión.

Para obtener más información sobre la creación de redes de VPC, consulta Crea y administra redes de VPC.

gcloud

  1. Crea una red de VPC con el comando compute networks create.

    gcloud compute networks create MULTICAST_CONSUMER_NETWORK --subnet-mode=custom
    

    Reemplaza MULTICAST_CONSUMER_NETWORK por un nombre para la red de consumidores de transmisión multidifusión.

  2. Agrega una o más subredes para alojar consumidores de transmisión de multidifusión con el comando compute networks subnets create.

    gcloud compute networks subnets create SUBNET
       --network=MULTICAST_CONSUMER_NETWORK \
       --range=PRIMARY_RANGE \
       --region=REGION
    

    Reemplaza los siguientes valores:

    • SUBNET: Es el nombre de la subred.
    • MULTICAST_CONSUMER_NETWORK: El nombre de la red de consumidores de transmisión de múltiples destinatarios que creaste anteriormente
    • PRIMARY_RANGE: Es el rango IPv4 principal de la subred, en notación CIDR. Para obtener más información, consulta Rangos de subredes IPv4.
    • REGION: es la región Google Cloud en la que se crea la subred nueva. Debe ser una región que admita la transmisión multidifusión, como us-east5.

Agrega reglas de firewall

En esta sección, se describe cómo crear reglas de firewall en la red de VPC del consumidor de multidifusión para el tráfico de multidifusión.

Para crear reglas de firewall adicionales, como para SSH, consulta Crea reglas de firewall de VPC.

Los comandos se completan previamente con nombres de ejemplo de reglas de firewall. Ten en cuenta que el nombre de una regla de firewall debe ser único en un proyecto.

Permite el tráfico de multidifusión de entrada

gcloud

Para crear una regla de firewall que permita el tráfico de entrada de multidifusión a tu red de VPC desde la red del productor de multidifusión, usa el comando compute firewall-rules create.

gcloud compute firewall-rules create allow-multicast-traffic-ingress \
   --direction=INGRESS \
   --priority=1000 \
   --network=MULTICAST_CONSUMER_NETWORK \
   --action=ALLOW \
   --rules=udp[:PORT[-PORT]] \
   --source-ranges=MULTICAST_PRODUCER_RANGE \
   --destination-ranges=MULTICAST_GROUP_IP_RANGES

Reemplaza los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: El nombre de la red de consumidores de transmisión de múltiples destinatarios que creaste anteriormente
  • PORT: Es una lista de puertos a los que se aplica la regla de firewall. Google Cloud usa udp para el tráfico de multidifusión. Se puede especificar un puerto o un rango de puertos después del protocolo al que se aplica la regla de firewall en el tráfico a través de puertos específicos. Si no se especifica ningún puerto o rango de puertos, se aplicarán las conexiones a través de todos los rangos.

    Por ejemplo, especifica --rules=udp:1234 para permitir el tráfico de multidifusión a través del puerto 1234.

  • MULTICAST_PRODUCER_RANGE: Es el rango de CIDR de la red de VPC del productor de multidifusión, que se usa para asignar direcciones IP a los productores de multidifusión. También puedes omitir la marca --source-ranges, que establece la fuente de entrada en cualquier dirección IPv4 (0.0.0.0/0).

  • MULTICAST_GROUP_IP_RANGES: Son los rangos de CIDR de los grupos de multidifusión a los que los productores de multidifusión envían tráfico. Debe ser un rango de direcciones de clase D. Por ejemplo, puedes usar 224.0.0.0/4 para permitir todo el tráfico de multidifusión.

Permite la consulta IGMP de entrada

gcloud

Para crear una regla de firewall que permita el tráfico de consultas IGMP de entrada a la red de VPC del consumidor de multidifusión desde el rango de redes del consumidor de multidifusión, usa el comando compute firewall-rules create.

El siguiente comando incluye lo siguiente:

  • --destination-ranges=224.0.0.1/32 para especificar la dirección IP del grupo de multidifusión que representa a todos los hosts de esta subred.
  • --rules=2 para especificar IGMP
gcloud compute firewall-rules create allow-multicast-igmp-ingress \
    --direction=INGRESS \
    --priority=1000 \
    --network=MULTICAST_CONSUMER_NETWORK \
    --action=ALLOW \
    --rules=2 \
    --source-ranges=MULTICAST_CONSUMER_RANGE \
    --destination-ranges=224.0.0.1/32

Reemplaza los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: El nombre de la red de consumidores de transmisión de múltiples destinatarios que creaste anteriormente
  • MULTICAST_CONSUMER_RANGE: Es el rango de CIDR de la red de consumidores de multidifusión que se usa para asignar direcciones IP a los consumidores de multidifusión.

Permitir IGMP de salida

En esta sección, se describe cómo crear una regla de firewall que permita el tráfico IGMP de salida para que puedas enviar mensajes IGMP JOIN y LEAVE desde los consumidores de multidifusión.

Todas las redes de VPC tienen una regla de salida predeterminada de IPv4 con la prioridad más baja (65535). Si no hay una regla de mayor prioridad que bloquee explícitamente el tráfico de salida, no es necesario que completes este paso. Para obtener más información, consulta Reglas implícitas.

gcloud

Para crear una regla de firewall que permita el tráfico IGMP de multidifusión de salida desde la red de VPC del consumidor de multidifusión, usa el comando compute firewall-rules create.

gcloud compute firewall-rules create allow-multicast-igmp-egress \
    --direction=EGRESS \
    --priority=1000 \
    --network=MULTICAST_CONSUMER_NETWORK \
    --action=ALLOW \
    --rules=2 \
    --destination-ranges=RANGES_FOR_JOIN_AND_LEAVE

Reemplaza los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: El nombre de la red de consumidores de transmisión de múltiples destinatarios que creaste anteriormente
  • RANGES_FOR_JOIN_AND_LEAVE: Es una lista separada por comas de los siguientes elementos:

    • Son los rangos de CIDR de los grupos de multicast a los que deben unirse los consumidores de multicast. Debes usar rangos de direcciones de clase D.
    • La dirección IP de Todos los routers: 224.0.0.2/32 Este rango es obligatorio para enviar mensajes de salida de IGMP.

    Como alternativa, puedes especificar 224.0.0.0/4 para permitir todo el tráfico de multidifusión.

Agrega la red de VPC a un concentrador de Network Connectivity Center

En esta sección, se describe cómo agregar tu red de VPC al concentrador de Network Connectivity Center que creó el administrador de multidifusión. Para agregar tu red, crea un radio de VPC en el grupo edge.

Para obtener más información, consulta Topología de estrella y Crea un radio de VPC en la documentación de Network Connectivity Center.

gcloud

  1. Para agregar tu red de VPC como un radio perimetral a un concentrador, usa el comando network-connectivity spokes linked-vpc-network create.

      gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
        --hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB \
        --vpc-network=MULTICAST_CONSUMER_NETWORK \
        --group="edge" \
        --global \
        --include-export-ranges=INCLUDE_RANGES
    

    Reemplaza los siguientes valores:

    • SPOKE_NAME: Es el nombre del radio perimetral.
    • MULTICAST_ADMIN_PROJECT: ID del proyecto del administrador de multidifusión
    • HUB: Es el nombre del concentrador de Network Connectivity Center que creó el administrador de transmisión de multidifusión. Tu red de VPC del consumidor de multicast debe adjuntarse al mismo concentrador que las redes de VPC del administrador de multicast y del productor de multicast. Si es necesario, comunícate con el administrador de transmisión simultánea para obtener el nombre del concentrador.

    • MULTICAST_CONSUMER_NETWORK: El nombre de la red de consumidores de transmisión de múltiples destinatarios que creaste anteriormente

      Como alternativa, puedes proporcionar el URI de la red de consumidores de multidifusión con el siguiente formato: projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: Es una lista separada por comas de los rangos de direcciones IP que se exportarán al concentrador.

      De forma predeterminada, la conexión radial exporta todos los rangos de subredes. Para evitar la superposición con otros radios en el concentrador, puedes especificar qué rangos de subredes exportar. Si especificas rangos de subredes, asegúrate de incluir los rangos que alojan consumidores de multidifusión y cualquier otro rango necesario para la comunicación con los radios del grupo central, como el tráfico de unidifusión.

      Google Cloud prohíbe las superposiciones de subredes en los radios de VPC, como se describe en Unicidad de la ruta de subred. Para obtener más información sobre el uso de filtros de exportación para evitar la superposición, consulta Conectividad de VPC con filtros de exportación.

  2. Comunícate con el administrador de multidifusión para notificarle que propusiste un radio de VPC para el concentrador.

    Si el concentrador está en un proyecto diferente, el administrador de transmisión de múltiples destinatarios debe aprobar explícitamente tu radio antes de que se active, a menos que el administrador de transmisión de múltiples destinatarios haya agregado tu proyecto como un proyecto de aceptación automática.

    Para verificar el estado de un radio después de crearlo, consulta Verifica el estado de un radio de VPC.

Habilita una red de VPC para que consuma tráfico de multicast

En esta sección, se describen los pasos necesarios para habilitar los receptores de multidifusión en una red de VPC para que reciban tráfico de multidifusión de un dominio determinado y uno o más rangos de grupos.

Agrega la red de VPC del consumidor de multicast a un dominio

En esta sección, se describe cómo agregar una red de VPC del consumidor de multicast a un dominio creando una asociación de consumidor de multicast entre la red y el dominio.

Completa los siguientes pasos para cada zona en la que quieras alojar consumidores de transmisión simultánea.

gcloud

Para agregar una red de VPC del consumidor de multicast a un dominio, usa el comando network-services multicast-consumer-associations create.

   gcloud network-services multicast-consumer-associations create CONSUMER_ASSOCIATION_NAME \
      --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
      --network="projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK" \
      --location=ZONE

Reemplaza los siguientes valores:

  • CONSUMER_ASSOCIATION_NAME: Es un nombre para la asociación de consumidores de multicast.
  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multidifusión.
  • ZONE: Es una zona en la que el administrador activó el dominio de multicast y en la que debes alojar los consumidores de multicast.
  • DOMAIN_ACTIVATION_NAME: Es el nombre de la activación del dominio que creó el administrador de multidifusión.
  • MULTICAST_CONSUMER_PROJECT y MULTICAST_CONSUMER_NETWORK: Son el proyecto y la red que consumen tráfico de multidifusión. El proyecto y la red del administrador de multicast, o bien un proyecto y una red del consumidor de multicast independientes, según la topología de multicast del dominio.

API

Para agregar una red de VPC de consumidor de transmisión de múltiples destinatarios a un dominio, usa el método multicastConsumerAssociations.create.

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations?multicastConsumerAssociationId=CONSUMER_ASSOCIATION_NAME
{
  "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
  "network": "projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK"
}

Reemplaza los siguientes valores:

  • CONSUMER_ASSOCIATION_NAME: Es un nombre para la asociación de consumidores de multicast.
  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multidifusión.
  • ZONE: Es una zona en la que el administrador activó el dominio de multicast y en la que necesitas alojar consumidores de multicast.
  • DOMAIN_ACTIVATION_NAME: Es el nombre de la activación del dominio que creó el administrador de multidifusión.
  • MULTICAST_CONSUMER_PROJECT y MULTICAST_CONSUMER_NETWORK: Son el proyecto y la red que consumen tráfico de multidifusión. El proyecto y la red del administrador de multicast, o bien un proyecto y una red del consumidor de multicast independientes, según la topología de multicast del dominio.

Activa la red de VPC del consumidor de multicast para un rango de grupos

En esta sección, se describe cómo activar una red de VPC de consumidor de multicast para un rango de grupos.

Completa los siguientes pasos para cada rango y zona de grupos de multidifusión para los que desees consumir tráfico de multidifusión.

Después de completar este paso, los consumidores de multidifusión de la red pueden unirse a las direcciones IP del grupo de multidifusión en el rango de grupos especificado, siempre que tengan IGMP configurado.

gcloud

Para activar una red de VPC del consumidor de multicast para un rango de grupos de multicast, usa el comando network-services multicast-group-consumer-activations create.

   gcloud network-services multicast-group-consumer-activations create GROUP_CONSUMER_ACTIVATION_NAME \
      --multicast-consumer-association="projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME" \
      --multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
      --location=ZONE \
      [--enable-logging | --no-enable-logging]

Reemplaza los siguientes valores:

  • GROUP_CONSUMER_ACTIVATION_NAME: Es un nombre para la activación del consumidor del grupo de multidifusión.
  • CONSUMER_PROJECT: Es el ID de tu proyecto. Puede ser el proyecto de administrador de transmisión multidifusión o un proyecto de consumidor de transmisión multidifusión independiente, según la topología del dominio de transmisión multidifusión.

  • ZONE: Es la zona en la que se activará la red de consumidores de transmisión de contenido a varios destinatarios. También debe ser una zona en la que el administrador activó el rango de grupos multicast.

  • CONSUMER_ASSOCIATION_NAME: Es el nombre de la asociación de consumidores de multidifusión que creaste antes.

  • ADMIN_PROJECT: ID del proyecto del administrador de multidifusión

  • GROUP_RANGE_ACTIVATION_NAME: Es el nombre de la activación del rango de grupos que creó el administrador de transmisión simultánea.

  • --[no-]enable-logging: Opcional. Determina si está habilitado el registro de eventos de membresía de grupo.

    • Para habilitar el registro, usa --enable-logging.
    • (Predeterminado) Para inhabilitar el registro, usa --no-enable-logging.

API

Para activar una red de VPC del consumidor de multicast para un rango de grupos de multicast, usa el método multicastGroupConsumerActivations.create.

POST https://networkservices.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/ZONE/multicastGroupConsumerActivations?multicastGroupConsumerActivationId=GROUP_CONSUMER_ACTIVATION_NAME
{
  "multicastConsumerAssociation": "projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME",
  "multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME",
  "logConfig": {
          "enabled": "LOGGING_ENABLED"
    }
}

Reemplaza los siguientes valores:

  • GROUP_CONSUMER_ACTIVATION_NAME: Es un nombre para la activación del consumidor del grupo de multidifusión.
  • CONSUMER_PROJECT: Es el ID de tu proyecto. Puede ser el proyecto de administrador de transmisión multidifusión o un proyecto de consumidor de transmisión multidifusión independiente, según la topología del dominio de transmisión multidifusión.
  • ZONE: Es la zona en la que se activará la red de consumidores de transmisión de contenido a varios destinatarios. También debe ser una zona en la que el administrador activó el rango de grupos multicast.
  • CONSUMER_ASSOCIATION_NAME: Es el nombre de la asociación de consumidores de multidifusión que creaste antes.
  • ADMIN_PROJECT: ID del proyecto del administrador de multidifusión
  • GROUP_RANGE_ACTIVATION_NAME: Es el nombre de la activación del rango de grupos que creó el administrador de transmisión multidifusión.
  • LOGGING_ENABLED: Determina si el registro de eventos de membresía de grupo está habilitado.
    • Para habilitar el registro, establece el valor en true.
    • (Predeterminado) Para inhabilitar el registro, establece el valor en false.

Crea instancias de consumidor de transmisión de contenido a varios destinatarios

Si aún no lo hiciste, crea una o más instancias de Compute Engine para ejecutar tu aplicación que consume tráfico de multidifusión. Para crear una instancia de consumidor de multicast o configurar una instancia existente para que sea un consumidor de multicast, consulta Cómo configurar instancias de consumidor de multicast.

¿Qué sigue?