Configurare le istanze consumer multicast
Questa pagina descrive come configurare le istanze di Compute Engine in modo che possano ricevere il traffico multicast. Le istanze che ricevono il traffico multicast sono chiamate consumer multicast.
Le procedure descritte in questa pagina illustrano come configurare i consumer multicast come segue:
Abilita la query IGMP su un'istanza nuova o esistente e imposta IGMPv2 nel sistema operativo guest.
Il completamento di questi passaggi consente alle applicazioni in esecuzione sull'istanza di partecipare ai gruppi multicast e di abbandonarli.
Per le configurazioni multicast in cui l'amministratore multicast ha preconfigurato una policy di posizionamento, puoi applicare facoltativamente la policy di posizionamento a un'istanza nuova o esistente.
Per i consumer multicast che ricevono livelli elevati di traffico, aumenta la dimensione del buffer circolare del driver di rete per evitare la perdita di pacchetti.
Per saperne di più sul funzionamento di IGMPv2 dopo aver configurato l'istanza, consulta Come funziona IGMPv2.
Prima di iniziare
Prima di creare istanze consumer multicast, consulta le sezioni seguenti.
Esaminare le considerazioni relative alla macchina e al sistema operativo per i consumer multicast
Per garantire prestazioni ottimali, esamina le seguenti indicazioni e crea l'istanza di conseguenza:
Tipo di macchina: esamina le indicazioni descritte in Considerazioni sulla macchina per i producer e i consumer multicast.
Sistema operativo (SO) e driver di rete: vedi quanto segue:
Ti consigliamo di utilizzare un sistema operativo Linux. Per saperne di più, consulta la documentazione del sistema operativo .
Per i consumer multicast che ricevono livelli elevati di traffico, ti consigliamo di aumentare la dimensione del buffer circolare del driver di rete a un valore di
2048per evitare la perdita di pacchetti.Se utilizzi un'istanza di macchina virtuale (VM), consulta le seguenti considerazioni per il driver gVNIC:
Alcune versioni precedenti del sistema operativo potrebbero non utilizzare una versione del driver gVNIC che supporta l'aumento della dimensione del buffer circolare. Esempi di versioni del sistema operativo che supportano questa funzionalità per impostazione predefinita sono RHEL 10, Rocky Linux 10 e Ubuntu 24.04.
Se non riesci ad aumentare la dimensione del buffer circolare per impostazione predefinita, devi prima eseguire manualmente l'upgrade del driver gVNIC alla versione 1.4.5 o successive.
Controllare se esiste una policy di posizionamento preconfigurata
Se l'amministratore multicast ha configurato un gruppo di domini per i domini multicast ridondanti, allora Google Cloud fornisce automaticamente una policy di posizionamento facoltativa, a meno che l'amministratore multicast non abbia disattivato la policy durante l'attivazione del dominio. Quando applichi questa policy di posizionamento a istanze nuove o esistenti, Compute Engine tenta di posizionare le istanze il più vicino possibile all'infrastruttura per il dominio multicast nella zona corrispondente.
Per verificare se è disponibile una policy di posizionamento, procedi come segue:
Visualizza i dettagli dell'associazione del consumer multicast per la zona in cui prevedi di creare l'istanza. Consulta Visualizzare le associazioni consumer multicast.
Se l'output contiene un nome di policy di posizionamento nel campo
placementPolicy, puoi applicare la policy di posizionamento quando crei una nuova istanza o configuri un'istanza esistente. Registra il valore in modo da poterlo utilizzare quando completi le procedure descritte in questa pagina.
Creare un'istanza consumer multicast
Questa sezione descrive come creare una nuova istanza da utilizzare come consumer multicast abilitando IGMP e utilizzando una policy di posizionamento facoltativa, se applicabile.
Per saperne di più sulla creazione di istanze, consulta Creare e avviare un'istanza di Compute Engine.
gcloud
Per creare una nuova istanza consumer multicast, utilizza il
compute instances createcomando e specifica iligmp-queryflag:gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --network-interface=network=MULTICAST_CONSUMER_NETWORK,subnet=MULTICAST_CONSUMER_SUBNET,igmp-query=IGMP_QUERY_V2[,no-address] \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY_NAME \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \ [--maintenance-policy=MAINTENANCE_POLICY] \ [--resource-policies=PLACEMENT_POLICY_NAME] \ [--shielded-secure-boot] \ [--shielded-vtpm] \ [--shielded-integrity-monitoring]
Sostituisci i seguenti valori:
INSTANCE_NAME: un nome per l'istanzaZONE: la zona in cui creare l'istanza. Deve essere una zona in cui hai attivato la rete VPC consumer multicast che ospita l'istanza.MULTICAST_CONSUMER_NETWORK,MULTICAST_CONSUMER_SUBNET: la rete VPC e la subnet consumer multicast in cui ospitare l'istanzaMACHINE_TYPE: il tipo di macchina per l'istanza Se non l'hai ancora fatto, esamina le indicazioni descritte in Considerazioni sulla macchina per i producer e i consumer multicast.IMAGE_PROJECT: il progetto che contiene l'immagine, ad esempioubuntu-os-cloud.IMAGE_FAMILY: la famiglia di immagini, ad esempioubuntu-2404-lts-amd64.Se specifichi una famiglia di immagini, l'istanza viene creata dalla versione più recente e non deprecata dell'immagine del sistema operativo nella famiglia di immagini. In alternativa, puoi utilizzare il flag
--imagee specificare una versione dell'immagine.Se utilizzi un tipo di macchina con almeno 48 vCPU, mantieni il
-network-performance-configsflag e il relativo valore, che attiva il networking Tier_1. Se utilizzi un tipo di macchina con 32 vCPU, rimuovi questo flag perché il networking Tier_1 non è supportato per le istanze C4 con 32 vCPU o meno.Se è disponibile una policy di posizionamento, puoi facoltativamente creare l'istanza con la policy di posizionamento utilizzando i seguenti flag. Per saperne di più, consulta Applicare una policy di posizionamento compatto durante la creazione di un'istanza.
MAINTENANCE_POLICY: la policy di manutenzione dell'host dell'istanza. Se il tipo di macchina scelto non supporta la migrazione live, puoi specificare soloTERMINATE. In caso contrario, puoi specificareMIGRATEoTERMINATE. In alternativa, per utilizzare la policy di manutenzione predefinita per il tipo di istanza, puoi omettere questo flag.PLACEMENT_POLICY_NAME: il nome della policy di posizionamento nell'output dell'associazione del consumer multicast.
Facoltativamente, crea una Shielded VM senza un indirizzo IP esterno utilizzando i parametri
--shieldedeno-address. Per saperne di più, consulta Che cos'è una Shielded VM?.
Segui le istruzioni per impostare IGMPv2 nel sistema operativo guest.
Segui le istruzioni per aumentare la dimensione del buffer circolare del driver di rete.
Configurare un'istanza esistente come consumer multicast
Questa sezione descrive come configurare un'istanza esistente come consumer multicast abilitando IGMP e utilizzando una policy di posizionamento facoltativa, se applicabile.
gcloud
Per configurare un'istanza esistente come consumer multicast, utilizza il
compute instances network-interfaces updatecomando e specifica iligmp-queryflag.Il comando seguente aggiorna l'interfaccia
nic0. Per specificare un'interfaccia diversa, utilizza il flag--network-interface.gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE \ --igmp-query=IGMP_QUERY_V2
Sostituisci i seguenti valori:
INSTANCE_NAME: il nome dell'istanzaZONE: la zona dell'istanza
Se è disponibile una policy di posizionamento e vuoi applicarla all'istanza, consulta Applicare una policy di posizionamento compatto a un'istanza esistente. Per il nome della policy, utilizza il nome della policy di posizionamento nell'output dell'associazione consumer multicast.
Segui le istruzioni per impostare IGMPv2 nel sistema operativo guest.
Segui le istruzioni per aumentare la dimensione del buffer circolare del driver di rete.
Se il tipo di macchina dell'istanza ha almeno 48 vCPU, attiva il networking Tier_1 come descritto in Aggiornare un'istanza di Compute per includere il networking Tier_1.
Impostare IGMPv2 nel sistema operativo guest
Per impostare IGMPv2 nel sistema operativo guest dell'istanza:
Connettiti all'istanza utilizzando SSH.
Esegui il comando seguente e identifica il nome dell'interfaccia di rete collegata a una subnet nella rete VPC consumer multicast.
sudo ifconfig
Esegui il comando seguente per forzare IGMPv2.
sudo -i echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_NAME/force_igmp_version
Sostituisci
NETWORK_INTERFACE_NAMEcon il nome dell'interfaccia di rete.
Aumentare la dimensione del buffer circolare del driver di rete
Questa sezione descrive come aumentare la dimensione del buffer circolare del driver di rete sull'istanza.
A seconda della versione del sistema operativo utilizzata dall'istanza, potrebbe essere necessario eseguire manualmente l'upgrade del driver gVNIC alla versione 1.4.5 o successive per poter eseguire correttamente il comando seguente.
Per i consumer multicast che ricevono livelli elevati di traffico, aumenta la dimensione del buffer circolare del driver di rete a un valore di 2048 per evitare la perdita di pacchetti. Vedi il seguente comando di esempio:
sudo ethtool -G eth0 rx 2048 tx 2048
Per saperne di più, consulta Funzionalità e configurazione del driver.
Passaggi successivi
- Per testare rapidamente la configurazione multicast senza avviare un carico di lavoro dell'applicazione, puoi utilizzare lo strumento
iperfcome descritto in Comandi di esempio per testare il traffico multicast.