Configurar instâncias de consumidor de multicast
Esta página descreve como configurar instâncias do Compute Engine para que elas possam receber tráfego de multicast. As instâncias que recebem tráfego de multicast são chamadas de consumidores de multicast.
Os procedimentos nesta página descrevem como configurar consumidores de multicast da seguinte maneira:
Ative a consulta IGMP em uma nova ou atual instância e defina o IGMPv2 no SO convidado.
Concluir essas etapas permite que os aplicativos executados na instância entrem e saiam de grupos de multicast.
Para configurações de multicast em que o administrador de multicast pré-configurou uma política de posicionamento, você pode aplicar a política de posicionamento a uma instância nova ou atual.
Para consumidores de multicast que recebem altos níveis de tráfego, aumente o tamanho do buffer de anel do driver de rede para evitar a perda de pacotes.
Para mais informações sobre como o IGMPv2 funciona depois de configurar a instância, consulte Como o IGMPv2 funciona.
Antes de começar
Antes de criar instâncias de consumidor de multicast, consulte as seções a seguir.
Analisar as considerações de máquina e SO para consumidores de multicast
Para garantir a performance ideal, revise as orientações a seguir e crie sua instância de acordo com elas:
Tipo de máquina: revise as orientações descritas em Considerações de máquina para produtores e consumidores de multicast.
Sistema operacional (SO) e driver de rede: consulte o seguinte:
Recomendamos o uso de um SO Linux. Para mais informações, consulte Detalhes do sistema operacional.
Para consumidores de multicast que recebem altos níveis de tráfego, recomendamos aumentar o tamanho do buffer de anel do driver de rede para um valor de
2048para evitar a perda de pacotes.Se você estiver usando uma instância de máquina virtual (VM), consulte as considerações a seguir para o driver gVNIC:
Algumas versões anteriores do SO podem não usar uma versão do driver gVNIC que ofereça suporte ao aumento do tamanho do buffer de anel. Exemplos de versões do SO que oferecem suporte a essa funcionalidade por padrão são RHEL 10, Rocky Linux 10 e Ubuntu 24.04.
Se você não puder aumentar o tamanho do buffer de anel por padrão, será necessário primeiro fazer upgrade manual do driver gVNIC para a versão 1.4.5 ou mais recente.
Verificar se há uma política de posicionamento pré-configurada
Se o administrador de multicast configurou um grupo de domínio para domínios de multicast redundantes, o Google Cloud fornece automaticamente uma política de posicionamento opcional, a menos que o administrador de multicast tenha desativado a política ao ativar o domínio. Quando você aplica essa política de posicionamento a instâncias novas ou atuais, o Compute Engine tenta colocar as instâncias o mais próximo possível da infraestrutura do domínio de multicast na zona correspondente.
Para verificar se uma política de posicionamento está disponível, faça o seguinte:
Consulte os detalhes da associação do consumidor de multicast para a zona em que você planeja criar a instância. Consulte Conferir associações de consumidores de multicast.
Se a saída contiver um nome de política de posicionamento no campo
placementPolicy, você poderá aplicar a política de posicionamento ao criar uma nova instância ou configurar uma instância atual. Registre o valor para que você possa usá-lo ao concluir os procedimentos nesta página.
Criar uma instância de consumidor de multicast
Esta seção descreve como criar uma nova instância para usar como consumidor de multicast ativando o IGMP e usando uma política de posicionamento opcional, se aplicável.
Para mais informações sobre como criar instâncias, consulte Criar e iniciar uma instância do Compute Engine.
gcloud
Para criar uma nova instância de consumidor de multicast, use o
compute instances createcomando e especifique aigmp-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]
Substitua os seguintes valores:
INSTANCE_NAME: um nome para a instânciaZONE: a zona em que a instância será criada. Precisa ser uma zona em que você ativou a rede VPC do consumidor de multicast que hospeda a instância.MULTICAST_CONSUMER_NETWORK,MULTICAST_CONSUMER_SUBNET: a rede VPC e a sub-rede do consumidor de multicast em que a instância será hospedadaMACHINE_TYPE: o tipo de máquina da instância. Se ainda não tiver feito isso, revise as orientações descritas em Considerações de máquina para produtores e consumidores de multicast.IMAGE_PROJECT: o projeto de imagem que contém a imagem, comoubuntu-os-cloud.IMAGE_FAMILY: a família de imagens, comoubuntu-2404-lts-amd64.Especificar uma família de imagens cria a instância a partir da versão mais recente e não obsoleta da imagem do SO na família de imagens. Como alternativa, você pode usar a flag
--imagee especificar uma versão de imagem.Se você estiver usando um tipo de máquina com 48 vCPUs ou mais, mantenha a
-network-performance-configsflag e o valor dela, que ativa a rede Tier_1. Se você estiver usando um tipo de máquina com 32 vCPUs, remova essa flag, porque a rede Tier_1 não é compatível com instâncias C4 com 32 vCPUs ou menos.Se uma política de posicionamento estiver disponível, você poderá criar a instância com a política de posicionamento usando as flags a seguir. Para mais informações, consulte Aplicar uma política de posicionamento compacto ao criar uma instância.
MAINTENANCE_POLICY: a política de manutenção do host da instância. Se o tipo de máquina escolhido não oferecer suporte à migração em tempo real, você só poderá especificarTERMINATE. Caso contrário, você pode especificarMIGRATEouTERMINATE. Como alternativa, para usar a política de manutenção padrão do tipo de instância, omita essa flag.PLACEMENT_POLICY_NAME: o nome da política de posicionamento da saída da associação do consumidor de multicast.
Opcionalmente, crie uma VM protegida sem um endereço IP externo usando os parâmetros
--shieldedeno-address. Para mais informações, consulte O que é uma VM protegida?.
Siga as instruções para definir o IGMPv2 no SO convidado.
Siga as instruções para aumentar o tamanho do buffer de anel do driver de rede.
Configurar uma instância atual para ser um consumidor de multicast
Esta seção descreve como configurar uma instância atual para ser um consumidor de multicast ativando o IGMP e usando uma política de posicionamento opcional, se aplicável.
gcloud
Para configurar uma instância atual para ser um consumidor de multicast, use o
compute instances network-interfaces updatecomando e especifique aigmp-queryflag.O comando a seguir atualiza a interface
nic0. Para especificar uma interface diferente, use a flag--network-interface.gcloud compute instances network-interfaces update INSTANCE_NAME \ --zone=ZONE \ --igmp-query=IGMP_QUERY_V2
Substitua os seguintes valores:
INSTANCE_NAME: o nome da instânciaZONE: a zona da instância
Se uma política de posicionamento estiver disponível e você quiser aplicá-la à instância, consulte Aplicar uma política de posicionamento compacto a uma instância atual. Para o nome da política, use o nome da política de posicionamento da saída da associação do consumidor de multicast.
Siga as instruções para definir o IGMPv2 no SO convidado.
Siga as instruções para aumentar o tamanho do buffer de anel do driver de rede.
Se o tipo de máquina da instância tiver 48 vCPUs ou mais, ative a rede Tier_1 conforme descrito em Atualizar uma instância de computação para incluir a rede Tier_1.
Definir o IGMPv2 no SO convidado
Para definir o IGMPv2 no SO convidado da instância, faça o seguinte:
Conecte-se à instância usando SSH.
Execute o comando a seguir e identifique o nome da interface de rede anexada a uma sub-rede na rede VPC do consumidor de multicast.
sudo ifconfig
Execute o comando a seguir para forçar o IGMPv2.
sudo -i echo "2" > /proc/sys/net/ipv4/conf/NETWORK_INTERFACE_NAME/force_igmp_version
Substitua
NETWORK_INTERFACE_NAMEpelo nome da interface de rede.
Aumentar o tamanho do buffer de anel do driver de rede
Esta seção descreve como aumentar o tamanho do buffer de anel do driver de rede na instância.
Dependendo da versão do SO que a instância usa, talvez seja necessário fazer upgrade manual do driver gVNIC para a versão 1.4.5 ou mais recente para executar o comando a seguir.
Para consumidores de multicast que recebem altos níveis de tráfego, aumente o tamanho do buffer de anel do driver de rede para um valor de 2048 para evitar a perda de pacotes. Consulte o exemplo de comando a seguir:
sudo ethtool -G eth0 rx 2048 tx 2048
Para mais informações, consulte Recursos e configuração do driver.
A seguir
- Para testar rapidamente a configuração de multicast sem iniciar uma carga de trabalho do aplicativo
, use a ferramenta
iperf, conforme descrito em Comandos de exemplo para testar o tráfego de multicast.