Consenti a una rete VPC di utilizzare il traffico multicast

Questa pagina descrive i passaggi necessari per configurare le risorse in Google Cloud in modo che i consumer multicast in una rete VPC possano ricevere il traffico multicast da un determinato dominio multicast e da uno o più intervalli di gruppi.

Prima di iniziare

Prima di iniziare le procedure descritte in questa pagina, devi completare i prerequisiti descritti in questa sezione.

Verifica che le configurazioni del dominio multicast, dell'intervallo di gruppi e del produttore siano completate

Verifica che il dominio multicast, l'intervallo del gruppo multicast e le configurazioni del producer multicast per cui vuoi utilizzare il traffico multicast siano completi come descritto nella panoramica della configurazione multicast. Se necessario, contatta l'amministratore multicast del dominio.

Configurare il progetto

Imposta gcloud CLI in modo che utilizzi il progetto della rete VPC consumer multicast. In alternativa, puoi passare il flag --project=PROJECT per ogni comando nelle procedure seguenti.

    gcloud config set project PROJECT

Sostituisci PROJECT con l'ID del tuo progetto.

Abilita API

Se non l'hai ancora fatto, abilita le seguenti API.

Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se non disponi di questa autorizzazione, chiedi all'amministratore di Identity and Access Management (IAM) di concederti il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin).

  1. Per creare risorse multicast, abilita l'API networkservices:

        gcloud services enable networkservices.googleapis.com
    
  2. Per creare uno spoke VPC di Network Connectivity Center, abilita l'API networkconnectivity:

        gcloud services enable networkconnectivity.googleapis.com
    

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare le risorse consumer multicast, chiedi all'amministratore di concederti i seguenti ruoli IAM:

  • Per creare e gestire le risorse di rete: Compute Network Admin (compute.networkAdmin) sul tuo progetto
  • Per creare e gestire le regole firewall: Compute Security Admin (compute.securityAdmin) sul tuo progetto
  • Per creare spoke di Network Connectivity Center: Spoke Admin (networkconnectivity.spokeAdmin) sul tuo progetto
  • Per proporre spoke di Network Connectivity Center all'hub associato a un dominio multicast: Utente del gruppo (networkconnectivity.groupUser) nel progetto dell'amministratore multicast
  • Per creare risorse multicast: Multicast Admin (networkservices.multicastAdmin) nel tuo progetto

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Crea una rete VPC e aggiungila a un hub

Se il dominio multicast utilizza una topologia a stella di Network Connectivity Center in cui sono presenti reti VPC consumer multicast separate, devi completare i passaggi descritti in questa sezione.

Se il dominio multicast utilizza una singola topologia di rete VPC, puoi saltare questa sezione e procedere direttamente ai passaggi per consentire alla rete VPC di utilizzare il traffico multicast.

Crea una rete VPC

Questa sezione descrive come creare una rete Virtual Private Cloud (VPC) per utilizzare il traffico multicast.

Per ulteriori informazioni sulla creazione delle reti VPC, consulta Crea e gestisci le reti VPC.

gcloud

  1. Crea una rete VPC utilizzando il comando compute networks create.

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

    Sostituisci MULTICAST_CONSUMER_NETWORK con un nome per la rete consumer multicast.

  2. Aggiungi una o più subnet per ospitare i consumer multicast utilizzando il comando compute networks subnets create.

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

    Sostituisci i seguenti valori:

    • SUBNET: il nome della subnet
    • MULTICAST_CONSUMER_NETWORK: il nome della rete consumer multicast creata in precedenza
    • PRIMARY_RANGE: l'intervallo IPv4 primario per la subnet, in notazione CIDR. Per saperne di più, vedi Intervalli di subnet IPv4.
    • REGION: la Google Cloud regione in cui viene creata la nuova subnet. Deve essere una regione che supporti il multicast, come us-east5.

Aggiungere regole firewall

