Configurar instâncias de consumidores de multicast

Nesta página, descrevemos como configurar instâncias do Compute Engine para que elas possam receber tráfego multicast. As instâncias que recebem tráfego 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 instância nova ou atual e defina o IGMPv2 no SO convidado.

    Ao concluir essas etapas, os aplicativos executados na sua instância podem entrar e sair de grupos de multicast.

  • Para configurações de multicast em que o administrador já configurou uma política de colocação, é possível aplicar essa política a uma instância nova ou atual.

  • Para consumidores de multicast que recebem altos níveis de tráfego, aumente o tamanho do buffer circular do driver de rede para evitar a perda de pacotes.

Para mais informações sobre como o IGMPv2 funciona depois que você configura sua instância, consulte Como o IGMPv2 funciona.

Antes de começar

Antes de criar instâncias de consumidores de multicast, consulte as seções a seguir.

Analise as considerações sobre máquinas e sistemas operacionais para consumidores de multicast

Para garantir o desempenho ideal, revise as orientações a seguir e crie sua instância de acordo com elas:

  • Tipo de máquina: consulte as orientações descritas em Considerações sobre máquinas para produtores e consumidores de multicast.

  • Sistema operacional (SO) e driver de rede: confira o seguinte:

    • Recomendamos usar 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 circular do driver de rede para um valor de 2048 e evitar a perda de pacotes.

      Se você estiver usando uma instância de máquina virtual (VM), consulte as seguintes considerações sobre o driver gVNIC:

      • Algumas versões mais antigas do SO podem não usar uma versão do driver gVNIC que permita aumentar o tamanho do buffer de anel. Exemplos de versões de SO que oferecem suporte a essa funcionalidade por padrão são RHEL 10, Rocky Linux 10 e Ubuntu 24.04.

      • Se não for possível aumentar o tamanho do buffer de anel por padrão, primeiro faça 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 tiver configurado um grupo de domínio para domínios de multicast redundantes, o Google Cloud vai fornecer 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 posicionar 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 para você, faça o seguinte:

  1. Confira os detalhes da associação de consumidores multicast na zona em que você planeja criar a instância. Consulte Ver associações de consumidores de multicast.

  2. Se a saída contiver um nome de política de posicionamento no campo placementPolicy, você poderá aplicar a política ao criar uma instância ou configurar uma instância atual. Registre o valor para usar ao concluir os procedimentos nesta página.

Criar uma instância de consumidor de multicast

Nesta seção, descrevemos como criar uma instância para usar como um 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

  1. Para criar uma nova instância de consumidor multicast, use o comando compute instances create e especifique a flag igmp-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]
    

    Substitua os seguintes valores:

    • INSTANCE_NAME: um nome para a instância
    • ZONE: 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 hospedar a instância
    • MACHINE_TYPE: o tipo de máquina da instância. Se ainda não tiver feito isso, revise as orientações descritas em Considerações sobre máquinas para produtores e consumidores de multicast.
    • IMAGE_PROJECT: o projeto de imagem que contém a imagem, como ubuntu-os-cloud.
    • IMAGE_FAMILY: a família de imagens, como ubuntu-2404-lts-amd64.

      Especificar uma família de imagens cria a instância com base na versão mais recente e não obsoleta da imagem do SO na família de imagens. Como alternativa, use a flag --image e especifique uma versão da imagem.

    • Se uma política de posicionamento estiver disponível, você poderá criar a instância com ela usando as seguintes flags. 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 for compatível com a migração em tempo real, só será possível especificar TERMINATE. Caso contrário, especifique MIGRATE ou TERMINATE. Como alternativa, omita essa flag para usar a política de manutenção padrão do tipo de instância.
      • PLACEMENT_POLICY_NAME: o nome da política de posicionamento na saída da associação do consumidor de multicast.
    • Se quiser, crie uma VM protegida sem um endereço IP externo usando os parâmetros --shielded e no-address. Para mais informações, consulte O que é uma VM protegida?.

  2. Siga as instruções para definir o IGMPv2 no SO convidado.

  3. Siga as instruções para aumentar o tamanho do buffer circular do driver de rede.

Configurar uma instância para ser um consumidor de multicast

Nesta seção, descrevemos como configurar uma instância para ser um consumidor de multicast ativando o IGMP e usando uma política de posicionamento opcional, se aplicável.

gcloud

  1. Para configurar uma instância atual como um consumidor de multicast, use o comando compute instances network-interfaces update e especifique a flag igmp-query.

    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: nome da instância
    • ZONE: zona da instância
  2. Se uma política de posicionamento estiver disponível e você quiser aplicá-la à sua 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 na saída da associação de consumidores multicast.

  3. Siga as instruções para definir o IGMPv2 no SO convidado.

  4. Siga as instruções para aumentar o tamanho do buffer circular do driver de rede.

Definir o IGMPv2 no SO convidado

Para definir o IGMPv2 no SO convidado da instância, faça o seguinte:

  1. Conecte-se à instância usando SSH.

  2. Execute o comando a seguir e identifique o nome da interface de rede conectada a uma sub-rede na rede VPC do consumidor de multicast.

    sudo ifconfig
    
  3. 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_NAME pelo nome da interface de rede.

Aumentar o tamanho do buffer de anel do driver de rede

Nesta seção, descrevemos como aumentar o tamanho do buffer circular do driver de rede na sua instância.

Dependendo da versão do SO usada pela sua instância, talvez seja necessário fazer upgrade manual do driver gVNIC para a versão 1.4.5 ou mais recente para executar o seguinte comando sem problemas.

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. Confira 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