VPC-Netzwerk für den Empfang von Multicast-Traffic aktivieren

Auf dieser Seite wird beschrieben, wie Sie Ressourcen inGoogle Cloud konfigurieren, damit Multicast-Empfänger in einem VPC-Netzwerk Multicast-Traffic aus einer bestimmten Multicast-Domain und einem oder mehreren Gruppenbereichen empfangen können.

Hinweis

Bevor Sie mit den Verfahren auf dieser Seite beginnen, müssen Sie die in diesem Abschnitt beschriebenen Voraussetzungen erfüllen.

Prüfen, ob die Multicast-Domain, der Gruppenbereich und die Producer-Konfigurationen vollständig sind

Prüfen Sie, ob die Konfigurationen für die Multicast-Domain, den Multicast-Gruppenbereich und den Multicast-Ersteller, für die Sie Multicast-Traffic empfangen möchten, wie in der Übersicht zur Cloud Multicast-Konfiguration beschrieben vollständig sind. Wenden Sie sich bei Bedarf an den Multicast-Administrator der Domain.

Projekt festlegen

Legen Sie die gcloud CLI so fest, dass das Projekt des VPC-Netzwerk des Multicast-Empfängers verwendet wird. Alternativ können Sie das Flag --project=PROJECT für jeden Befehl in den folgenden Verfahren übergeben.

    gcloud config set project PROJECT

Ersetzen Sie PROJECT durch die ID Ihres Projekts.

APIs aktivieren

Aktivieren Sie die folgenden APIs, falls Sie dies noch nicht getan haben.

Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie diese Berechtigung nicht haben, bitten Sie Ihren IAM-Administrator (Identity and Access Management), Ihnen die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) zuzuweisen.

  1. Wenn Sie Multicast-Ressourcen erstellen möchten, aktivieren Sie die networkservices API:

        gcloud services enable networkservices.googleapis.com
    
  2. Wenn Sie einen VPC-Spoke für Network Connectivity Center (NCC) erstellen möchten, aktivieren Sie die networkconnectivity API:

        gcloud services enable networkconnectivity.googleapis.com
    

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Multicast-Consumer-Ressourcen benötigen:

  • So erstellen und verwalten Sie Netzwerkressourcen: Compute-Netzwerkadministrator (compute.networkAdmin) für Ihr Projekt
  • Zum Erstellen und Verwalten von Firewallregeln: Compute Security Admin (compute.securityAdmin) für Ihr Projekt
  • Zum Erstellen von NCC-Spokes: Spoke-Administrator (networkconnectivity.spokeAdmin) für Ihr Projekt
  • So schlagen Sie NCC-Spokes für den Hub vor, der mit einer Multicast-Domain verknüpft ist: Gruppennutzer (networkconnectivity.groupUser) im Multicast-Administratorprojekt
  • So erstellen Sie Multicast-Ressourcen: Multicast-Administrator (networkservices.multicastAdmin) für Ihr Projekt

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

VPC-Netzwerk erstellen und einem Hub hinzufügen

Wenn für die Multicast-Domain eine NCC-Stern-Topologie mit separaten VPC-Netzwerken für Multicast-Nutzer verwendet wird, müssen Sie die Schritte in diesem Abschnitt ausführen.

Wenn für die Multicast-Domain eine einzelne VPC-Netzwerktopologie verwendet wird, können Sie diesen Abschnitt überspringen und direkt mit den Schritten zum Aktivieren des VPC-Netzwerk für den Empfang von Multicast-Traffic fortfahren.

VPC-Netzwerk erstellen

In diesem Abschnitt wird beschrieben, wie Sie ein VPC-Netzwerk (Virtual Private Cloud) für den Empfang von Multicast-Traffic erstellen.

Weitere Informationen zum Erstellen von VPC-Netzwerken finden Sie unter VPC-Netzwerke erstellen und verwalten.

