Ativar uma rede VPC para consumir tráfego multicast

Esta página descreve as etapas necessárias para configurar recursos em Google Cloud para que os consumidores multicast em uma rede VPC possam receber tráfego multicast de um determinado domínio multicast e um ou mais intervalos de grupos.

Antes de começar

Antes de iniciar os procedimentos nesta página, conclua os pré-requisitos descritos nesta seção.

Confirme se o domínio multicast, o intervalo de grupos e as configurações do produtor estão concluídos

Confirme se o domínio multicast, o intervalo de grupos multicast e as configurações do produtor multicast para os quais você quer consumir tráfego multicast estão concluídos, conforme descrito em Visão geral da configuração multicast. Se necessário, entre em contato com o administrador multicast do domínio.

Definir seu projeto

Defina a CLI gcloud para usar o projeto da rede VPC do consumidor multicast. Como alternativa, você pode transmitir a flag --project=PROJECT para cada comando nos procedimentos a seguir.

    gcloud config set project PROJECT

Substitua PROJECT pelo ID do seu projeto.

Ativar APIs

Se ainda não tiver feito isso, ative as APIs a seguir.

Para ativar as APIs, você precisa da permissão serviceusage.services.enable. Se você não tiver essa permissão, peça ao administrador do Identity and Access Management (IAM) para conceder a você o papel de administrador do uso do serviço (roles/serviceusage.serviceUsageAdmin).

  1. Para criar recursos multicast, ative a API networkservices:

        gcloud services enable networkservices.googleapis.com
    
  2. Para criar um spoke VPC do Network Connectivity Center (NCC), ative a API networkconnectivity:

        gcloud services enable networkconnectivity.googleapis.com
    

Funções exigidas

Para receber as permissões necessárias para configurar recursos de consumidor multicast, peça ao administrador para conceder a você os seguintes papéis do IAM:

  • Para criar e gerenciar recursos de rede: administrador de rede do Compute (compute.networkAdmin) no seu projeto
  • Para criar e gerenciar regras de firewall: administrador de segurança do Compute (compute.securityAdmin) no seu projeto
  • Para criar spokes do NCC: administrador de spoke (networkconnectivity.spokeAdmin) no seu projeto
  • Para propor spokes do NCC ao hub associado a um domínio multicast: usuário do grupo (networkconnectivity.groupUser) no projeto do administrador multicast
  • Para criar recursos multicast: administrador multicast (networkservices.multicastAdmin) no seu projeto

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar uma rede VPC e adicioná-la a um hub

Se o domínio multicast usar uma topologia em estrela do NCC em que há redes VPC de consumidores multicast separadas, conclua as etapas nesta seção.

Se o domínio multicast usar uma topologia de rede VPC única, então pule esta seção e siga diretamente para as etapas para ativar a rede VPC para consumir tráfego multicast.

Criar uma rede VPC

Esta seção descreve como criar uma rede de nuvem privada virtual (VPC) para consumir tráfego multicast.

Para mais informações sobre como criar redes VPC, consulte Criar e gerenciar redes VPC.

gcloud

  1. Crie uma rede VPC usando o compute networks create comando.

    gcloud compute networks create MULTICAST_CONSUMER_NETWORK --subnet-mode=custom
    

    Substitua MULTICAST_CONSUMER_NETWORK por um nome para a rede de consumidores multicast.

  2. Adicione uma ou mais sub-redes para hospedar consumidores multicast usando o compute networks subnets create comando.

    gcloud compute networks subnets create SUBNET
       --network=MULTICAST_CONSUMER_NETWORK \
       --range=PRIMARY_RANGE \
       --region=REGION
    

    Substitua os seguintes valores:

    • SUBNET: o nome da sub-rede
    • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormente
    • PRIMARY_RANGE: o intervalo IPv4 principal da sub-rede, em notação CIDR. Saiba mais em Intervalos de sub-rede IPv4.
    • REGION: a Google Cloud região do em que a nova sub-rede é criada. Precisa ser uma região que ofereça suporte a multicast, como us-east5.

Adicionar regras de firewall

Esta seção descreve como criar regras de firewall na rede VPC do consumidor multicast para tráfego multicast.

Para criar outras regras de firewall, como para SSH, consulte Criar regras de firewall da VPC.