Questa sezione descrive come creare regole firewall nella rete VPC consumer multicast per il traffico multicast.

Per creare regole firewall aggiuntive, ad esempio per SSH, consulta Creare regole firewall VPC.

I comandi sono precompilati con nomi di regole firewall di esempio. Tieni presente che il nome di una regola firewall deve essere univoco in un progetto.

Consenti il traffico multicast in entrata

gcloud

Per creare una regola firewall che consenta il traffico multicast in entrata alla tua rete VPC dalla rete del produttore multicast, utilizza il comando 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

Sostituisci i seguenti valori:

  • MULTICAST_CONSUMER_NETWORK: il nome della rete consumer multicast creata in precedenza
  • PORT: un elenco di porte a cui si applica la regola firewall. Google Cloud utilizza udp per il traffico multicast. Una porta o un intervallo di porte può essere specificato dopo il protocollo a cui si applica la regola firewall sul traffico attraverso porte specifiche. Se non viene specificata alcuna porta o intervallo di porte, vengono applicate le connessioni tramite tutti gli intervalli.

    Ad esempio, specifica --rules=udp:1234 per consentire il traffico multicast tramite la porta 1234.

  • MULTICAST_PRODUCER_RANGE: l'intervallo CIDR della rete VPC producer multicast, utilizzato per allocare indirizzi IP per i producer multicast. In alternativa, puoi omettere il flag --source-ranges, che imposta l'origine in entrata su qualsiasi indirizzo IPv4 (0.0.0.0/0).

  • MULTICAST_GROUP_IP_RANGES: gli intervalli CIDR dei gruppi multicast a cui i producer multicast inviano il traffico. Deve essere un intervallo di indirizzi di classe D, ad esempio puoi utilizzare 224.0.0.0/4 per consentire tutto il traffico multicast.

Consenti query IGMP in entrata

gcloud

Per creare una regola firewall che consenta il traffico di query IGMP in entrata alla rete VPC consumer multicast dall'intervallo di rete consumer multicast, utilizza il comando compute firewall-rules create.

Il seguente comando include:

  • --destination-ranges=224.0.0.1/32 per specificare l'indirizzo IP del gruppo multicast che rappresenta tutti gli host in questa subnet.
  • --rules=2 per specificare 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

Sostituisci i seguenti valori:

  • MULTICAST_CONSUMER_NETWORK: il nome della rete consumer multicast creata in precedenza
  • MULTICAST_CONSUMER_RANGE: l'intervallo CIDR della rete consumer multicast, utilizzato per allocare indirizzi IP per i consumer multicast.

Consenti IGMP in uscita

Questa sezione descrive come creare una regola firewall che consenta il traffico IGMP in uscita in modo da poter inviare messaggi IGMP JOIN e LEAVE dai consumer multicast.

Tutte le reti VPC hanno una regola di uscita consentita IPv4 predefinita con la priorità più bassa (65535). Se non esiste una regola con priorità più elevata che blocca esplicitamente il traffico in uscita, non devi completare questo passaggio. Per saperne di più, consulta Regole implicite.

gcloud

Per creare una regola firewall che consenta il traffico IGMP multicast in uscita dalla rete VPC consumer multicast, utilizza il comando 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

Sostituisci i seguenti valori:

  • MULTICAST_CONSUMER_NETWORK: il nome della rete consumer multicast creata in precedenza
  • RANGES_FOR_JOIN_AND_LEAVE: un elenco separato da virgole di quanto segue:

    • Gli intervalli CIDR dei gruppi multicast a cui devono partecipare i consumer multicast. Devi utilizzare intervalli di indirizzi di classe D.
    • L'indirizzo IP di Tutti i router: 224.0.0.2/32. Questo intervallo è necessario per l'invio di messaggi di abbandono IGMP.

    In alternativa, puoi specificare 224.0.0.0/4 per consentire tutto il traffico multicast.

Aggiungi la rete VPC a un hub Network Connectivity Center

