Habilitar una red de VPC para que consuma tráfico de multidifusión

En esta página se describen los pasos necesarios para configurar recursos enGoogle Cloud de forma que los consumidores de multidifusión de una red VPC puedan recibir tráfico de multidifusión de un dominio de multidifusión y de uno o varios intervalos de grupos.

Antes de empezar

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

Confirma que se han completado las configuraciones de dominio de multidifusión, intervalo de grupos y productor

Confirma que las configuraciones de dominio de multidifusión, intervalo de grupos de multidifusión y productor de multidifusión para las que quieras consumir tráfico de multidifusión se hayan completado tal como se describe en la descripción general de la configuración de multidifusión. Si es necesario, ponte en contacto con el administrador de multidifusión del dominio.

Configurar el proyecto

Configura la CLI de gcloud para que use el proyecto de la red de VPC del consumidor de multidifusión. También puede incluir la marca --project=PROJECT en cada comando de los procedimientos siguientes.

    gcloud config set project PROJECT

Sustituye PROJECT por el ID de tu proyecto.

Habilitar APIs

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

Para habilitar APIs, necesitas el permiso serviceusage.services.enable. Si no tienes este permiso, pide a tu administrador de Gestión de Identidades y Accesos (IAM) que te conceda el rol Administrador de uso de servicios (roles/serviceusage.serviceUsageAdmin).

  1. Para crear recursos de multidifusión, habilita la API networkservices:

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

        gcloud services enable networkconnectivity.googleapis.com
    

Roles obligatorios

Para obtener los permisos que necesitas para configurar recursos de consumidor de multidifusión, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

  • Para crear y gestionar recursos de red: Administrador de red de Compute (compute.networkAdmin) en tu proyecto
  • Para crear y gestionar reglas de cortafuegos, sigue estos pasos: Administrador de seguridad de Compute (compute.securityAdmin) en tu proyecto
  • Para crear radios de Network Connectivity Center, sigue estos pasos: Administrador de radios (networkconnectivity.spokeAdmin) en tu proyecto
  • Para proponer radios de Network Connectivity Center al hub asociado a un dominio multicast, sigue estos pasos: Usuario de grupo (networkconnectivity.groupUser) en el proyecto del administrador multicast
  • Para crear recursos de multidifusión, sigue estos pasos: Administrador de multidifusión (networkservices.multicastAdmin) en tu proyecto

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Crear una red de VPC y añadirla a un hub

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

Si el dominio de multidifusión usa una topología de red de VPC única, puedes saltarte esta sección y pasar directamente a los pasos para habilitar la red de VPC para que consuma tráfico de multidifusión.

Crear una red VPC

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

Para obtener más información sobre cómo crear redes de VPC, consulta el artículo Crear y gestionar 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
    

    Sustituye MULTICAST_CONSUMER_NETWORK por el nombre de la red de consumidores de multidifusión.

  2. Añade una o varias subredes para alojar consumidores 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
    

    Sustituye los siguientes valores:

    • SUBNET: el nombre de la subred
    • MULTICAST_CONSUMER_NETWORK: el nombre de la red de consumidores de multidifusión que has creado anteriormente
    • PRIMARY_RANGE: el intervalo IPv4 principal de la subred, en notación CIDR. Para obtener más información, consulta la sección sobre los intervalos de subred IPv4.
    • REGION: la región en la que se crea la nueva subred. Google Cloud Debe ser una región que admita multidifusión, como us-east5.

Añadir reglas de cortafuegos

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

Para crear reglas de cortafuegos adicionales, como las de SSH, consulta Crear reglas de cortafuegos de VPC.

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

Permitir tráfico de multidifusión de entrada

gcloud

Para crear una regla de cortafuegos que permita el tráfico de multidifusión de entrada 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

Sustituye los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: el nombre de la red de consumidor de multidifusión que has creado anteriormente
  • PORT: lista de puertos a los que se aplica la regla de cortafuegos. Google Cloud usa udp para el tráfico multicast. Se puede especificar un puerto o un intervalo 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 intervalo de puertos, se aplican las conexiones a través de todos los intervalos.

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

  • MULTICAST_PRODUCER_RANGE: el intervalo 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 define la fuente de entrada como cualquier dirección IPv4 (0.0.0.0/0).

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

Permitir consulta IGMP de entrada

gcloud

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

El siguiente comando incluye:

  • --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

Sustituye los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: el nombre de la red de consumidor de multidifusión que has creado anteriormente
  • MULTICAST_CONSUMER_RANGE: intervalo 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 consumidores de multicast.

Todas las redes de VPC tienen una regla de salida predeterminada de IPv4 con la prioridad más baja (65535). Si no hay ninguna 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 cortafuegos 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

Sustituye los siguientes valores:

  • MULTICAST_CONSUMER_NETWORK: el nombre de la red de consumidor de multidifusión que has creado anteriormente
  • RANGES_FOR_JOIN_AND_LEAVE: lista separada por comas de lo siguiente:

    • Los intervalos CIDR de los grupos de multidifusión a los que deben unirse los consumidores de multidifusión. Debes usar intervalos de direcciones de clase D.
    • Dirección IP de Todos los routers: 224.0.0.2/32. Este intervalo es obligatorio para enviar mensajes de salida de IGMP.

    También puedes especificar 224.0.0.0/4 para permitir todo el tráfico multicast.

Añadir la red de VPC a un hub de Network Connectivity Center

En esta sección se describe cómo añadir su red de VPC al eje de Network Connectivity Center que ha creado el administrador de multidifusión. Para añadir tu red, crea una VPC de radio en el grupo perimetral.

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