Os comandos são pré-preenchidos com nomes de regras de firewall de exemplo. O nome de uma regra de firewall precisa ser exclusivo em um projeto.

Permitir tráfego multicast de entrada

gcloud

Para criar uma regra de firewall que permita o tráfego multicast de entrada para sua rede VPC da rede do produtor multicast, use o compute firewall-rules create comando.

gcloud compute firewall-rules create allow-multicast-traffic-ingress \
   --direction=INGRESS \
   --priority=1000 \
   --network=MULTICAST_CONSUMER_NETWORK \
   --action=ALLOW \
   --rules=udp[:PORT[-PORT]] \
   --source-ranges=MULTICAST_PRODUCER_RANGE \
   --destination-ranges=MULTICAST_GROUP_IP_RANGES

Substitua os seguintes valores:

  • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormente
  • PORT: uma lista de portas a que a regra de firewall se aplica. Google Cloud usa udp para tráfego multicast. Uma porta ou intervalo de portas pode ser especificado após o protocolo a que a regra de firewall se aplica ao tráfego por portas específicas. Se nenhuma porta ou intervalo de portas for especificado, as conexões em todos os intervalos serão aplicadas.

    Por exemplo, especifique --rules=udp:1234 para permitir o tráfego multicast pela porta 1234.

  • MULTICAST_PRODUCER_RANGE: o intervalo CIDR da rede VPC do produtor multicast, usado para alocar endereços IP para produtores multicast. Como alternativa, você pode omitir a flag --source-ranges, que define a origem de entrada para qualquer endereço IPv4 (0.0.0.0/0).

  • MULTICAST_GROUP_IP_RANGES: os intervalos CIDR dos grupos multicast para os quais os produtores multicast enviam tráfego. Esse precisa ser um intervalo de endereços de classe D. Por exemplo, você pode usar 224.0.0.0/4 para permitir todo o tráfego multicast.

Permitir consulta IGMP de entrada

gcloud

Para criar uma regra de firewall que permita o tráfego de consulta IGMP de entrada para a rede VPC do consumidor multicast do consumidor multicast intervalo de rede, use o compute firewall-rules create comando.

O comando a seguir inclui:

  • --destination-ranges=224.0.0.1/32 para especificar o endereço IP do grupo multicast que representa todos os hosts nessa sub-rede.
  • --rules=2 para especificar o IGMP.
gcloud compute firewall-rules create allow-multicast-igmp-ingress \
    --direction=INGRESS \
    --priority=1000 \
    --network=MULTICAST_CONSUMER_NETWORK \
    --action=ALLOW \
    --rules=2 \
    --source-ranges=MULTICAST_CONSUMER_RANGE \
    --destination-ranges=224.0.0.1/32

Substitua os seguintes valores:

  • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormente
  • MULTICAST_CONSUMER_RANGE: o intervalo CIDR da rede de consumidores multicast, usado para alocar endereços IP para consumidores multicast.

Permitir IGMP de saída

Esta seção descreve como criar uma regra de firewall que permita o tráfego IGMP de saída para que você possa enviar mensagens JOIN e LEAVE do IGMP de consumidores multicast.

Todas as redes VPC têm uma regra de saída de permissão IPv4 padrão com a menor prioridade (65535). Se não houver uma regra de maior prioridade que bloqueie explicitamente o tráfego de saída, não será necessário concluir esta etapa. Para mais informações, consulte Regras implícitas.

gcloud

Para criar uma regra de firewall que permita o tráfego IGMP multicast de saída da rede VPC do consumidor multicast, use o compute firewall-rules create comando.

gcloud compute firewall-rules create allow-multicast-igmp-egress \
    --direction=EGRESS \
    --priority=1000 \
    --network=MULTICAST_CONSUMER_NETWORK \
    --action=ALLOW \
    --rules=2 \
    --destination-ranges=RANGES_FOR_JOIN_AND_LEAVE

Substitua os seguintes valores:

  • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormente
  • RANGES_FOR_JOIN_AND_LEAVE: uma lista separada por vírgulas do seguinte:

    • Os intervalos CIDR dos grupos multicast que os consumidores multicast precisam participar. É necessário usar intervalos de endereços de classe D.
    • O endereço IP Todos os roteadores: 224.0.0.2/32. Esse intervalo é necessário para enviar mensagens de saída do IGMP.

    Como alternativa, você pode especificar 224.0.0.0/4 para permitir todo o tráfego multicast.

