Activer un réseau VPC pour générer du trafic multicast

Cette page explique comment configurer des ressources dansGoogle Cloud pour permettre aux producteurs multidiffusion d'un réseau VPC d'envoyer du trafic multidiffusion pour un domaine multidiffusion donné et une ou plusieurs plages de groupes.

Avant de commencer

Avant de commencer les procédures décrites sur cette page, vous devez remplir les conditions préalables décrites dans les sections suivantes.

Vérifiez que les configurations du domaine multicast et de la plage de groupes sont terminées.

Vérifiez que les configurations du domaine multicast et de la plage de groupes multicast pour lesquels vous souhaitez générer du trafic multicast sont complètes, comme décrit dans la Présentation de la configuration multicast. Si nécessaire, contactez l'administrateur multicast du domaine.

Définir votre projet

Les procédures décrites sur cette page vous obligent à créer des ressources de producteurs multicast dans le projet de l'administrateur multicast. Ce projet contient les ressources de plage de groupes et de domaine multicast.

Définissez la gcloud CLI pour utiliser le projet de l'administrateur multicast. Vous pouvez également utiliser l'option --project=MULTICAST_ADMIN_PROJECT pour chaque commande des procédures suivantes.

    gcloud config set project MULTICAST_ADMIN_PROJECT

Remplacez MULTICAST_ADMIN_PROJECT par l'ID du projet administrateur de multidiffusion.

Activer les API

Si ce n'est pas déjà fait, activez les API suivantes.

Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous ne disposez pas de cette autorisation, demandez à votre administrateur IAM (Identity and Access Management) de vous attribuer le rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin).

  1. Pour créer des ressources multicast, activez l'API networkservices :

        gcloud services enable networkservices.googleapis.com
    
  2. Pour créer un spoke VPC Network Connectivity Center, activez l'API networkconnectivity :

        gcloud services enable networkconnectivity.googleapis.com
    

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer les ressources de producteur multicast, demandez à votre administrateur de vous accorder les rôles IAM suivants :

  • Pour créer et gérer des ressources réseau : Administrateur de réseau Compute (compute.networkAdmin) sur le projet d'administrateur multicast
  • Pour créer et gérer des règles de pare-feu : Administrateur de sécurité Compute (compute.securityAdmin) sur le projet d'administrateur du multicast
  • Pour créer des spokes Network Connectivity Center : Administrateur de spoke (networkconnectivity.spokeAdmin) sur le projet d'administrateur multicast
  • Pour créer des ressources de multidiffusion : Administrateur de multidiffusion (networkservices.multicastAdmin) sur le projet d'administrateur de multidiffusion

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

Créer un réseau VPC et l'ajouter à un hub

Si le domaine multicast utilise une topologie en étoile Network Connectivity Center dans laquelle il existe un ou plusieurs réseaux VPC de producteurs multicast distincts, vous devez suivre les étapes de cette section.

Si le domaine multicast utilise une topologie de réseau VPC unique ou une topologie en étoile Network Connectivity Center dans laquelle le réseau de l'administrateur multicast sert également de réseau de producteur multicast, vous pouvez ignorer cette étape et passer directement à la procédure permettant d'activer le réseau VPC pour produire du trafic multicast.

Créer un réseau VPC

Cette section explique comment créer un réseau de cloud privé virtuel (VPC) pour générer du trafic multicast.

Pour en savoir plus sur la création de réseaux VPC, consultez Créer et gérer des réseaux VPC.

gcloud

  1. Créez un réseau VPC à l'aide de la commande compute networks create.

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

    Remplacez MULTICAST_PRODUCER_NETWORK par le nom du réseau VPC du producteur de multidiffusion.

  2. Ajoutez un ou plusieurs sous-réseaux pour héberger les producteurs multicast à l'aide de la commande compute networks subnets create.

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

    Remplacez les valeurs suivantes :

    • SUBNET : nom du sous-réseau
    • MULTICAST_PRODUCER_NETWORK : nom du réseau de producteurs multicast que vous avez créé précédemment
    • PRIMARY_RANGE : plage d'adresses IPv4 principale pour le sous-réseau, au format CIDR. Pour en savoir plus, consultez la section sur les plages de sous-réseaux IPv4.
    • REGION : région Google Cloud dans laquelle le nouveau sous-réseau est créé. Il doit s'agir d'une région compatible avec le multicast, telle que us-east5.

