Abilitare una rete VPC per 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.

Verificare che le configurazioni del dominio multicast, dell'intervallo di gruppi e del producer siano complete

Verifica che le configurazioni del dominio multicast, dell'intervallo di gruppi multicast e del producer multicast per cui vuoi utilizzare il traffico multicast siano complete come descritto in la panoramica della configurazione multicast. Se necessario, contatta l'amministratore multicast del dominio.

Impostare il progetto

Imposta gcloud CLI in modo che utilizzi il progetto della rete VPC del 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.

Abilitare API

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

Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se non hai 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 (NCC), abilita l'API networkconnectivity:

        gcloud services enable networkconnectivity.googleapis.com
    

Ruoli obbligatori

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

  • Per creare e gestire le risorse di rete: Amministratore rete Compute (compute.networkAdmin) sul tuo progetto
  • Per creare e gestire le regole firewall: Amministratore sicurezza Compute (compute.securityAdmin) sul tuo progetto
  • Per creare spoke NCC: Amministratore spoke (networkconnectivity.spokeAdmin) sul tuo progetto
  • Per proporre spoke NCC all'hub associato a un dominio multicast: Utente gruppo (networkconnectivity.groupUser) sul progetto dell'amministratore multicast
  • Per creare risorse multicast: Amministratore multicast (networkservices.multicastAdmin) sul 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.

Creare una rete VPC e aggiungerla a un hub

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

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

Creare una rete VPC

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

Per saperne di più sulla creazione di reti VPC, consulta Crea e gestisci le reti VPC.

gcloud

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

    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 compute networks subnets create comando.

    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 supporta il multicast, ad esempio us-east5.

Aggiungere regole firewall

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

Per creare regole firewall aggiuntive, ad esempio per SSH, vedi 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.

Consentire il traffico multicast in entrata

gcloud

Per creare una regola firewall che consenta il traffico multicast in entrata nella rete VPC dalla rete del producer multicast, utilizza il compute firewall-rules create comando.

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. È possibile specificare una porta o un intervallo di porte dopo il protocollo a cui si applica la regola firewall sul traffico tramite 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 del producer multicast, utilizzato per allocare gli 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.

Consentire la query IGMP in entrata

gcloud

Per creare una regola firewall che consenta il traffico di query IGMP in entrata nella rete VPC del consumer multicast dall'intervallo di rete del 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 gli indirizzi IP per i consumer multicast.

Consentire IGMP in uscita

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

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

gcloud

Per creare una regola firewall che consenta il traffico IGMP multicast in uscita dalla rete VPC del consumer multicast, utilizza il compute firewall-rules create comando.

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:

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

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

Aggiungere la rete VPC a un hub NCC

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

Per saperne di più, vedi Topologia a stella e Creare uno spoke VPC nella documentazione di NCC.

gcloud

  1. Per aggiungere la rete VPC come spoke edge a un hub, utilizza il network-connectivity spokes linked-vpc-network create comando.

      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 dell'amministratore multicast
    • HUB: il nome dell'hub NCC creato dall'amministratore multicast. La rete VPC del consumer multicast deve essere collegata allo stesso hub delle reti VPC dell'amministratore multicast e del producer multicast. Se necessario, contatta l'amministratore 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 sull'hub, puoi specificare gli intervalli di subnet da esportare. Se specifichi gli 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 centrale, ad esempio per il traffico unicast.

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

  2. Contatta l'amministratore multicast per informarlo 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 l'amministratore multicast non abbia aggiunto il tuo progetto come progetto di accettazione automatica.

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

Abilitare una rete VPC per utilizzare il traffico multicast

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

Aggiungere la rete VPC del consumer multicast a un dominio

Questa sezione descrive come aggiungere una rete VPC del consumer multicast a un dominio creando un'associazione del 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 del consumer multicast a un dominio, utilizza il network-services multicast-consumer-associations create comando.

   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 del consumer multicast
  • ADMIN_PROJECT: l'ID del progetto dell'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 o un progetto e una rete consumer multicast separati, a seconda della topologia multicast del dominio.

API

Per aggiungere una rete VPC del consumer multicast a un dominio, utilizza il multicastConsumerAssociations.create metodo.

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 del consumer multicast
  • ADMIN_PROJECT: l'ID del progetto dell'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 o un progetto e una rete consumer multicast separati, a seconda della topologia multicast del dominio.

Attivare la rete VPC del consumer multicast per un intervallo di gruppi

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

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

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

gcloud

Per attivare una rete VPC del consumer multicast per un intervallo di gruppi multicast, utilizza il network-services multicast-group-consumer-activations create comando.

   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ò essere il progetto dell'amministratore multicast o 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 del consumer multicast creata in precedenza

  • ADMIN_PROJECT: l'ID del progetto dell'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 iscrizione al gruppo è abilitata.

    • Per abilitare la registrazione, utilizza --enable-logging.
    • (Impostazione predefinita) Per disabilitare la registrazione, utilizza --no-enable-logging.

API

Per attivare una rete VPC del consumer multicast per un intervallo di gruppi multicast, utilizza il multicastGroupConsumerActivations.create metodo.

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ò essere il progetto dell'amministratore multicast o 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 del consumer multicast creata in precedenza
  • ADMIN_PROJECT: l'ID del progetto dell'amministratore multicast
  • GROUP_RANGE_ACTIVATION_NAME: il nome dell'attivazione dell'intervallo di gruppi creata dall'amministratore multicast
  • LOGGING_ENABLED: determina se la registrazione degli eventi di iscrizione al gruppo è abilitata.
    • Per abilitare la registrazione, imposta su true.
    • (Impostazione predefinita) Per disabilitare la registrazione, imposta su false.

Creare istanze consumer multicast

Se non l'hai già 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 come consumer multicast, vedi Configurare le istanze consumer multicast.

Passaggi successivi