Activer un réseau VPC pour consommer du trafic multicast

Cette page décrit la procédure à suivre pour configurer des ressources dans Google Cloud afin que les clients multicast d'un réseau VPC puissent recevoir du trafic multicast à partir d'un domaine multicast donné et d'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 cette section.

Vérifier que les configurations du domaine multicast, de la plage de groupes et du producteur sont terminées

Vérifiez que les configurations du domaine multicast, de la plage de groupes multicast et du producteur multicast pour lesquels vous souhaitez consommer 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

Définissez gcloud CLI pour utiliser le projet du réseau VPC du client multicast. Vous pouvez également transmettre l'option --project=PROJECT pour chaque commande des procédures suivantes.

    gcloud config set project PROJECT

Remplacez PROJECT par l'ID de votre projet.

Activer les API

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

Pour activer des 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 dont vous avez besoin pour configurer les ressources du client 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éseau Compute (compute.networkAdmin) sur votre projet
  • Pour créer et gérer des règles de pare-feu : Administrateur de sécurité Compute (compute.securityAdmin) sur votre projet
  • Pour créer des spokes NCC : Administrateur de spoke (networkconnectivity.spokeAdmin) sur votre projet
  • Pour proposer des spokes NCC au hub associé à un domaine multicast: Utilisateur de groupe (networkconnectivity.groupUser) sur le projet d'administrateur multicast
  • Pour créer des ressources multicast : Administrateur multicast (networkservices.multicastAdmin) sur votre projet

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 des réseaux VPC de clients multicast distincts, vous devez suivre les étapes de cette section.

Si le domaine multicast utilise une topologie de réseau VPC unique, alors vous pouvez ignorer cette section et passer directement aux étapes pour activer le réseau VPC pour consommer du trafic multicast.

Créer un réseau VPC

Cette section explique comment créer un réseau cloud privé virtuel (VPC) pour consommer 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_CONSUMER_NETWORK --subnet-mode=custom
    

    Remplacez MULTICAST_CONSUMER_NETWORK par un nom pour le réseau du client multicast.

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

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

    Remplacez les valeurs suivantes :

    • SUBNET : nom du sous-réseau
    • MULTICAST_CONSUMER_NETWORK: nom du réseau du client 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 dans laquelle le nouveau sous-réseau est créé. Google Cloud 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 des règles de pare-feu dans le réseau VPC du client 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.

Les commandes sont préremplies avec des exemples de noms de règles de pare-feu. N'oubliez pas que le nom d'une règle de pare-feu doit être unique dans un projet.

Autoriser le trafic multicast entrant

gcloud

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

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

Remplacez les valeurs suivantes :

  • MULTICAST_CONSUMER_NETWORK: nom du réseau du client 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.

  • MULTICAST_PRODUCER_RANGE: plage CIDR du réseau VPC du producteur multicast, utilisée pour allouer des adresses IP aux producteurs multicast. Vous pouvez également omettre l'option --source-ranges, qui définit la source d'entrée sur n'importe quelle adresse IPv4 (0.0.0.0/0).

  • MULTICAST_GROUP_IP_RANGES: plages CIDR des groupes multicast vers lesquels les producteurs multicast envoient du trafic. Il doit s'agir d'une plage d'adresses de classe D. Par exemple, vous pouvez utiliser 224.0.0.0/4 pour autoriser tout le trafic multicast.

Autoriser la requête IGMP entrante

gcloud

Pour créer une règle de pare-feu qui autorise le trafic de requête IGMP entrant vers le réseau VPC du client multicast à partir de la plage de réseaux du client multicast, utilisez la compute firewall-rules create commande.

La commande suivante inclut :

  • --destination-ranges=224.0.0.1/32 pour spécifier l'adresse IP du groupe multicast qui représente tous les hôtes de ce sous-réseau.
  • --rules=2 pour spécifier 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

Remplacez les valeurs suivantes :

  • MULTICAST_CONSUMER_NETWORK: nom du réseau du client multicast que vous avez créé précédemment
  • MULTICAST_CONSUMER_RANGE: plage CIDR du réseau du client multicast, utilisée pour allouer des adresses IP aux clients multicast.

Autoriser l'IGMP sortant

Cette section explique comment créer une règle de pare-feu qui autorise le trafic IGMP sortant afin que vous puissiez envoyer des messages JOIN et LEAVE IGMP à partir de clients multicast.

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.

gcloud

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

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

Remplacez les valeurs suivantes :

  • MULTICAST_CONSUMER_NETWORK: nom du réseau du client multicast que vous avez créé précédemment
  • RANGES_FOR_JOIN_AND_LEAVE: liste séparée par des virgules des éléments suivants :

    • Plages CIDR des groupes multicast auxquels les clients multicast doivent se joindre. Vous devez utiliser des plages d'adresses de classe D.
    • Adresse IP Tous les routeurs : 224.0.0.2/32. Cette plage est requise pour l'envoi de messages de sortie IGMP.

    Vous pouvez également spécifier 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 edge.

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