Ajouter des règles de pare-feu

Cette section explique comment créer une règle de pare-feu dans le réseau VPC du producteur de multidiffusion pour le trafic de multidiffusion.

Pour créer des règles de pare-feu supplémentaires, par exemple pour SSH, consultez Créer des règles de pare-feu VPC.

Autoriser le trafic multidiffusion sortant

Cette section explique comment créer une règle de pare-feu qui autorise le trafic multicast de sortie à partir du réseau VPC.

Tous les réseaux VPC disposent d'une règle de sortie IPv4 par défaut avec la priorité la plus faible (65535). Si aucune règle de priorité plus élevée ne bloque explicitement le trafic de sortie, vous n'avez pas besoin d'effectuer cette étape. Pour en savoir plus, consultez la section Règles implicites.

Cette commande est préremplie avec un exemple de nom de règle de pare-feu. N'oubliez pas que le nom d'une règle de pare-feu doit être unique dans un projet.

gcloud

Pour créer une règle de pare-feu qui autorise le trafic multicast de sortie à partir du réseau VPC, utilisez la commande compute firewall-rules create.

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

Remplacez les valeurs suivantes :

  • MULTICAST_PRODUCER_NETWORK : nom du réseau de producteurs multicast que vous avez créé précédemment
  • PORT : liste des ports auxquels s'applique la règle de pare-feu. Google Cloud utilise udp pour le trafic multicast. Un port ou une plage de ports peuvent être spécifiés après le protocole auquel la règle de pare-feu s'applique au trafic transitant par des ports spécifiques. Si aucun port ni aucune plage de ports n'est spécifié, les connexions via toutes les plages sont appliquées.

    Par exemple, spécifiez --rules=udp:1234 pour autoriser le trafic multidiffusion via le port 1234.

    Vous pouvez également utiliser --rules=all pour autoriser tous les protocoles et ports.

  • MULTICAST_GROUP_IP_RANGES : plages d'adresses IP des groupes multicast vers lesquels les producteurs multicast envoient du trafic. Les plages d'adresses IP de multidiffusion doivent être des plages d'adresses de classe D. Par exemple, vous pouvez utiliser 224.0.0.0/4 pour autoriser tout le trafic de multidiffusion.

Ajouter le réseau VPC à un hub Network Connectivity Center

Cette section explique comment ajouter votre réseau VPC au hub Network Connectivity Center créé par l'administrateur multicast. Pour ajouter votre réseau, vous devez créer un spoke VPC dans le groupe center.

Pour en savoir plus, consultez Topologie en étoile et Créer un spoke VPC dans la documentation Network Connectivity Center.

gcloud

Pour ajouter votre réseau VPC en tant que spoke central à un hub, utilisez la commande 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_NAME \
     --vpc-network=MULTICAST_PRODUCER_NETWORK \
     --group="center" \
     --global \
     --include-export-ranges=INCLUDE_RANGES

Remplacez les valeurs suivantes :

  • SPOKE_NAME : nom du spoke
  • MULTICAST_ADMIN_PROJECT : ID du projet de l'administrateur multicast
  • HUB_NAME : nom du hub Network Connectivity Center créé par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK : nom du réseau de producteurs multicast que vous avez créé précédemment

    Vous pouvez également fournir l'URI du réseau de producteurs multicast au format suivant : projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_PRODUCER_NETWORK.

  • INCLUDE_RANGES : liste des plages d'adresses IP à exporter vers le hub, séparées par des virgules.

    Par défaut, le spoke exporte toutes les plages de sous-réseaux. Pour éviter tout chevauchement avec d'autres spokes du hub, vous pouvez spécifier les plages de sous-réseaux à exporter. Si vous spécifiez des plages de sous-réseaux, assurez-vous d'inclure celles qui hébergent les producteurs multicast et toutes les autres plages nécessaires à la communication avec d'autres spokes, comme pour le trafic unicast.

    Google Cloud interdit les chevauchements de sous-réseaux entre les VPC spokes, comme décrit dans Unicité des routes de sous-réseau. Pour en savoir plus sur l'utilisation des filtres d'exportation afin d'éviter les chevauchements, consultez Connectivité VPC avec filtres d'exportation.

Activer un réseau VPC pour générer du trafic multicast