Adicionar a rede VPC a um hub do NCC

Esta seção descreve como adicionar sua rede VPC ao hub do NCC criado pelo administrador multicast. Para adicionar sua rede, crie um spoke VPC no grupo de borda.

Para mais informações, consulte Topologia em estrela e Criar um spoke VPC na documentação do NCC.

gcloud

  1. Para adicionar sua rede VPC como um spoke de borda a um hub, use o network-connectivity spokes linked-vpc-network create comando.

      gcloud network-connectivity spokes linked-vpc-network create SPOKE_NAME \
        --hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB \
        --vpc-network=MULTICAST_CONSUMER_NETWORK \
        --group="edge" \
        --global \
        --include-export-ranges=INCLUDE_RANGES
    

    Substitua os seguintes valores:

    • SPOKE_NAME: um nome para o spoke de borda
    • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador multicast
    • HUB: o nome do hub do NCC criado pelo administrador multicast. Sua rede VPC do consumidor multicast precisa ser anexada ao mesmo hub que as redes VPC do administrador multicast e do produtor multicast. Se necessário, entre em contato com o administrador multicast para o nome do hub.

    • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormente

      Como alternativa, você pode fornecer o URI da rede de consumidores multicast usando o seguinte formato: projects/MULTICAST_CONSUMER_PROJECT/global/networks/MULTICAST_CONSUMER_NETWORK.

    • INCLUDE_RANGES: uma lista separada por vírgulas de intervalos de endereços IP a serem exportados para o hub.

      Por padrão, o spoke exporta todos os intervalos de sub-rede. Para evitar sobreposição com outros spokes no hub, especifique quais intervalos de sub-rede exportar. Se você especificar intervalos de sub-rede, inclua os intervalos que hospedam consumidores multicast e outros intervalos necessários para comunicação com os spokes no grupo central, como para tráfego unicast.

      Google Cloud proíbe sobreposições de sub-rede em spokes VPC conforme descrito em Exclusividade de rota de sub-rede. Para mais informações sobre como usar filtros de exportação para evitar sobreposição, consulte Conectividade VPC com filtros de exportação.

  2. Entre em contato com o administrador multicast para notificá-lo de que você propôs um spoke VPC ao hub.

    Se o hub estiver em um projeto diferente, o administrador multicast precisará aprovar explicitamente seu spoke antes que ele seja ativado, a menos que o administrador multicast tenha adicionado seu projeto como um projeto de aceitação automática.

    Para verificar o status de um spoke depois de criá-lo, consulte Verificar o status de um spoke VPC.

Ativar uma rede VPC para consumir tráfego multicast

Esta seção descreve as etapas necessárias para ativar os consumidores multicast em uma rede VPC para receber tráfego multicast de um determinado domínio e um ou mais intervalos de grupos.

Adicionar a rede VPC do consumidor multicast a um domínio

Esta seção descreve como adicionar uma rede VPC do consumidor multicast a um domínio criando uma associação de consumidor multicast entre a rede e o domínio.

Conclua as etapas a seguir para cada zona em que você quer hospedar consumidores multicast.

gcloud

Para adicionar uma rede VPC do consumidor multicast a um domínio, use o network-services multicast-consumer-associations create comando.

   gcloud network-services multicast-consumer-associations create CONSUMER_ASSOCIATION_NAME \
      --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
      --network="projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK" \
      --location=ZONE

Substitua os seguintes valores:

  • CONSUMER_ASSOCIATION_NAME: um nome para a associação de consumidores multicast
  • ADMIN_PROJECT: o ID do projeto do administrador multicast
  • ZONE: uma zona em que o administrador ativou o domínio multicast e em que você precisa hospedar consumidores multicast
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador multicast ou um projeto e uma rede de consumidores multicast separados, dependendo da topologia multicast do domínio.

API

Para adicionar uma rede VPC do consumidor multicast a um domínio, use o multicastConsumerAssociations.create método.

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations?multicastConsumerAssociationId=CONSUMER_ASSOCIATION_NAME
{
  "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
  "network": "projects/MULTICAST_CONSUMER_PROJECT/locations/global/networks/MULTICAST_CONSUMER_NETWORK"
}

