Configura le istanze consumer multicast
Questa pagina descrive come configurare le istanze Compute Engine in modo che possano ricevere traffico multicast. Le istanze che ricevono traffico multicast sono chiamate consumer multicast.
Le procedure descritte in questa pagina illustrano come configurare i consumer multicast come segue:
Attiva 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 sulla tua istanza di entrare a far parte di 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 le dimensioni del buffer circolare del driver di rete per evitare la perdita di pacchetti.
Per ulteriori informazioni sul funzionamento di IGMPv2 dopo la configurazione dell'istanza, vedi Funzionamento di IGMPv2.
Prima di iniziare
Prima di creare istanze consumer multicast, consulta le sezioni seguenti.
Esamina le considerazioni relative al computer e al sistema operativo per i consumer multicast
Per garantire un rendimento ottimale, esamina le seguenti indicazioni e crea l'istanza di conseguenza:
Tipo di macchina: esamina le indicazioni descritte in Considerazioni sulla macchina per i produttori e i consumatori di multicast.
Sistema operativo (OS) 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, 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 delle dimensioni 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 le dimensioni del buffer circolare per impostazione predefinita, devi prima eseguire l'upgrade manuale 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, Google Cloud fornisce automaticamente una policy di posizionamento facoltativa, a meno che l'amministratore multicast non l'abbia disattivata 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 una policy di posizionamento è disponibile per te:
Visualizza i dettagli dell'associazione consumer multicast per la zona in cui intendi creare l'istanza. Vedi Visualizzare le associazioni dei consumer multicast.
Se l'output contiene un nome di policy di posizionamento nel campo
placementPolicy, puoi applicare la policy di posizionamento durante la creazione di una nuova istanza o la configurazione di un'istanza esistente. Registra il valore in modo da poterlo utilizzare quando completi le procedure in questa pagina.
Crea un'istanza consumer multicast
Questa sezione descrive come creare una nuova istanza da utilizzare come consumer multicast attivando IGMP e utilizzando una policy di posizionamento facoltativa, se applicabile.
Per saperne di più sulla creazione di istanze, consulta Crea e avvia un'istanza Compute Engine.
gcloud
Per creare una nuova istanza consumer multicast, utilizza il comando
compute instances createe specifica il flagigmp-query: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 \ [--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 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 di immagini 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 dall'ultima versione non deprecata dell'immagine sistema operativo nella famiglia di immagini. In alternativa, puoi utilizzare il flag
--imagee specificare una versione dell'immagine.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 Applica 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 dall'output dell'associazione dei consumer multicast.
Se vuoi, crea una Shielded VM senza un indirizzo IP esterno utilizzando i parametri
--shieldedeno-address. Per maggiori informazioni, vedi Che cos'è una Shielded VM?.
Segui le istruzioni per impostare IGMPv2 nel sistema operativo guest.
Segui le istruzioni per aumentare le dimensioni del buffer circolare del driver di rete.
Configurare un'istanza esistente in modo che sia un consumer multicast
Questa sezione descrive come configurare un'istanza esistente in modo che sia un consumer multicast attivando IGMP e utilizzando una policy di posizionamento facoltativa, se applicabile.
gcloud
Per configurare un'istanza esistente in modo che sia un consumer multicast, utilizza il comando
compute instances network-interfaces updatee specifica il flagigmp-query.Il seguente comando 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 alla tua istanza, consulta Applica una policy di posizionamento compatto a un'istanza esistente. Per il nome del criterio, utilizza il nome del criterio di posizionamento dall'output dell'associazione di consumer multicast.
Segui le istruzioni per impostare IGMPv2 nel sistema operativo guest.
Segui le istruzioni per aumentare le dimensioni del buffer circolare del driver di rete.
Imposta IGMPv2 nel sistema operativo guest
Per impostare IGMPv2 nel sistema operativo guest dell'istanza, procedi nel seguente modo:
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 questo comando 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 le dimensioni del buffer circolare del driver di rete
Questa sezione descrive come aumentare le dimensioni del buffer circolare del driver di rete sull'istanza.
A seconda della versione del sistema operativo utilizzata dall'istanza, potresti dover eseguire l'upgrade manuale del driver gVNIC alla versione 1.4.5 o successive per poter eseguire correttamente il seguente comando.
Per i consumer multicast che ricevono livelli elevati di traffico, aumenta le dimensioni 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.