gcloud

  1. Erstellen Sie ein VPC-Netzwerk mit dem Befehl compute networks create.

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

    Ersetzen Sie MULTICAST_CONSUMER_NETWORK durch einen Namen für das Multicast-Consumer-Netzwerk.

  2. Fügen Sie mit dem Befehl compute networks subnets create ein oder mehrere Subnetze hinzu, in denen Multicast-Empfänger gehostet werden.

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

    Ersetzen Sie die folgenden Werte:

    • SUBNET: der Name des Subnetzes
    • MULTICAST_CONSUMER_NETWORK: der Name des zuvor erstellten Multicast-Consumer-Netzwerks
    • PRIMARY_RANGE: der primäre IPv4-Bereich für das Subnetz in CIDR-Notation. Weitere Informationen finden Sie unter IPv4-Subnetzbereiche.
    • REGION: die Google Cloud Region, in der das neue Subnetz erstellt wird. Muss eine Region sein, die Multicast unterstützt, z. B. us-east5.

Firewallregeln hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Firewallregeln im VPC-Netzwerk des Multicast-Consumers für Multicast-Traffic erstellen.

Informationen zum Erstellen zusätzlicher Firewallregeln, z. B. für SSH, finden Sie unter VPC-Firewallregeln erstellen.

In den Befehlen sind bereits Beispielnamen für Firewallregeln enthalten. Der Name einer Firewallregel muss in einem Projekt eindeutig sein.

Eingehenden Multicast-Traffic zulassen

gcloud

Verwenden Sie den Befehl compute firewall-rules create, um eine Firewallregel zu erstellen, die eingehenden Multicast-Traffic aus dem Multicast-Erstellernetzwerk in Ihr VPC-Netzwerk zulässt.

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

Ersetzen Sie die folgenden Werte:

  • MULTICAST_CONSUMER_NETWORK: der Name des zuvor erstellten Multicast-Consumer-Netzwerks
  • PORT: Eine Liste der Ports, auf die die Firewallregel angewendet wird. Google Cloud verwendet udp für Multicast-Traffic. Nach dem Protokoll, auf das sich die Firewallregel bezieht, kann ein Port oder Portbereich angegeben werden, der für den Traffic über bestimmte Ports gilt. Wenn kein Port oder Portbereich angegeben ist, werden Verbindungen über alle Bereiche angewendet.

    Geben Sie beispielsweise --rules=udp:1234 an, um Multicast-Traffic über Port 1234 zuzulassen.

  • MULTICAST_PRODUCER_RANGE: Der CIDR-Bereich des VPC-Netzwerk des Multicast-Producers, der zum Zuweisen von IP-Adressen für Multicast-Producer verwendet wird. Alternativ können Sie das Flag --source-ranges weglassen. In diesem Fall wird die Quelle für eingehenden Traffic auf eine beliebige IPv4-Adresse (0.0.0.0/0) festgelegt.

  • MULTICAST_GROUP_IP_RANGES: Die CIDR-Bereiche der Multicast-Gruppen, an die Multicast-Produzenten Traffic senden. Dies muss ein Adressbereich der Klasse D sein. Sie können beispielsweise 224.0.0.0/4 verwenden, um den gesamten Multicast-Traffic zuzulassen.

Eingehende IGMP-Abfragen zulassen

gcloud

Verwenden Sie den compute firewall-rules create-Befehl, um eine Firewallregel zu erstellen, die eingehenden IGMP-Anfragetraffic zum VPC-Netzwerk des Multicast-Nutzer zulässt, der aus dem Netzwerkbereich des Multicast-Nutzer stammt.

Der folgende Befehl enthält:

  • --destination-ranges=224.0.0.1/32, um die Multicastgruppen-IP-Adresse anzugeben, die alle Hosts in diesem Subnetz repräsentiert.
  • --rules=2, um IGMP anzugeben.
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

Ersetzen Sie die folgenden Werte:

  • MULTICAST_CONSUMER_NETWORK: der Name des zuvor erstellten Multicast-Consumer-Netzwerks
  • MULTICAST_CONSUMER_RANGE: Der CIDR-Bereich des Multicast-Consumer-Netzwerks, der zum Zuweisen von IP-Adressen für Multicast-Consumer verwendet wird.