gcloud

  1. Para añadir tu red de VPC como una spoke perimetral a un centro de conectividad, 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
    

    Sustituye los siguientes valores:

    • SPOKE_NAME: nombre del spoke perimetral
    • MULTICAST_ADMIN_PROJECT: ID del proyecto del administrador de multidifusión
    • HUB: nombre del centro de conectividad de red creado por el administrador de multidifusión. Tu red de VPC de consumidor de multidifusión debe conectarse al mismo centro que las redes de VPC de administrador y de productor de multidifusión. Si es necesario, ponte en contacto con el administrador de multidifusión para obtener el nombre del centro de control.

    • MULTICAST_CONSUMER_NETWORK: el nombre de la red de consumidor de multidifusión que has creado anteriormente

      También puede 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: lista separada por comas de intervalos de direcciones IP que se exportarán al centro.

      De forma predeterminada, el spoke exporta todos los intervalos de subredes. Para evitar que se solapen con otros radios de la configuración de concentrador, puedes especificar qué intervalos de subredes quieres exportar. Si especifica intervalos de subredes, asegúrese de incluir los intervalos que alojan consumidores de multidifusión y cualquier otro intervalo necesario para la comunicación con los radios del grupo central, como el tráfico de unidifusión.

      Google Cloud prohíbe que las subredes se solapen en las VPCs de radio, tal como se describe en Unicidad de las rutas de subred. Para obtener más información sobre cómo usar filtros de exportación para evitar solapamientos, consulta Conectividad de VPC con filtros de exportación.

  2. Ponte en contacto con el administrador de multidifusión para informarle de que has propuesto una VPC de radio al hub.

    Si el centro de control está en otro proyecto, el administrador de multidifusión debe aprobar explícitamente tu spoke para que se active, a menos que haya añadido tu proyecto como proyecto de aceptación automática.

    Para comprobar el estado de un spoke después de crearlo, consulta Comprobar el estado de un spoke de VPC.

Habilitar una red de VPC para que consuma tráfico de multidifusión

En esta sección se describen los pasos necesarios para habilitar los consumidores de multidifusión en una red VPC para que reciban tráfico de multidifusión de un dominio determinado y de uno o varios intervalos de grupos.

Añadir la red de VPC de consumidor de multidifusión a un dominio

En esta sección se describe cómo añadir una red VPC de consumidor de multidifusión a un dominio creando una asociación de consumidor de multidifusión entre la red y el dominio.

Sigue estos pasos con cada zona en la que quieras alojar consumidores de multidifusión.

gcloud

Para añadir una red de VPC de consumidor de multidifusión 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

Sustituye los siguientes valores:

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

API

Para añadir una red de VPC de consumidor de multidifusión 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"
}

Sustituye los siguientes valores:

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

Activar la red de VPC de consumidor de multidifusión para un intervalo de grupos

En esta sección se describe cómo activar una red de VPC de consumidor de multidifusión para un intervalo de grupos.

Sigue estos pasos con cada intervalo de grupos de multidifusión y zona para los que quieras consumir tráfico de multidifusión.

Una vez que hayas completado este paso, los consumidores de multidifusión de la red podrán unirse a las direcciones IP del grupo de multidifusión del intervalo de grupos especificado, siempre que tengan IGMP configurado.

gcloud

Para activar una red de VPC de consumidor de multidifusión en un intervalo de grupos de multidifusión, 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]

Sustituye los siguientes valores:

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

  • ZONE: la zona en la que se activará la red de consumidores de multidifusión. También debe ser una zona en la que el administrador haya activado el intervalo de grupos de multidifusión.

  • CONSUMER_ASSOCIATION_NAME: el nombre de la asociación de consumidores de multicast que has creado anteriormente

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

  • GROUP_RANGE_ACTIVATION_NAME: el nombre de la activación del intervalo del grupo que ha creado el administrador de multidifusión.

  • --[no-]enable-logging: opcional, determina si el registro de eventos de pertenencia a grupos está habilitado.

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

API

Para activar una red de VPC de consumidor de multidifusión en un intervalo de grupos de multidifusión, 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"
    }
}

Sustituye los siguientes valores:

  • GROUP_CONSUMER_ACTIVATION_NAME: nombre de la activación del consumidor del grupo de multidifusión
  • CONSUMER_PROJECT: el ID de tu proyecto. Puede ser el proyecto de administrador de multidifusión o un proyecto de consumidor de multidifusión independiente, en función de la topología del dominio de multidifusión.
  • ZONE: la zona en la que se activará la red de consumidores de multidifusión. También debe ser una zona en la que el administrador haya activado el intervalo de grupos de multidifusión.
  • CONSUMER_ASSOCIATION_NAME: el nombre de la asociación de consumidores de multicast que has creado anteriormente
  • ADMIN_PROJECT: ID del proyecto del administrador de multidifusión
  • GROUP_RANGE_ACTIVATION_NAME: el nombre de la activación del intervalo del grupo que ha creado el administrador de multidifusión.
  • LOGGING_ENABLED: determina si está habilitado el registro de eventos de pertenencia a grupos.
    • Para habilitar el registro, asigna el valor true.
    • (Valor predeterminado) Para inhabilitar el registro, asigna el valor false.

Crear instancias de consumidor de multidifusión

Si aún no lo has hecho, crea una o varias instancias de Compute Engine para ejecutar la aplicación que consume tráfico multicast. Para crear una instancia de consumidor de multidifusión o configurar una instancia para que sea un consumidor de multidifusión, consulta Configurar instancias de consumidor de multidifusión.

Siguientes pasos