Habilita una red de VPC para producir tráfico de multicast

En esta página, se describe cómo configurar los recursos en Google Cloud para permitir que los productores de multicast en una red de VPC envíen tráfico de multicast para un dominio de multicast 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 en las siguientes secciones.

Confirma que se completaron las configuraciones del dominio y el rango de grupos de multicast

Confirma que se completaron las configuraciones del dominio y el rango de grupos de multicast para los que deseas producir tráfico de multicast, como se describe en la Descripción general de la configuración de multicast. Si es necesario, comunícate con el administrador de multicast del dominio.

Configura tu proyecto

Los procedimientos de esta página requieren que crees recursos de productor de multicast en el proyecto del administrador de multicast. Este proyecto contiene los recursos del dominio y el rango de grupos de multicast.

Configura gcloud CLI para usar el proyecto del administrador de multicast. Como alternativa, puedes usar la --project=MULTICAST_ADMIN_PROJECT marca para cada comando en los siguientes procedimientos.

    gcloud config set project MULTICAST_ADMIN_PROJECT

Reemplaza MULTICAST_ADMIN_PROJECT por el ID del proyecto del administrador de multicast.

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 multicast, habilita la API de networkservices:

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

        gcloud services enable networkconnectivity.googleapis.com
    

Roles obligatorios

Para obtener los permisos que necesitas para configurar los recursos del productor de multicast, 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 el proyecto del administrador de multicast
  • Para crear y administrar reglas de firewall: Administrador de seguridad de Compute (compute.securityAdmin) en el proyecto del administrador de multicast
  • Para crear radios de NCC: Administrador de radios (networkconnectivity.spokeAdmin) en el proyecto del administrador de multicast
  • Para crear recursos de multicast: Administrador de multicast (networkservices.multicastAdmin) en el proyecto del administrador de multicast

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 mediante roles personalizados o cualquier otro rol predefinido.

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

Si el dominio de multicast usa una topología de estrella de NCC en la que hay una o más redes de VPC de productor de multicast independientes, debes completar los pasos de esta sección.

Si el dominio de multicast usa una topología de red de VPC única, o si el dominio de multicast usa una topología de estrella de NCC en la que la red del administrador de multicast también actúa como la red del productor de multicast, puedes omitir este paso y continuar directamente con los pasos para habilitar la red de VPC para producir tráfico de multicast.

Crear red de VPC

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

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

gcloud

  1. Para crear una red de VPC, usa el compute networks create comando.

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

    Reemplaza MULTICAST_PRODUCER_NETWORK por un nombre para la red de VPC del productor de multicast.

  2. Para agregar una o más subredes para alojar productores de multicast, usa el compute networks subnets create comando.

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

    Reemplaza los siguientes valores:

    • SUBNET: un nombre de la subred
    • MULTICAST_PRODUCER_NETWORK: el nombre de la red del productor de multicast que creaste antes
    • PRIMARY_RANGE: el rango IPv4 principal para la subred, en notación CIDR (para obtener más información, consulta Rangos de subredes IPv4)
    • REGION: es la Google Cloud región en la que se crea la subred nueva (debe ser una región que admita multicast, como us-east5)

Agrega reglas de firewall

En esta sección, se describe cómo crear una regla de firewall en la red de VPC del productor de multicast para el tráfico de multicast.

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

Permite el tráfico de multicast de salida

En esta sección, se describe cómo crear una regla de firewall que permita el tráfico de multicast de salida desde la red de VPC.

Todas las redes de VPC tienen una regla de salida de IPv4 predeterminada 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.

Este comando se propaga previamente con un nombre de regla de firewall de ejemplo. Ten en cuenta que el nombre de una regla de firewall debe ser único en un proyecto.

gcloud

Para crear una regla de firewall que permita el tráfico de multicast de salida desde la red de VPC, usa el compute firewall-rules create comando.

gcloud compute firewall-rules create allow-multicast-egress --direction=EGRESS \
   --priority=1000 \
   --network=MULTICAST_PRODUCER_NETWORK \
   --action=ALLOW \
   --rules=udp[:PORT[-PORT]] \
   --destination-ranges=MULTICAST_GROUP_IP_RANGES

Reemplaza los siguientes valores:

  • MULTICAST_PRODUCER_NETWORK: el nombre de la red del productor de multicast que creaste antes
  • PORT: una lista de puertos a los que se aplica la regla de firewall. Google Cloud usa udp para el tráfico de multicast. (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 aplican las conexiones a través de todos los rangos)

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

    De manera opcional, puedes usar --rules=all para permitir todos los protocolos y puertos.

  • MULTICAST_GROUP_IP_RANGES: Los rangos de direcciones IP de los grupos de multicast a los que los productores de multicast envían tráfico (los rangos de direcciones IP de multicast deben ser rangos de direcciones de clase D; por ejemplo, puedes usar 224.0.0.0/4 para permitir todo el tráfico de multicast)

