Activer un réseau VPC pour produire du trafic multicast

Cette page explique comment configurer des ressources dans Google Cloud pour autoriser les producteurs multicast d'un réseau VPC à envoyer du trafic multicast pour un domaine multicast 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 prérequis des sections suivantes.

Vérifier 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 lesquelles vous souhaitez produire du trafic multicast sont terminées, 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 producteur multicast dans le projet de l'administrateur multicast. Ce projet contient les ressources du domaine multicast et de la plage de groupes.

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 d'administrateur multicast.

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 Identity and Access Management (IAM) 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 (NCC), activez l'API networkconnectivity :

        gcloud services enable networkconnectivity.googleapis.com
    

Rôles requis

Pour obtenir les autorisations nécessaires à la configuration des ressources de producteur multicast, demandez à votre administrateur de vous attribuer les rôles IAM suivants :

  • Pour créer et gérer des ressources réseau : Administrateur de réseaux 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 multicast
  • Pour créer des spokes NCC : Administrateur de spokes (networkconnectivity.spokeAdmin) sur le projet d'administrateur multicast
  • Pour créer des ressources multicast : Administrateur multicast (networkservices.multicastAdmin) sur le projet d'administrateur multicast

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 via 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 NCC 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 s'il utilise une topologie en étoile NCC dans laquelle le réseau d'administrateur multicast fait également office 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 cloud privé virtuel (VPC) pour produire 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 compute networks create commande.

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

    Remplacez MULTICAST_PRODUCER_NETWORK par un nom pour le réseau VPC de producteur multicast.

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

    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 producteur multicast que vous avez créé précédemment
    • PRIMARY_RANGE: plage d'adresses IPv4 principales 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 dans laquelle le nouveau sous-réseau est créé. Google Cloud Il doit s'agir d'une région qui accepte le multicast, comme 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 de producteur multicast pour le trafic multicast.

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 multicast sortant

Cette section explique comment créer une règle de pare-feu qui autorise le trafic multicast sortant 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). S'il n'existe aucune règle de priorité plus élevée qui bloque explicitement le trafic sortant, vous n'avez pas besoin de suivre 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 sortant du réseau VPC, utilisez la compute firewall-rules create commande.

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 producteur multicast que vous avez créé précédemment
  • PORT: liste des ports auxquels la règle de pare-feu s'applique. 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 via des ports spécifiques. Si aucun port ni aucune plage de ports ne sont spécifiés, les connexions via toutes les plages sont appliquées.

    Par exemple, spécifiez --rules=udp:1234 pour autoriser le trafic multicast 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 multicast doivent être des plages d'adresses de classe D. Par exemple, vous pouvez utiliser 224.0.0.0/4 pour autoriser tout le trafic multicast.

Ajouter le réseau VPC à un hub NCC

Cette section explique comment ajouter votre réseau VPC au hub NCC créé par l'administrateur multicast. Pour ajouter votre réseau, créez un spoke VPC dans le groupe central.

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

gcloud

Pour ajouter votre réseau VPC en tant que spoke central à un hub, utilisez la network-connectivity spokes linked-vpc-network create commande.

  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 d'administrateur multicast
  • HUB_NAME: nom du hub NCC créé par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK: nom du réseau de producteur multicast que vous avez créé précédemment

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

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

    Par défaut, le spoke exporte toutes les plages de sous-réseaux. Pour éviter tout chevauchement avec d'autres spokes sur le 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 les plages qui hébergent des producteurs multicast et toutes les autres plages nécessaires à la communication avec d'autres spokes, par exemple pour le trafic unicast.

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

Activer un réseau VPC pour produire du trafic multicast

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

Ajouter le réseau VPC de producteur multicast à un domaine

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

Suivez les étapes ci-dessous pour chaque zone dans laquelle vous souhaitez héberger des producteurs multicast.

gcloud

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

   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 producteur multicast
  • ADMIN_PROJECT: ID du projet d'administrateur multicast
  • ZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous hébergez des producteurs multicast
  • DOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK: réseau VPC qui produit du trafic multicast. Il peut s'agir du réseau d'administrateur multicast ou d'un réseau de producteur multicast distinct, selon la topologie multicast du domaine.

API

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

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 producteur multicast
  • ADMIN_PROJECT: ID du projet d'administrateur multicast
  • ZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous hébergez des producteurs multicast.
  • DOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_PRODUCER_NETWORK: réseau VPC qui produit du trafic multicast. Il peut s'agir du réseau d'administrateur multicast ou d'un réseau de producteur multicast distinct, selon la topologie multicast du domaine.

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

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

Suivez les étapes ci-dessous pour chaque plage de groupes multicast et chaque zone dans laquelle vous souhaitez produire du trafic multicast.

gcloud

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

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

API

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

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

Créer des instances de producteur multicast

Si ce n'est pas déjà fait, créez une ou plusieurs instances Compute Engine pour exécuter votre application qui produit du trafic multicast. Examinez le code suivant :

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 y adhérer.

Étape suivante