Substitua os seguintes valores:

  • CONSUMER_ASSOCIATION_NAME: um nome para a associação de consumidores multicast
  • ADMIN_PROJECT: o ID do projeto do administrador multicast
  • ZONE: uma zona em que o administrador ativou o domínio multicast e em que você precisa hospedar consumidores multicast.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador multicast ou um projeto e uma rede de consumidores multicast separados, dependendo da topologia multicast do domínio.

Ativar a rede VPC do consumidor multicast para um intervalo de grupos

Esta seção descreve como ativar uma rede VPC do consumidor multicast para um intervalo de grupos.

Conclua as etapas a seguir para cada intervalo de grupos multicast e zona para os quais você quer consumir tráfego multicast.

Depois de concluir esta etapa, os consumidores multicast na rede poderão participar dos endereços IP do grupo multicast no intervalo de grupos especificado, desde que eles tenham o IGMP configurado.

gcloud

Para ativar uma rede VPC do consumidor multicast para um intervalo de grupos multicast, use o network-services multicast-group-consumer-activations create comando.

   gcloud network-services multicast-group-consumer-activations create GROUP_CONSUMER_ACTIVATION_NAME \
      --multicast-consumer-association="projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME" \
      --multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
      --location=ZONE \
      [--enable-logging | --no-enable-logging]

Substitua os seguintes valores:

  • GROUP_CONSUMER_ACTIVATION_NAME: um nome para a ativação do consumidor do grupo multicast
  • CONSUMER_PROJECT: o ID do seu projeto. Esse pode ser o projeto do administrador multicast ou um projeto de consumidor multicast separado, dependendo da topologia do domínio multicast.

  • ZONE: a zona em que a rede do consumidor multicast será ativada. Também precisa ser uma zona em que o administrador ativou o intervalo de grupos multicast.

  • CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidores multicast que você criou anteriormente

  • ADMIN_PROJECT: o ID do projeto do administrador multicast

  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupos criada pelo administrador multicast.

  • --[no-]enable-logging: opcional, determina se o registro de eventos de associação ao grupo está ativado.

    • Para ativar a geração de registros, use --enable-logging.
    • (Padrão) Para desativar a geração de registros, use --no-enable-logging.

API

Para ativar uma rede VPC do consumidor multicast para um intervalo de grupos multicast, use o multicastGroupConsumerActivations.create método.

POST https://networkservices.googleapis.com/v1/projects/CONSUMER_PROJECT/locations/ZONE/multicastGroupConsumerActivations?multicastGroupConsumerActivationId=GROUP_CONSUMER_ACTIVATION_NAME
{
  "multicastConsumerAssociation": "projects/CONSUMER_PROJECT/locations/ZONE/multicastConsumerAssociations/CONSUMER_ASSOCIATION_NAME",
  "multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME",
  "logConfig": {
          "enabled": "LOGGING_ENABLED"
    }
}

Substitua os seguintes valores:

  • GROUP_CONSUMER_ACTIVATION_NAME: um nome para a ativação do consumidor do grupo multicast
  • CONSUMER_PROJECT: o ID do seu projeto. Esse pode ser o projeto do administrador multicast ou um projeto de consumidor multicast separado, dependendo da topologia do domínio multicast.
  • ZONE: a zona em que a rede do consumidor multicast será ativada. Também precisa ser uma zona em que o administrador ativou o intervalo de grupos multicast.
  • CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidores multicast que você criou anteriormente
  • ADMIN_PROJECT: o ID do projeto do administrador multicast
  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupos criada pelo administrador multicast
  • LOGGING_ENABLED: determina se o registro de eventos de associação ao grupo está ativado.
    • Para ativar a geração de registros, defina como true.
    • (Padrão) Para desativar a geração de registros, defina como false.

Criar instâncias de consumidores multicast

Se você ainda não fez isso, crie uma ou mais instâncias do Compute Engine para executar o aplicativo que consome tráfego multicast. Para criar uma instância de consumidor multicast ou configurar uma instância atual para ser um consumidor multicast, consulte Configurar instâncias de consumidores multicast.

A seguir