Ausgehenden IGMP-Traffic zulassen

In diesem Abschnitt wird beschrieben, wie Sie eine Firewallregel erstellen, die ausgehenden IGMP-Traffic zulässt, damit Sie IGMP-JOIN- und LEAVE-Nachrichten von Multicast-Consumern senden können.

Alle VPC-Netzwerke haben eine standardmäßige IPv4-Regel zum Zulassen von ausgehendem Traffic mit der niedrigsten Priorität (65535). Wenn es keine Regel mit höherer Priorität gibt, die ausgehenden Traffic explizit blockiert, müssen Sie diesen Schritt nicht ausführen. Weitere Informationen finden Sie unter Implizierte Regeln.

gcloud

Verwenden Sie den compute firewall-rules create-Befehl, um eine Firewallregel zu erstellen, die ausgehenden Multicast-IGMP-Traffic aus dem VPC-Netzwerk des Multicast-Nutzer zulässt.

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

Ersetzen Sie die folgenden Werte:

  • MULTICAST_CONSUMER_NETWORK: der Name des zuvor erstellten Multicast-Consumer-Netzwerks
  • RANGES_FOR_JOIN_AND_LEAVE: Eine durch Kommas getrennte Liste der folgenden Elemente:

    • Die CIDR-Bereiche der Multicast-Gruppen, denen Multicast-Nutzer beitreten müssen. Sie müssen Adressbereiche der Klasse D verwenden.
    • Die IP-Adresse von Alle Router: 224.0.0.2/32. Dieser Bereich ist zum Senden von IGMP-Leave-Nachrichten erforderlich.

    Alternativ können Sie 224.0.0.0/4 angeben, um den gesamten Multicast-Traffic zuzulassen.

VPC-Netzwerk einem NCC-Hub hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Ihr VPC-Netzwerk dem vom Multicast-Administrator erstellten NCC-Hub hinzufügen. Wenn Sie Ihr Netzwerk hinzufügen möchten, erstellen Sie einen VPC-Spoke in der Edge-Gruppe.

Weitere Informationen finden Sie in der NCC-Dokumentation unter Sterntopologie und VPC-Spoke erstellen.

gcloud

  1. Verwenden Sie den Befehl network-connectivity spokes linked-vpc-network create, um Ihr VPC-Netzwerk als Edge-Spoke zu einem Hub hinzuzufügen.

      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
    

    Ersetzen Sie die folgenden Werte:

    • SPOKE_NAME: Name für den Edge-Spoke
    • MULTICAST_ADMIN_PROJECT: die ID des Projekts des Multicast-Administrators
    • HUB: der Name des NCC-Hubs, der vom Multicast-Administrator erstellt wurde. Ihr Multicast-Nutzer-VPC-Netzwerk muss an denselben Hub angehängt werden wie die VPC-Netzwerke des Multicast-Administrators und des Multicast-Erstellers. Wende dich bei Bedarf an den Multicast-Administrator, um den Namen des Hubs zu erfahren.

    • MULTICAST_CONSUMER_NETWORK: der Name des zuvor erstellten Multicast-Consumer-Netzwerks

      Alternativ können Sie den URI des Multicast-Consumer-Netzwerks im folgenden Format angeben: projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: Eine durch Kommas getrennte Liste von IP-Adressbereichen, die in den Hub exportiert werden sollen.

      Standardmäßig exportiert der Spoke alle Subnetzbereiche. Um Überschneidungen mit anderen Spokes im Hub zu vermeiden, können Sie angeben, welche Subnetzbereiche exportiert werden sollen. Wenn Sie Subnetzbereiche angeben, müssen Sie die Bereiche einschließen, in denen Multicast-Empfänger gehostet werden, sowie alle anderen Bereiche, die für die Kommunikation mit den Spokes in der Center-Gruppe erforderlich sind, z. B. für Unicast-Traffic.

      Google Cloud verhindert Subnetzüberschneidungen bei VPC-Spokes, wie unter Eindeutigkeit von Subnetzrouten beschrieben. Weitere Informationen zur Verwendung von Exportfiltern zur Vermeidung von Überschneidungen finden Sie unter VPC-Konnektivität mit Exportfiltern.

  2. Wenden Sie sich an den Multicast-Administrator, um ihn darüber zu informieren, dass Sie einen VPC-Spoke für den Hub vorgeschlagen haben.

    Wenn sich der Hub in einem anderen Projekt befindet, muss der Multicast-Administrator Ihren Spoke explizit genehmigen, bevor er aktiv wird, es sei denn, der Multicast-Administrator hat Ihr Projekt als automatisch akzeptiertes Projekt hinzugefügt.

    Informationen zum Prüfen des Status eines Spoke nach dem Erstellen finden Sie unter Status eines VPC-Spoke prüfen.

