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

En esta página, se describen los pasos necesarios para configurar los recursos en Google Cloud de modo que los consumidores de multicast en una red de VPC puedan recibir tráfico de multicast de 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 que se describen en esta sección.

Confirma que el dominio de multicast, el rango de grupos y las configuraciones del productor estén completos

Confirma que el dominio de multicast, el rango de grupos de multicast y las configuraciones del productor de multicast para los que deseas consumir tráfico de multicast estén completos 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

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 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 consumidor 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 tu proyecto
  • Para crear y administrar reglas de firewall: Administrador de seguridad de Compute (compute.securityAdmin) en tu proyecto
  • Para crear radios de NCC: Administrador de radios (networkconnectivity.spokeAdmin) en tu proyecto
  • Para proponer radios de NCC al concentrador asociado con un dominio de multicast: Usuario de grupo (networkconnectivity.groupUser) en el proyecto del administrador de multicast
  • Para crear recursos de multicast: Administrador de multicast (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 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 en estrella de NCC en la que hay redes de VPC del consumidor 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, entonces puedes omitir esta sección y continuar directamente con los pasos para habilitar la red de VPC para consumir 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 consumir 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. Crea una red de VPC con el compute networks create comando.

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

    Reemplaza MULTICAST_CONSUMER_NETWORK por un nombre para la red del consumidor de multicast.

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

    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: Es el nombre de la red del consumidor de multicast que creaste antes.
    • PRIMARY_RANGE: Es 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 reglas de firewall en la red de VPC del consumidor de multicast para el tráfico de multicast.

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

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

Permite el tráfico de multicast de entrada

gcloud

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

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: Es el nombre de la red del consumidor de multicast que creaste antes.
  • PORT: Es 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.

  • MULTICAST_PRODUCER_RANGE: Es el rango CIDR de la red de VPC del productor de multicast, que se usa para asignar direcciones IP a los productores de multicast. Como alternativa, 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 CIDR de los grupos de multicast a los que los productores de multicast 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 multicast.

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 multicast desde el rango de la red del consumidor de multicast, 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 multicast 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: Es el nombre de la red del consumidor de multicast que creaste antes.
  • MULTICAST_CONSUMER_RANGE: Es el rango CIDR de la red del consumidor de multicast, que se usa para asignar direcciones IP a los consumidores de multicast.

Permite 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 JOIN y LEAVE de IGMP desde los consumidores de multicast.

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.

gcloud

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

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: Es el nombre de la red del consumidor de multicast que creaste antes.
  • RANGES_FOR_JOIN_AND_LEAVE: Es una lista separada por comas de lo siguiente:

    • Los rangos 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 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 edge.

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

gcloud

  1. Para agregar tu red de VPC como un radio perimetral 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 \
        --vpc-network=MULTICAST_CONSUMER_NETWORK \
        --group="edge" \
        --global \
        --include-export-ranges=INCLUDE_RANGES
    

    Reemplaza los siguientes valores:

    • SPOKE_NAME: Es un nombre para el radio perimetral.
    • MULTICAST_ADMIN_PROJECT: Es el ID del proyecto del administrador de multicast.
    • HUB: Es el nombre del concentrador de NCC que creó el administrador de multicast. Tu red de VPC del consumidor de multicast debe conectarse 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 multicast para obtener el nombre del concentrador.

    • MULTICAST_CONSUMER_NETWORK: Es el nombre de la red del consumidor de multicast que creaste antes.

      Como alternativa, puedes proporcionar el URI de la red del consumidor de multicast con el siguiente formato: projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: Es 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 consumidores de multicast y cualquier otro rango necesario para la comunicación con los radios en el grupo central, 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.

  2. Comunícate con el administrador de multicast para notificarle que propusiste un radio de VPC al concentrador.

    Si el concentrador está en un proyecto diferente, el administrador de multicast debe aprobar explícitamente tu radio antes de que se active, a menos que el administrador de multicast 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 consumir tráfico de multicast

En esta sección, se describen los pasos necesarios para habilitar a los consumidores de multicast en una red de VPC para recibir tráfico de multicast 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 mediante la creación de una asociación del consumidor de multicast entre la red y el dominio.

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

gcloud

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

   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 del consumidor de multicast.
  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multicast.
  • 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 multicast.
  • MULTICAST_CONSUMER_PROJECT y MULTICAST_CONSUMER_NETWORK: Son el proyecto y la red que consumen tráfico de multicast. El proyecto y la red del administrador de multicast o 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 del consumidor de multicast a un dominio, usa el multicastConsumerAssociations.create método.

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 del consumidor de multicast.
  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multicast.
  • 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 multicast.
  • MULTICAST_CONSUMER_PROJECT y MULTICAST_CONSUMER_NETWORK: Son el proyecto y la red que consumen tráfico de multicast. El proyecto y la red del administrador de multicast o 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 del consumidor de multicast para un rango de grupos.

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

Después de completar este paso, los consumidores de multicast en la red pueden unirse a las direcciones IP del grupo de multicast 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 network-services multicast-group-consumer-activations create comando.

   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 multicast.
  • CONSUMER_PROJECT: Es el ID de tu proyecto. Puede ser el proyecto del administrador de multicast o un proyecto del consumidor de multicast independiente, según la topología del dominio de multicast.

  • ZONE: Es la zona en la que se activará la red del consumidor de multicast. También debe ser una zona en la que el administrador activó el rango de grupos de multicast.

  • CONSUMER_ASSOCIATION_NAME: Es el nombre de la asociación del consumidor de multicast que creaste antes.

  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multicast.

  • GROUP_RANGE_ACTIVATION_NAME: Es el nombre de la activación del rango de grupos que creó el administrador de multicast.

  • --[no-]enable-logging: Es opcional y determina si está habilitado el registro de eventos de pertenencia a un 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 multicastGroupConsumerActivations.create método.

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 multicast.
  • CONSUMER_PROJECT: Es el ID de tu proyecto. Puede ser el proyecto del administrador de multicast o un proyecto del consumidor de multicast independiente, según la topología del dominio de multicast.
  • ZONE: Es la zona en la que se activará la red del consumidor de multicast. También debe ser una zona en la que el administrador activó el rango de grupos de multicast.
  • CONSUMER_ASSOCIATION_NAME: Es el nombre de la asociación del consumidor de multicast que creaste antes.
  • ADMIN_PROJECT: Es el ID del proyecto del administrador de multicast.
  • GROUP_RANGE_ACTIVATION_NAME: Es el nombre de la activación del rango de grupos que creó el administrador de multicast.
  • LOGGING_ENABLED: Determina si está habilitado el registro de eventos de pertenencia a un grupo.
    • Para habilitar el registro, establece el valor en true.
    • (Predeterminado) Para inhabilitar el registro, establece el valor en false.

Crea instancias del consumidor de multicast

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 multicast. Para crear una instancia del consumidor de multicast o configurar una instancia existente para que sea un consumidor de multicast, consulta Configura instancias del consumidor de multicast.

¿Qué sigue?