Cette section décrit les étapes nécessaires pour permettre aux producteurs de multidiffusion d'un réseau VPC d'envoyer du trafic de multidiffusion pour un domaine donné et une ou plusieurs plages de groupes.

Ajouter le réseau VPC du producteur de multidiffusion à un domaine

Cette section explique comment ajouter un réseau VPC de producteur multidiffusion à un domaine en créant une association de producteur multidiffusion entre le réseau et le domaine.

Procédez comme suit pour chaque zone dans laquelle vous souhaitez héberger des producteurs de multidiffusion.

gcloud

Pour ajouter un réseau VPC de producteur multicast à un domaine, utilisez la commande network-services multicast-producer-associations create.

   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

Remplacez les valeurs suivantes :

  • PRODUCER_ASSOCIATION_NAME : nom de l'association de producteurs multicast
  • ADMIN_PROJECT : ID du projet de l'administrateur multicast
  • ZONE : zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous hébergez les producteurs multicast
  • DOMAIN_ACTIVATION_NAME : nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK : réseau VPC qui génère le trafic multicast. Il peut s'agir du réseau de l'administrateur multicast ou d'un réseau de producteurs multicast distinct, en fonction de la topologie multicast du domaine.

API

Pour ajouter un réseau VPC de producteur multicast à un domaine, utilisez la méthode multicastProducerAssociations.create.

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"
}

Remplacez les valeurs suivantes :

  • PRODUCER_ASSOCIATION_NAME : nom de l'association de producteurs multicast
  • ADMIN_PROJECT : ID du projet de l'administrateur multicast
  • ZONE : zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous hébergez les producteurs multicast.
  • DOMAIN_ACTIVATION_NAME : nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK : réseau VPC qui génère le trafic multicast. Il peut s'agir du réseau de l'administrateur multicast ou d'un réseau de producteurs multicast distinct, en fonction de la topologie multicast du domaine.

Activer le réseau VPC producteur multicast pour une plage de groupes

Cette section explique comment activer un réseau VPC de producteur multicast pour une plage de groupes.

Procédez comme suit pour chaque plage de groupes multicast et chaque zone dans laquelle vous souhaitez générer du trafic multicast.

gcloud

Pour activer un réseau VPC de producteur multicast pour une plage de groupes, utilisez la commande network-services multicast-group-producer-activations create.

   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

Remplacez les valeurs suivantes :

  • GROUP_PRODUCER_ACTIVATION_NAME : nom de l'activation du producteur de groupe multicast
  • ADMIN_PROJECT : ID du projet de l'administrateur multicast
  • ZONE : zone dans laquelle activer le réseau de producteurs multicast. L'association de producteurs multicast et l'activation de la plage de groupes multicast correspondantes doivent également exister dans la zone.
  • PRODUCER_ASSOCIATION_NAME : nom de l'association de producteurs multicast que vous avez créée précédemment
  • GROUP_RANGE_ACTIVATION_NAME : nom de l'activation de la plage de groupes multicast créée par l'administrateur multicast.

API

Pour activer un réseau VPC producteur multidiffusion pour une plage de groupes, utilisez la méthode multicastGroupProducerActivations.create.

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"
}

Remplacez les valeurs suivantes :

  • GROUP_PRODUCER_ACTIVATION_NAME : nom de l'activation du producteur de groupe multicast
  • ADMIN_PROJECT : ID du projet de l'administrateur multicast
  • ZONE : zone dans laquelle activer le réseau de producteurs multicast. L'association de producteurs multicast et l'activation de la plage de groupes multicast correspondantes doivent également exister dans la zone.
  • PRODUCER_ASSOCIATION_NAME : nom de l'association de producteurs multicast que vous avez créée précédemment
  • GROUP_RANGE_ACTIVATION_NAME : nom de l'activation de la plage de groupes multicast créée par l'administrateur multicast.

Créer des instances de producteur multicast

Si vous ne l'avez pas encore fait, créez une ou plusieurs instances Compute Engine pour exécuter votre application qui génère du trafic multicast. Consultez les références suivantes :

Contrairement aux instances de consommateur multicast, les instances de producteur multicast n'ont pas besoin d'être configurées pour IGMP et peuvent envoyer du trafic à un groupe multicast sans rejoindre le groupe.

Étapes suivantes