Configure instâncias de consumidor de multicast

Esta página descreve como configurar instâncias do Compute Engine para que possam receber tráfego de multicast. As instâncias que recebem tráfego de multicast são denominadas consumidores de multicast.

Os procedimentos nesta página descrevem como configurar consumidores de multicast da seguinte forma:

  • Ative a consulta IGMP numa instância nova ou existente e defina o IGMPv2 no SO convidado.

    A conclusão destes passos permite que as aplicações executadas na sua instância entrem e saiam de grupos de multicast.

  • Para configurações de multicast nas quais o administrador de multicast pré-configurou uma política de posicionamento, pode aplicar opcionalmente a política de posicionamento a uma instância nova ou existente.

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

Para mais informações sobre como o IGMPv2 funciona depois de configurar a sua instância, consulte o artigo Como funciona o IGMPv2.

Antes de começar

Antes de criar instâncias de consumidor de multicast, consulte as secções seguintes.

Reveja as considerações da máquina e do SO para consumidores de multicast

Para ajudar a garantir um desempenho ideal, reveja as seguintes orientações e crie a sua instância em conformidade:

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

  • Sistema operativo (SO) e controlador de rede: veja o seguinte:

    • Recomendamos que use um SO Linux. Para mais informações, consulte os detalhes do sistema operativo.

    • Para consumidores de multicast que recebem níveis elevados de tráfego, recomendamos que aumente o tamanho do buffer circular do controlador de rede para um valor de 2048 para ajudar a evitar a perda de pacotes.

      Se estiver a usar uma instância de máquina virtual (VM), consulte as seguintes considerações para o controlador gVNIC:

      • Algumas versões anteriores do SO podem não usar uma versão do controlador gVNIC que suporte o aumento do tamanho do buffer circular. Exemplos de versões do SO que suportam esta funcionalidade por predefinição são o RHEL 10, o Rocky Linux 10 e o Ubuntu 24.04.

      • Se não conseguir aumentar o tamanho do buffer circular por predefinição, tem de atualizar manualmente o controlador gVNIC para a versão 1.4.5 ou posterior.

Verifique se existe uma política de posicionamento pré-configurada

Se o administrador de multicast tiver configurado um grupo de domínios 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 aplica esta política de posicionamento a instâncias novas ou existentes, 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 tem uma política de posicionamento disponível, faça o seguinte:

  1. Veja os detalhes da associação de consumidor de multicast para a zona na qual planeia criar a instância. Consulte o artigo Veja associações de consumidores de multicast.

  2. Se o resultado contiver um nome de política de posicionamento no campo placementPolicy, pode aplicar a política de posicionamento quando criar uma nova instância ou configurar uma instância existente. Registe o valor para o poder usar quando concluir os procedimentos nesta página.

Crie uma instância de consumidor de multicast

Esta secçã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 a criação de instâncias, consulte o artigo Crie e inicie uma instância do Compute Engine.

gcloud

  1. Para criar uma nova instância de consumidor de 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 na qual criar a instância. Tem de ser uma zona na qual ativou a rede VPC do consumidor de multicast que aloja a instância.
    • MULTICAST_CONSUMER_NETWORK, MULTICAST_CONSUMER_SUBNET: a rede VPC e a sub-rede do consumidor de multicasto nas quais alojar a instância
    • MACHINE_TYPE: o tipo de máquina da instância. Se ainda não o fez, reveja as orientações descritas no artigo 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.

      A especificação de uma família de imagens cria a instância a partir da versão mais recente e não descontinuada da imagem do SO na família de imagens. Em alternativa, pode usar a flag --image e especificar uma versão da imagem.

    • Se estiver disponível uma política de posicionamento, pode, opcionalmente, criar a instância com a política de posicionamento através das seguintes flags. Para mais informações, consulte o artigo Aplique uma política de posicionamento compacta ao criar uma instância.

      • MAINTENANCE_POLICY: a política de manutenção do anfitrião da instância. Se o tipo de máquina escolhido não suportar a migração em direto, só pode especificar TERMINATE. Caso contrário, pode especificar MIGRATE ou TERMINATE. Em alternativa, para usar a política de manutenção predefinida para o seu tipo de instância, pode omitir esta flag.
      • PLACEMENT_POLICY_NAME: o nome da política de posicionamento a partir do resultado da associação do consumidor de multicast.
    • Opcionalmente, crie uma VM protegida sem um endereço IP externo através dos parâmetros --shielded e no-address. Para mais informações, consulte o artigo 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 da memória intermédia circular do controlador de rede.

Configure uma instância existente para ser um consumidor de multicast

Esta secção descreve como configurar uma instância existente 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 existente para ser um consumidor de multicast, use o comando compute instances network-interfaces update e especifique a flag igmp-query.

    O seguinte comando 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ância
    • ZONE: a zona da instância
  2. Se estiver disponível uma política de posicionamento e quiser aplicá-la à sua instância, consulte o artigo Aplique uma política de posicionamento compacta a uma instância existente. Para o nome da política, use o nome da política de posicionamento da saída da associação de consumidor de multicast.

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

  4. Siga as instruções para aumentar o tamanho da memória intermédia circular do controlador de rede.

Defina o IGMPv2 no SO convidado

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

  1. Estabeleça ligação à instância através do SSH.

  2. Execute o seguinte comando e identifique o nome da interface de rede que está associada a uma sub-rede na rede VPC do consumidor de multicast.

    sudo ifconfig
    
  3. Execute o seguinte comando 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.

Aumente o tamanho do buffer de anel do controlador de rede

Esta secção descreve como aumentar o tamanho do buffer circular do controlador de rede na sua instância.

Consoante a versão do SO que a sua instância usa, pode ter de atualizar manualmente o controlador gVNIC para a versão 1.4.5 ou posterior para poder executar o seguinte comando com êxito.

Para consumidores de multicast que recebem níveis elevados de tráfego, aumente o tamanho do buffer do controlador de rede para um valor de 2048 para ajudar a evitar a perda de pacotes. Veja o seguinte comando de exemplo:

sudo ethtool -G eth0 rx 2048 tx 2048

Para mais informações, consulte o artigo Funcionalidades e configuração do controlador.

O que se segue?