VPC-Netzwerk für den Empfang von Multicast-Traffic aktivieren

In diesem Abschnitt wird beschrieben, wie Sie Multicast-Empfänger in einem VPC-Netzwerk aktivieren, damit sie Multicast-Traffic von einer bestimmten Domain und einem oder mehreren Gruppenbereichen empfangen können.

Multicast-VPC-Netzwerk des Nutzers einer Domain hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie einer Domain ein Multicast-Nutzer-VPC-Netzwerk hinzufügen, indem Sie eine Multicast-Nutzerverknüpfung zwischen dem Netzwerk und der Domain erstellen.

Führen Sie die folgenden Schritte für jede Zone aus, in der Sie Multicast-Empfänger hosten möchten.

gcloud

Verwenden Sie den Befehl network-services multicast-consumer-associations create, um einer Domain ein VPC-Netzwerk für Multicast-Consumer hinzuzufügen.

   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

Ersetzen Sie die folgenden Werte:

  • CONSUMER_ASSOCIATION_NAME: ein Name für die Multicast-Nutzerverknüpfung
  • ADMIN_PROJECT: die ID des Projekts des Multicast-Administrators
  • ZONE: eine Zone, in der der Administrator die Multicast-Domain aktiviert hat und in der Sie Multicast-Nutzer hosten müssen
  • DOMAIN_ACTIVATION_NAME: der Name der Domainaktivierung, die vom Multicast-Administrator erstellt wurde
  • MULTICAST_CONSUMER_PROJECT und MULTICAST_CONSUMER_NETWORK: das Projekt und das Netzwerk, in dem Multicast-Traffic empfangen wird. Entweder das Multicast-Administratorprojekt und ‑netzwerk oder ein separates Multicast-Nutzerprojekt und ‑netzwerk, je nach Multicast-Topologie der Domain.

API

Wenn Sie einer Domain ein VPC-Netzwerk für Multicast-Empfänger hinzufügen möchten, verwenden Sie die Methode 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"
}

Ersetzen Sie die folgenden Werte:

  • CONSUMER_ASSOCIATION_NAME: ein Name für die Multicast-Nutzerverknüpfung
  • ADMIN_PROJECT: die ID des Projekts des Multicast-Administrators
  • ZONE: eine Zone, in der der Administrator die Multicast-Domain aktiviert hat und in der Sie Multicast-Nutzer hosten müssen.
  • DOMAIN_ACTIVATION_NAME: der Name der Domainaktivierung, die vom Multicast-Administrator erstellt wurde
  • MULTICAST_CONSUMER_PROJECT und MULTICAST_CONSUMER_NETWORK: das Projekt und das Netzwerk, in dem Multicast-Traffic empfangen wird. Entweder das Multicast-Administratorprojekt und ‑netzwerk oder ein separates Multicast-Nutzerprojekt und ‑netzwerk, je nach Multicast-Topologie der Domain.

VPC-Netzwerk des Multicast-Nutzers für einen Gruppenbereich aktivieren

In diesem Abschnitt wird beschrieben, wie Sie ein VPC-Netzwerk für Multicast-Nutzer für einen Gruppenbereich aktivieren.

