Activer un réseau VPC pour qu'il consomme le trafic multicast
Cette page décrit les étapes nécessaires pour configurer les ressources dansGoogle Cloud afin que les consommateurs multicast d'un réseau VPC puissent recevoir le trafic multicast 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érifiez que les configurations du domaine multicast, de la plage de groupes et des producteurs 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 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
Définissez la gcloud CLI pour utiliser le projet du réseau VPC du client multicast. Vous pouvez également transmettre l'option --project=PROJECT pour chaque commande dans les 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 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).
Pour créer des ressources multicast, activez l'API
networkservices:gcloud services enable networkservices.googleapis.comPour 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 consommateur multidiffusion, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Pour créer et gérer des ressources réseau :
Administrateur de réseaux 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 Network Connectivity Center :
Administrateur de spoke (
networkconnectivity.spokeAdmin) sur votre projet -
Pour proposer des spokes Network Connectivity Center au hub associé à un domaine multicast :
Utilisateur du groupe (
networkconnectivity.groupUser) sur le projet de l'administrateur multicast -
Pour créer des ressources de multidiffusion :
Administrateur du 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 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 des réseaux VPC consommateurs de multicast distincts, vous devez suivre les étapes de cette section.
Si le domaine multicast utilise une topologie de réseau VPC unique, vous pouvez ignorer cette section et passer directement aux étapes permettant d'activer le réseau VPC pour qu'il puisse consommer le trafic multicast.
Créer un réseau VPC
Cette section explique comment créer un réseau de cloud privé virtuel (VPC) pour consommer le 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
Créez un réseau VPC à l'aide de la commande
compute networks create.gcloud compute networks create MULTICAST_CONSUMER_NETWORK --subnet-mode=custom
Remplacez
MULTICAST_CONSUMER_NETWORKpar le nom du réseau consommateur multicast.Ajoutez un ou plusieurs sous-réseaux pour héberger les consommateurs multicast à l'aide de la commande
compute networks subnets create.gcloud compute networks subnets create SUBNET --network=MULTICAST_CONSUMER_NETWORK \ --range=PRIMARY_RANGE \ --region=REGION
Remplacez les valeurs suivantes :
SUBNET: nom du sous-réseauMULTICAST_CONSUMER_NETWORK: nom du réseau consommateur multicast que vous avez créé précédemmentPRIMARY_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 queus-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 consommateur multidiffusion pour le trafic 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.
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 multidiffusion 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 producteur multicast, utilisez la commande 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
Remplacez les valeurs suivantes :
MULTICAST_CONSUMER_NETWORK: nom du réseau consommateur multicast que vous avez créé précédemmentPORT: liste des ports auxquels s'applique la règle de pare-feu. Google Cloud utiliseudppour 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:1234pour 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'indicateur--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 auxquels les producteurs multicast envoient du trafic. Il doit s'agir d'une plage d'adresses de classe D. Par exemple, vous pouvez utiliser224.0.0.0/4pour autoriser tout le trafic multicast.
Autoriser les requêtes IGMP d'entrée
gcloud
Pour créer une règle de pare-feu qui autorise le trafic de requête IGMP entrant vers le réseau VPC consommateur de multidiffusion à partir de la plage de réseau consommateur de multidiffusion, utilisez la commande compute firewall-rules create.
La commande suivante inclut les éléments suivants :
--destination-ranges=224.0.0.1/32pour spécifier l'adresse IP du groupe multicast qui représente tous les hôtes de ce sous-réseau.--rules=2pour 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 consommateur multicast que vous avez créé précédemmentMULTICAST_CONSUMER_RANGE: plage CIDR du réseau de consommateurs multicast, utilisée pour allouer des adresses IP aux consommateurs multicast.
Autoriser l'IGMP de sortie
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 IGMP JOIN et LEAVE à partir de consommateurs multicast.
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.
gcloud
Pour créer une règle de pare-feu qui autorise le trafic IGMP multicast de sortie à partir du réseau VPC consommateur multicast, utilisez la commande 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
Remplacez les valeurs suivantes :
MULTICAST_CONSUMER_NETWORK: nom du réseau consommateur multicast que vous avez créé précédemmentRANGES_FOR_JOIN_AND_LEAVE: liste des éléments suivants, séparés par une virgule :- 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/4pour autoriser tout le trafic multicast.
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 edge.
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 de périphérie à 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 \ --vpc-network=MULTICAST_CONSUMER_NETWORK \ --group="edge" \ --global \ --include-export-ranges=INCLUDE_RANGESRemplacez les valeurs suivantes :
SPOKE_NAME: nom du spoke EdgeMULTICAST_ADMIN_PROJECT: ID du projet de l'administrateur multicastHUB: nom du hub Network Connectivity Center créé par l'administrateur multicast. Votre réseau VPC de consommateur 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 consommateur multicast que vous avez créé précédemmentVous pouvez également fournir l'URI du réseau consommateur multicast au format suivant :
projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_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 les plages qui hébergent les consommateurs 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 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.
Contactez l'administrateur du multicast pour l'informer que vous avez proposé un spoke VPC au hub.
Si le hub se trouve dans un autre projet, l'administrateur du 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 qu'il consomme le trafic multicast
Cette section décrit la procédure à suivre pour permettre aux consommateurs de multidiffusion d'un réseau VPC de recevoir le trafic de multidiffusion 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.
Procédez comme suit pour chaque zone dans laquelle vous souhaitez héberger des consommateurs multicast.
gcloud
Pour ajouter un réseau VPC de consommateur multicast à un domaine, utilisez la commande 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
Remplacez les valeurs suivantes :
CONSUMER_ASSOCIATION_NAME: nom de l'association de clients multicastADMIN_PROJECT: ID du projet de l'administrateur multicastZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous devez héberger les consommateurs multicastDOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicastMULTICAST_CONSUMER_PROJECTetMULTICAST_CONSUMER_NETWORK: projet et réseau qui consomment le trafic multicast. Il peut s'agir du projet et du réseau de l'administrateur multicast, ou d'un projet et d'un réseau client multicast distincts, selon la topologie multicast du domaine.
API
Pour ajouter un réseau VPC consommateur de multidiffusion à un domaine, utilisez la méthode 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"
}
Remplacez les valeurs suivantes :
CONSUMER_ASSOCIATION_NAME: nom de l'association de clients multicastADMIN_PROJECT: ID du projet de l'administrateur multicastZONE: zone dans laquelle l'administrateur a activé le domaine multicast et dans laquelle vous devez héberger les consommateurs multicast.DOMAIN_ACTIVATION_NAME: nom de l'activation de domaine créée par l'administrateur multicastMULTICAST_CONSUMER_PROJECTetMULTICAST_CONSUMER_NETWORK: projet et réseau qui consomment le trafic multicast. Il peut s'agir du projet et du réseau de l'administrateur multicast, ou d'un projet et d'un réseau client multicast distincts, selon 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 consommateur multicast pour une plage de groupes.
Procédez comme suit pour chaque plage de groupes multicast et chaque zone pour lesquels vous souhaitez consommer du trafic multicast.
Une fois cette étape effectuée, les consommateurs multicast du réseau peuvent rejoindre les adresses IP du groupe multicast dans la plage de groupes spécifiée, à condition que le protocole IGMP soit configuré.
gcloud
Pour activer un réseau VPC client multicast pour une plage de groupes multicast, utilisez la commande 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]
Remplacez les valeurs suivantes :
GROUP_CONSUMER_ACTIVATION_NAME: nom de l'activation du consommateur du groupe multicast.CONSUMER_PROJECT: ID de votre projet. Il peut s'agir du projet administrateur multicast ou d'un projet consommateur multicast distinct, en fonction de la topologie du domaine multicast.ZONE: zone dans laquelle activer le réseau de consommateur 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 consommateur multicast que vous avez créée précédemmentADMIN_PROJECT: ID du projet de l'administrateur multicastGROUP_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.
- Pour activer la journalisation, utilisez
API
Pour activer un réseau VPC client multicast pour une plage de groupes multicast, utilisez la méthode 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"
}
}
Remplacez les valeurs suivantes :
GROUP_CONSUMER_ACTIVATION_NAME: nom de l'activation du consommateur du groupe multicast.CONSUMER_PROJECT: ID de votre projet. Il peut s'agir du projet administrateur multicast ou d'un projet consommateur multicast distinct, en fonction de la topologie du domaine multicast.ZONE: zone dans laquelle activer le réseau de consommateur 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 consommateur multicast que vous avez créée précédemmentADMIN_PROJECT: ID du projet de l'administrateur multicastGROUP_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 ce paramètre sur
true. - (Par défaut) Pour désactiver la journalisation, définissez la valeur sur
false.
- Pour activer la journalisation, définissez ce paramètre sur
Créer des instances de clients multicast
Si vous ne l'avez 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 consommateur multicast ou configurer une instance existante en tant que consommateur multicast, consultez Configurer des instances de consommateur multicast.
Étapes suivantes
- Pour afficher les configurations de clients multicast que vous avez créées, consultez Afficher les configurations de clients multicast.
- Mettre à jour les configurations des clients multicast
- Configurer IGMP pour les instances de clients multicast