Questa sezione descrive come aggiungere la tua rete VPC all'hub Network Connectivity Center creato dall'amministratore multicast. Per aggiungere la tua rete, crea uno spoke VPC nel gruppo edge.

Per saperne di più, consulta Topologia a stella e Crea uno spoke VPC nella documentazione di Network Connectivity Center.

gcloud

  1. Per aggiungere la tua rete VPC come spoke edge a un hub, utilizza il comando 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_RANGES
    

    Sostituisci i seguenti valori:

    • SPOKE_NAME: un nome per lo spoke edge
    • MULTICAST_ADMIN_PROJECT: l'ID del progetto amministratore multicast
    • HUB: il nome dell'hub Network Connectivity Center creato dall'amministratore multicast. La rete VPC consumer multicast deve essere collegata allo stesso hub delle reti VPC producer multicast e dell'amministratore multicast. Se necessario, contatta l'amministratore del multicast per il nome dell'hub.

    • MULTICAST_CONSUMER_NETWORK: il nome della rete consumer multicast creata in precedenza

      In alternativa, puoi fornire l'URI della rete consumer multicast utilizzando il seguente formato: projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: un elenco separato da virgole di intervalli di indirizzi IP da esportare nell'hub.

      Per impostazione predefinita, lo spoke esporta tutti gli intervalli di subnet. Per evitare sovrapposizioni con altri spoke nell'hub, puoi specificare gli intervalli di subnet da esportare. Se specifichi intervalli di subnet, assicurati di includere gli intervalli che ospitano i consumer multicast e tutti gli altri intervalli necessari per la comunicazione con gli spoke nel gruppo hub, ad esempio per il traffico unicast.

      Google Cloud vieta le sovrapposizioni di subnet tra i VPC spoke come descritto in Unicità delle route di subnet. Per saperne di più sull'utilizzo dei filtri di esportazione per evitare sovrapposizioni, consulta Connettività VPC con filtri di esportazione.

  2. Contatta l'amministratore del multicast per comunicargli che hai proposto uno spoke VPC all'hub.

    Se l'hub si trova in un progetto diverso, l'amministratore multicast deve approvare esplicitamente lo spoke prima che diventi attivo, a meno che non abbia aggiunto il tuo progetto come progetto con accettazione automatica.

    Per controllare lo stato di uno spoke dopo averlo creato, consulta Controllare lo stato di uno spoke VPC.

Consenti a una rete VPC di utilizzare il traffico multicast

Questa sezione descrive i passaggi necessari per consentire ai consumer multicast in una rete VPC di ricevere traffico multicast da un determinato dominio e da uno o più intervalli di gruppi.

Aggiungi la rete VPC consumer multicast a un dominio

Questa sezione descrive come aggiungere una rete VPC consumer multicast a un dominio creando un'associazione consumer multicast tra la rete e il dominio.

Completa i seguenti passaggi per ogni zona in cui vuoi ospitare i consumer multicast.

gcloud

Per aggiungere una rete VPC consumer multicast a un dominio, utilizza il comando 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

Sostituisci i seguenti valori:

  • CONSUMER_ASSOCIATION_NAME: un nome per l'associazione dei consumer multicast
  • ADMIN_PROJECT: l'ID del progetto amministratore multicast
  • ZONE: una zona in cui l'amministratore ha attivato il dominio multicast e in cui devi ospitare i consumer multicast
  • DOMAIN_ACTIVATION_NAME: il nome dell'attivazione del dominio creata dall'amministratore multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: il progetto e la rete che utilizzano il traffico multicast. Il progetto e la rete dell'amministratore multicast oppure un progetto e una rete consumer multicast separati, a seconda della topologia multicast del dominio.

API

Per aggiungere una rete VPC consumer multicast a un dominio, utilizza il metodo 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"
}

