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.

Hinweise

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 Multicast-Domain, der Multicast-Gruppenbereich und die Multicast-Producer-Konfigurationen, für die Sie Multicast-Traffic nutzen möchten, wie in der Übersicht zur Multicast-Konfiguration beschrieben konfiguriert 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-Consumers verwendet wird. Alternativ können Sie in den folgenden Verfahren für jeden Befehl das Flag --project=PROJECT übergeben.

    gcloud config set project PROJECT

Ersetzen Sie PROJECT durch die ID Ihres Projekts.

APIs aktivieren

Aktivieren Sie die folgenden APIs, falls noch nicht geschehen.

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 das Network Connectivity Center 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-Sicherheitsadministrator (compute.securityAdmin) für Ihr Projekt
  • So erstellen Sie Network Connectivity Center-Spokes: Spoke-Administrator (networkconnectivity.spokeAdmin) für Ihr Projekt
  • So schlagen Sie Network Connectivity Center-Spokes für den Hub vor, der einer Multicast-Domain zugeordnet ist: Gruppennutzer (networkconnectivity.groupUser) im Projekt des Multicast-Administrators
  • So erstellen Sie Multicast-Ressourcen: Multicast Admin (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 Network Connectivity Center-Stern-Topologie mit separaten VPC-Netzwerken für Multicast-Consumer 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, um Multicast-Empfänger zu hosten.

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

    Ersetzen Sie die folgenden Werte:

    • SUBNET: der Name für das Subnetz
    • MULTICAST_CONSUMER_NETWORK: Der Name des Multicast-Consumer-Netzwerks, das Sie zuvor erstellt haben.
    • 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.

Die Befehle enthalten bereits Beispielnamen für Firewallregeln. 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 in Ihr VPC-Netzwerk aus dem Multicast-Erstellernetzwerk 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 Multicast-Consumer-Netzwerks, das Sie zuvor erstellt haben.
  • PORT: Eine Liste der Ports, auf die sich die Firewallregel bezieht. Google Cloud verwendet udp für Multicast-Traffic. Nach dem Protokoll kann ein Port oder Portbereich angegeben werden, auf den sich die Firewallregel für Traffic über bestimmte Ports bezieht. 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-Ersteller 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-Anfrage 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 aus dem Netzwerkbereich des Multicast-Nutzer zulässt.

Der folgende Befehl umfasst:

  • --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 Multicast-Consumer-Netzwerks, das Sie zuvor erstellt haben.
  • MULTICAST_CONSUMER_RANGE: Der CIDR-Bereich des Multicast-Consumer-Netzwerks, der zum Zuweisen von IP-Adressen für Multicast-Consumer verwendet wird.

Ausgehendes IGMP 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 Multicast-Consumer-Netzwerks, das Sie zuvor erstellt haben.
  • 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 erforderlich, um IGMP-Leave-Nachrichten zu senden.

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

VPC-Netzwerk einem Network Connectivity Center-Hub hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Ihr VPC-Netzwerk dem vom Multicast-Administrator erstellten Network Connectivity Center-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 Network Connectivity Center-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 Multicast-Administratorprojekts
    • HUB: Der Name des Network Connectivity Center-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 Multicast-Consumer-Netzwerks, das Sie zuvor erstellt haben.

      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 in VPC-Spokes, wie unter Eindeutigkeit von Subnetzrouten beschrieben. Weitere Informationen zur Verwendung von Exportfiltern, um Überschneidungen zu vermeiden, 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 Projekt mit automatischer Annahme 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-Nutzer-VPC-Netzwerk einer Domain hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie einer Domain ein VPC-Netzwerk für Multicast-Nutzer hinzufügen, indem Sie eine Multicast-Nutzerzuordnung 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 Verknüpfung des Multicast-Nutzers
  • ADMIN_PROJECT: die ID des Multicast-Administratorprojekts
  • 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, die Multicast-Traffic nutzen. Entweder das Multicast-Administratorprojekt und ‑Netzwerk oder ein separates Multicast-Nutzerprojekt und ‑Netzwerk, je nach Multicast-Topologie der Domain.

API

Verwenden Sie die Methode multicastConsumerAssociations.create, um einer Domain ein VPC-Netzwerk für Multicast-Consumer hinzuzufügen.

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 Verknüpfung des Multicast-Nutzers
  • 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.

Multicast-Nutzer-VPC-Netzwerk 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 Multicastgruppenbereich 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 dem 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.
    • Standardmäßig wird das Logging mit --no-enable-logging deaktiviert.

API

Verwenden Sie zum Aktivieren eines VPC-Netzwerk für Multicast-Nutzer für einen Multicast-Gruppenbereich die Methode 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"
    }
}

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 Multicast-Administratorprojekts
  • GROUP_RANGE_ACTIVATION_NAME: der Name der von einem Multicast-Administrator erstellten Gruppenbereichsaktivierung
  • LOGGING_ENABLED: Legt fest, ob die Protokollierung von Gruppenmitgliedschaftsereignissen aktiviert ist.
    • Setzen Sie den Wert auf true, um das Logging zu aktivieren.
    • (Standard) Wenn Sie das Logging deaktivieren möchten, legen Sie false fest.

Multicast-Verbraucherinstanzen 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-Consumer-Instanz oder zum Konfigurieren einer vorhandenen Instanz als Multicast-Consumer finden Sie unter Multicast-Consumer-Instanzen konfigurieren.

Nächste Schritte