Führen Sie die folgenden Schritte für jeden Multicast-Gruppenbereich und jede Zone aus, für die Sie Multicast-Traffic empfangen möchten.

Nachdem Sie diesen Schritt abgeschlossen haben, können Multicast-Empfänger im Netzwerk den Multicast-Gruppen-IP-Adressen im angegebenen Gruppenbereich beitreten, sofern IGMP konfiguriert ist.

gcloud

Verwenden Sie den Befehl network-services multicast-group-consumer-activations create, um ein VPC-Netzwerk für Multicast-Nutzer für einen Multicast-Gruppenbereich zu aktivieren.

   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]

Ersetzen Sie die folgenden Werte:

  • GROUP_CONSUMER_ACTIVATION_NAME: ein Name für die Aktivierung des Multicast-Gruppen-Consumers
  • CONSUMER_PROJECT: die ID Ihres Projekts. Das kann je nach Topologie der Multicast-Domain entweder das Multicast-Administratorprojekt oder ein separates Multicast-Nutzerprojekt sein.

  • ZONE: die Zone, in der das Multicast-Nutzer-Netzwerk aktiviert werden soll. Muss auch eine Zone sein, in der der Administrator den Multicast-Gruppenbereich aktiviert hat.

  • CONSUMER_ASSOCIATION_NAME: der Name der zuvor erstellten Multicast-Consumer-Zuordnung

  • ADMIN_PROJECT: die ID des Projekts des Multicast-Administrators

  • GROUP_RANGE_ACTIVATION_NAME: Der Name der von einem Multicast-Administrator erstellten Gruppenbereichsaktivierung.

  • --[no-]enable-logging: optional, bestimmt, ob die Protokollierung von Gruppenmitgliedschaftsereignissen aktiviert ist.

    • Verwenden Sie --enable-logging, um das Logging zu aktivieren.
    • (Standard) Um das Logging zu deaktivieren, verwenden Sie --no-enable-logging.

API

Verwenden Sie die Methode multicastGroupConsumerActivations.create, um ein VPC-Netzwerk für Multicast-Nutzer für einen Multicast-Gruppenbereich zu aktivieren.

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

Ersetzen Sie die folgenden Werte:

  • GROUP_CONSUMER_ACTIVATION_NAME: ein Name für die Aktivierung des Multicast-Gruppen-Consumers
  • CONSUMER_PROJECT: die ID Ihres Projekts. Das kann je nach Topologie der Multicast-Domain entweder das Multicast-Administratorprojekt oder ein separates Multicast-Nutzerprojekt sein.
  • ZONE: die Zone, in der das Multicast-Nutzer-Netzwerk aktiviert werden soll. Muss auch eine Zone sein, in der der Administrator den Multicast-Gruppenbereich aktiviert hat.
  • CONSUMER_ASSOCIATION_NAME: der Name der zuvor erstellten Multicast-Consumer-Zuordnung
  • ADMIN_PROJECT: die ID des Projekts des Multicast-Administrators
  • GROUP_RANGE_ACTIVATION_NAME: der Name der von dem Multicast-Administrator erstellten Gruppenbereichsaktivierung
  • LOGGING_ENABLED: Legt fest, ob Protokollierung von Gruppenmitgliedschaftsereignissen aktiviert ist.
    • Setzen Sie den Wert auf true, um das Logging zu aktivieren.
    • (Standard) Um das Logging zu deaktivieren, legen Sie false fest.

Multicast-Nutzerinstanzen erstellen

Falls noch nicht geschehen, erstellen Sie eine oder mehrere Compute Engine-Instanzen, auf denen Ihre Anwendung ausgeführt wird, die Multicast-Traffic empfängt. Informationen zum Erstellen einer Multicast-Nutzerinstanz oder zum Konfigurieren einer vorhandenen Instanz als Multicast-Nutzer finden Sie unter Multicast-Nutzerinstanzen konfigurieren.

Nächste Schritte