Sostituisci i seguenti valori:

  • CONSUMER_ASSOCIATION_NAME: un nome per l'associazione dei consumer multicast
  • ADMIN_PROJECT: l'ID del progetto amministratore multicast
  • ZONE: una zona in cui l'amministratore ha attivato il dominio multicast e in cui devi ospitare i consumer multicast.
  • DOMAIN_ACTIVATION_NAME: il nome dell'attivazione del dominio creata dall'amministratore multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: il progetto e la rete che utilizzano il traffico multicast. Il progetto e la rete dell'amministratore multicast oppure un progetto e una rete consumer multicast separati, a seconda della topologia multicast del dominio.

Attiva la rete VPC consumer multicast per un intervallo di gruppi

Questa sezione descrive come attivare una rete VPC consumer multicast per un intervallo di gruppi.

Completa i seguenti passaggi per ogni intervallo e zona di gruppi multicast per cui vuoi utilizzare il traffico multicast.

Dopo aver completato questo passaggio, i consumer multicast nella rete possono unirsi agli indirizzi IP del gruppo multicast nell'intervallo di gruppi specificato, a condizione che abbiano IGMP configurato.

gcloud

Per attivare una rete VPC consumer multicast per un intervallo di gruppi multicast, utilizza il comando 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]

Sostituisci i seguenti valori:

  • GROUP_CONSUMER_ACTIVATION_NAME: un nome per l'attivazione del consumer del gruppo multicast
  • CONSUMER_PROJECT: l'ID del tuo progetto. Può trattarsi del progetto amministratore multicast o di un progetto consumer multicast separato, a seconda della topologia del dominio multicast.

  • ZONE: la zona in cui attivare la rete consumer multicast. Deve essere anche una zona in cui l'amministratore ha attivato l'intervallo di gruppi multicast.

  • CONSUMER_ASSOCIATION_NAME: il nome dell'associazione di consumer multicast creata in precedenza

  • ADMIN_PROJECT: l'ID del progetto amministratore multicast

  • GROUP_RANGE_ACTIVATION_NAME: il nome dell'attivazione dell'intervallo di gruppi creata dall'amministratore multicast.

  • --[no-]enable-logging: facoltativo, determina se la registrazione degli eventi di appartenenza al gruppo è attivata.

    • Per attivare il logging, utilizza --enable-logging.
    • (Predefinito) Per disattivare la registrazione, utilizza --no-enable-logging.

API

Per attivare una rete VPC consumer multicast per un intervallo di gruppi multicast, utilizza il metodo 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"
    }
}

Sostituisci i seguenti valori:

  • GROUP_CONSUMER_ACTIVATION_NAME: un nome per l'attivazione del consumer del gruppo multicast
  • CONSUMER_PROJECT: l'ID del tuo progetto. Può trattarsi del progetto amministratore multicast o di un progetto consumer multicast separato, a seconda della topologia del dominio multicast.
  • ZONE: la zona in cui attivare la rete consumer multicast. Deve essere anche una zona in cui l'amministratore ha attivato l'intervallo di gruppi multicast.
  • CONSUMER_ASSOCIATION_NAME: il nome dell'associazione di consumer multicast creata in precedenza
  • ADMIN_PROJECT: l'ID del progetto amministratore multicast
  • GROUP_RANGE_ACTIVATION_NAME: il nome dell'attivazione dell'intervallo di gruppi creata dall'amministratore multicast
  • LOGGING_ENABLED: determina se è abilitato il logging degli eventi di appartenenza al gruppo.
    • Per attivare il logging, imposta il valore su true.
    • (Predefinito) Per disattivare la registrazione, imposta false.

Crea istanze consumer multicast

Se non l'hai ancora fatto, crea una o più istanze Compute Engine per eseguire l'applicazione che utilizza il traffico multicast. Per creare un'istanza consumer multicast o configurare un'istanza esistente in modo che sia un consumer multicast, consulta Configurare le istanze consumer multicast.

Passaggi successivi