gcloud

  1. Pour ajouter votre réseau VPC en tant que spoke de périphérie à 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 \
        --vpc-network=MULTICAST_CONSUMER_NETWORK \
        --group="edge" \
        --global \
        --include-export-ranges=INCLUDE_RANGES
    

    Remplacez les valeurs suivantes :

    • SPOKE_NAME : nom du spoke de périphérie
    • MULTICAST_ADMIN_PROJECT: ID du projet d'administrateur multicast
    • HUB: nom du hub NCC créé par l'administrateur multicast. Votre réseau VPC de client multicast doit être associé au même hub que les réseaux VPC d'administrateur multicast et de producteur multicast. Si nécessaire, contactez l'administrateur multicast pour obtenir le nom du hub.

    • MULTICAST_CONSUMER_NETWORK: nom du réseau du client multicast que vous avez créé précédemment

      Vous pouvez également fournir l'URI du réseau du client multicast au format suivant : projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: liste séparée par des virgules des plages d'adresses IP à 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 les clients multicast et toutes les autres plages nécessaires à la communication avec les spokes du groupe central, 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.

  2. Contactez l'administrateur multicast pour l'informer que vous avez proposé un spoke VPC au hub.

    Si le hub se trouve dans un autre projet, l'administrateur multicast doit approuver explicitement votre spoke avant qu'il ne devienne actif, sauf s'il a ajouté votre projet en tant que projet à acceptation automatique.

    Pour vérifier l'état d'un spoke après sa création, consultez Vérifier l'état d'un spoke VPC.

Activer un réseau VPC pour consommer du trafic multicast

Cette section décrit la procédure à suivre pour activer les clients multicast d'un réseau VPC afin qu'ils puissent recevoir du trafic multicast à partir d'un domaine donné et d'une ou plusieurs plages de groupes.

Ajouter le réseau VPC du client multicast à un domaine

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

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

gcloud

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

   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

Remplacez les valeurs suivantes :

  • CONSUMER_ASSOCIATION_NAME: nom de l'association de client multicast
  • ADMIN_PROJECT: ID du projet d'administrateur multicast
  • ZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous devez héberger des clients multicast
  • DOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_CONSUMER_PROJECT et MULTICAST_CONSUMER_NETWORK : projet et réseau qui consomment le trafic multicast. Il peut s'agir du projet et du réseau d'administrateur multicast ou d'un projet et d'un réseau de client multicast distincts, en fonction de la topologie multicast du domaine.

API

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

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

Remplacez les valeurs suivantes :

  • CONSUMER_ASSOCIATION_NAME: nom de l'association de client multicast
  • ADMIN_PROJECT: ID du projet d'administrateur multicast
  • ZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous devez héberger des clients multicast.
  • DOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicast
  • MULTICAST_CONSUMER_PROJECT et MULTICAST_CONSUMER_NETWORK : projet et réseau qui consomment le trafic multicast. Il peut s'agir du projet et du réseau d'administrateur multicast ou d'un projet et d'un réseau de client multicast distincts, en fonction de la topologie multicast du domaine.

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

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

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

Une fois cette étape terminée, les clients multicast du réseau peuvent rejoindre les adresses IP du groupe multicast dans la plage de groupes spécifiée, à condition qu'ils aient IGMP configuré.

gcloud

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

   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]

Remplacez les valeurs suivantes :

  • GROUP_CONSUMER_ACTIVATION_NAME: nom de l'activation client du groupe multicast
  • CONSUMER_PROJECT: ID de votre projet. Il peut s'agir du projet d'administrateur multicast ou d'un projet de client multicast distinct, en fonction de la topologie du domaine multicast.

  • ZONE : zone dans laquelle activer le réseau du client multicast. Il doit également s'agir d'une zone dans laquelle l'administrateur a activé la plage de groupes multicast.

  • CONSUMER_ASSOCIATION_NAME: nom de l'association de client multicast que vous avez créée précédemment

  • ADMIN_PROJECT: ID du projet d'administrateur multicast

  • GROUP_RANGE_ACTIVATION_NAME: nom de l'activation de la plage de groupes créée par l'administrateur multicast.

  • --[no-]enable-logging : facultatif, détermine si la journalisation des événements d'appartenance à un groupe est activée.

    • Pour activer la journalisation, utilisez --enable-logging.
    • (Par défaut) Pour désactiver la journalisation, utilisez --no-enable-logging.

API

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

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

Remplacez les valeurs suivantes :

  • GROUP_CONSUMER_ACTIVATION_NAME: nom de l'activation client du groupe multicast
  • CONSUMER_PROJECT: ID de votre projet. Il peut s'agir du projet d'administrateur multicast ou d'un projet de client multicast distinct, en fonction de la topologie du domaine multicast.
  • ZONE : zone dans laquelle activer le réseau du client multicast. Il doit également s'agir d'une zone dans laquelle l'administrateur a activé la plage de groupes multicast.
  • CONSUMER_ASSOCIATION_NAME: nom de l'association de client multicast que vous avez créée précédemment
  • ADMIN_PROJECT: ID du projet d'administrateur multicast
  • GROUP_RANGE_ACTIVATION_NAME: nom de l'activation de la plage de groupes créée par l'administrateur multicast
  • LOGGING_ENABLED : détermine si la journalisation des événements d'appartenance à un groupe est activée.
    • Pour activer la journalisation, définissez la valeur sur true.
    • (Par défaut) Pour désactiver la journalisation, définissez la valeur sur false.

Créer des instances de clients multicast

Si ce n'est pas déjà fait, créez une ou plusieurs instances Compute Engine pour exécuter votre application qui consomme du trafic multicast. Pour créer une instance de client multicast ou configurer une instance existante en tant que client multicast, consultez Configurer des instances de clients multicast.

Étape suivante