Agrega la red de VPC a un concentrador de NCC

En esta sección, se describe cómo agregar tu red de VPC al concentrador de NCC que creó el administrador de multicast. Para agregar tu red, crea un radio de VPC en el grupo central.

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

gcloud

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

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

Reemplaza los siguientes valores:

  • SPOKE_NAME: un nombre para el radio
  • MULTICAST_ADMIN_PROJECT: el ID del proyecto del administrador de multicast
  • HUB_NAME: el nombre del concentrador de NCC que creó el administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: el nombre de la red del productor de multicast que creaste antes

    Como alternativa, puedes proporcionar el URI de la red del productor de multicast con el siguiente formato: projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_PRODUCER_NETWORK.

  • INCLUDE_RANGES: una lista separada por comas de rangos de direcciones IP para exportar al concentrador

    De forma predeterminada, el radio 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 productores de multicast y cualquier otro rango necesario para la comunicación con otros radios, como para 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.

Habilita una red de VPC para producir tráfico de multicast

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

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

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

Completa los siguientes pasos para cada zona en la que deseas alojar productores de multicast.

gcloud

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

   gcloud network-services multicast-producer-associations create PRODUCER_ASSOCIATION_NAME \
      --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
      --network=projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK \
      --location=ZONE

Reemplaza los siguientes valores:

  • PRODUCER_ASSOCIATION_NAME: un nombre para la asociación de productores de multicast
  • ADMIN_PROJECT: el ID del proyecto del administrador de multicast
  • ZONE: una zona en la que el administrador activó el dominio de multicast y en la que alojas productores de multicast
  • DOMAIN_ACTIVATION_NAME: el nombre de la activación del dominio que creó el administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: la red de VPC que produce tráfico de multicast (ya sea la red del administrador de multicast o una red del productor de multicast independiente, según la topología de multicast del dominio)

API

Para agregar una red de VPC del productor de multicast a un dominio, usa el multicastProducerAssociations.create método.

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations?multicastProducerAssociationId=PRODUCER_ASSOCIATION_NAME
{
  "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
  "network": "projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK"
}

Reemplaza los siguientes valores:

  • PRODUCER_ASSOCIATION_NAME: un nombre para la asociación de productores de multicast
  • ADMIN_PROJECT: el ID del proyecto del administrador de multicast
  • ZONE: una zona en la que el administrador activó el dominio de multicast y en la que alojas productores de multicast
  • DOMAIN_ACTIVATION_NAME: el nombre de la activación del dominio que creó el administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: la red de VPC que produce tráfico de multicast (ya sea la red del administrador de multicast o una red del productor de multicast independiente, según la topología de multicast del dominio)

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

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

Completa los siguientes pasos para cada rango de grupos de multicast y zona en los que deseas producir tráfico de multicast.

gcloud

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

   gcloud network-services multicast-group-producer-activations create GROUP_PRODUCER_ACTIVATION_NAME \
      --multicast-producer-association="projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME" \
      --multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
      --location=ZONE

Reemplaza los siguientes valores:

  • GROUP_PRODUCER_ACTIVATION_NAME: un nombre para la activación del productor de grupos de multicast
  • ADMIN_PROJECT: el ID del proyecto del administrador de multicast
  • ZONE: una zona en la que se activará la red del productor de multicast (la asociación de productores de multicast y la activación del rango de grupos de multicast correspondientes también deben existir en la zona)
  • PRODUCER_ASSOCIATION_NAME: el nombre de la asociación de productores de multicast que creaste antes
  • GROUP_RANGE_ACTIVATION_NAME: el nombre de la activación del rango de grupos de multicast que creó el administrador de multicast

API

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

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupProducerActivations?multicastGroupProducerActivationId=GROUP_PRODUCER_ACTIVATION_NAME
{
  "multicastProducerAssociation": "projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME",
  "multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME"
}

Reemplaza los siguientes valores:

  • GROUP_PRODUCER_ACTIVATION_NAME: un nombre para la activación del productor de grupos de multicast
  • ADMIN_PROJECT: el ID del proyecto del administrador de multicast
  • ZONE: una zona en la que se activará la red del productor de multicast (la asociación de productores de multicast y la activación del rango de grupos de multicast correspondientes también deben existir en la zona)
  • PRODUCER_ASSOCIATION_NAME: el nombre de la asociación de productores de multicast que creaste antes
  • GROUP_RANGE_ACTIVATION_NAME: el nombre de la activación del rango de grupos de multicast que creó el administrador de multicast

Crea instancias de productor de multicast

Si aún no lo hiciste, crea una o más instancias de Compute Engine para ejecutar tu aplicación que produce tráfico de multicast. Consulta lo siguiente:

A diferencia de las instancias de consumidor de multicast, las instancias de productor de multicast no necesitan configurarse para IGMP y pueden enviar tráfico a un grupo de multicast sin unirse al grupo.

¿Qué sigue?