Permitir que uma rede VPC gere tráfego multicast

Nesta página, descrevemos como configurar recursos em Google Cloud para permitir que produtores de multicast em uma rede VPC enviem tráfego de multicast para um determinado domínio de multicast e um ou mais intervalos de grupo.

Antes de começar

Antes de começar os procedimentos nesta página, atenda aos pré-requisitos nas seções a seguir.

Confirme se as configurações de domínio multicast e intervalo de grupo estão concluídas.

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

Definir o projeto

Os procedimentos nesta página exigem que você crie recursos de produtor multicast no projeto do administrador de multicast. Este projeto contém os recursos de domínio multicast e intervalo de grupo.

Configure a CLI gcloud para usar o projeto do administrador de multicast. Como alternativa, use a flag --project=MULTICAST_ADMIN_PROJECT para cada comando nos procedimentos a seguir.

    gcloud config set project MULTICAST_ADMIN_PROJECT

Substitua MULTICAST_ADMIN_PROJECT pelo ID do projeto administrador de multicast.

Ativar APIs

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

Para ativar 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 de serviço (roles/serviceusage.serviceUsageAdmin).

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

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

        gcloud services enable networkconnectivity.googleapis.com
    

Funções exigidas

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

  • Para criar e gerenciar recursos de rede: Administrador de rede do Compute (compute.networkAdmin) no projeto do administrador de multicast
  • Para criar e gerenciar regras de firewall: Administrador de segurança do Compute (compute.securityAdmin) no projeto administrador de multicast
  • Para criar spokes do Network Connectivity Center: Administrador de spoke (networkconnectivity.spokeAdmin) no projeto de administrador de multicast
  • Para criar recursos de multicast: Administrador do multicast (networkservices.multicastAdmin) no projeto do administrador do multicast

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 usando papéis personalizados ou outros papéis predefinidos.

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

Se o domínio de multicast usar uma topologia em estrela do Network Connectivity Center em que há uma ou mais redes VPC de produtores de multicast separadas, conclua as etapas desta seção.

Se o domínio de multicast usar uma única topologia de rede VPC ou uma topologia em estrela do Network Connectivity Center em que a rede do administrador de multicast também atua como a rede produtora de multicast, pule esta etapa e siga diretamente para as etapas de ativação da rede VPC para produzir tráfego de multicast.

Crie uma rede VPC

Esta seção descreve como criar uma rede de nuvem privada virtual (VPC) para gerar 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 comando compute networks create.

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

    Substitua MULTICAST_PRODUCER_NETWORK por um nome para a rede VPC do produtor de multicast.

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

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

    Substitua os seguintes valores:

    • SUBNET: um nome para a sub-rede
    • MULTICAST_PRODUCER_NETWORK: o nome da rede de produtores de 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 região do Google Cloud em que a nova sub-rede é criada. Precisa ser uma região compatível com multicast, como us-east5.

adicionar regras de firewall

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

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

Permitir tráfego multicast de saída

Esta seção descreve como criar uma regra de firewall que permite o tráfego de saída multicast da rede VPC.

Todas as redes VPC têm uma regra padrão de permissão de saída IPv4 com a menor prioridade (65535). Se não houver uma regra de prioridade mais alta 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.

Esse comando é preenchido previamente com um exemplo de nome de regra de firewall. O nome de uma regra de firewall precisa ser exclusivo em um projeto.

gcloud

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

gcloud compute firewall-rules create allow-multicast-egress --direction=EGRESS \
   --priority=1000 \
   --network=MULTICAST_PRODUCER_NETWORK \
   --action=ALLOW \
   --rules=udp[:PORT[-PORT]] \
   --destination-ranges=MULTICAST_GROUP_IP_RANGES

Substitua os seguintes valores:

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

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

    Se quiser, use --rules=all para permitir todos os protocolos e portas.

  • MULTICAST_GROUP_IP_RANGES: os intervalos de endereços IP dos grupos multicast para os quais os produtores de multicast enviam tráfego. Os intervalos de endereços IP multicast precisam ser de classe D. Por exemplo, é possível usar 224.0.0.0/4 para permitir todo o tráfego multicast.

Adicionar a rede VPC a um hub do Network Connectivity Center

Nesta seção, descrevemos como adicionar sua rede VPC ao hub do Network Connectivity Center criado pelo administrador de multicast. Para adicionar sua rede, crie um spoke da VPC no grupo center.

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

gcloud

Para adicionar sua VPCnetwork como um spoke central a um hub, use o comando network-connectivity spokes linked-vpc-network create.

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

Substitua os seguintes valores:

  • SPOKE_NAME: um nome para o spoke
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • HUB_NAME: o nome do hub da central de conectividade de rede criado pelo administrador de multicast.
  • MULTICAST_PRODUCER_NETWORK: o nome da rede de produtores de multicast que você criou anteriormente

    Você também pode fornecer o URI da rede de produtores de multicast usando o seguinte formato: projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_PRODUCER_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 a 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 produtores de multicast e quaisquer outros intervalos necessários para a comunicação com outros spokes, como para tráfego unicast.

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

Permitir que uma rede VPC gere tráfego multicast

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

Adicionar a rede VPC do produtor de multicast a um domínio

Nesta seção, descrevemos como adicionar uma rede VPC de produtor de multicast a um domínio criando uma associação de produtor de multicast entre a rede e o domínio.

Siga estas etapas para cada zona em que você quer hospedar produtores de multicast.

gcloud

Para adicionar uma rede VPC de produtor de multicast a um domínio, use o comando network-services multicast-producer-associations create.

   gcloud network-services multicast-producer-associations create PRODUCER_ASSOCIATION_NAME \
      --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
      --network=projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK \
      --location=ZONE

Substitua os seguintes valores:

  • PRODUCER_ASSOCIATION_NAME: um nome para a associação do produtor de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona em que o administrador ativou o domínio de multicast e em que você hospeda produtores de multicast
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador de multicast.
  • MULTICAST_PRODUCER_NETWORK: a rede VPC que produz tráfego multicast. A rede do administrador de multicast ou uma rede de produtor de multicast separada, dependendo da topologia de multicast do domínio.

API

Para adicionar uma rede VPC de produtor de multicast a um domínio, use o método multicastProducerAssociations.create.

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations?multicastProducerAssociationId=PRODUCER_ASSOCIATION_NAME
{
  "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
  "network": "projects/ADMIN_PROJECT/locations/global/networks/MULTICAST_PRODUCER_NETWORK"
}

Substitua os seguintes valores:

  • PRODUCER_ASSOCIATION_NAME: um nome para a associação do produtor de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona em que o administrador ativou o domínio multicast e em que você hospeda produtores multicast.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador de multicast.
  • MULTICAST_PRODUCER_NETWORK: a rede VPC que produz tráfego multicast. A rede do administrador de multicast ou uma rede de produtor de multicast separada, dependendo da topologia de multicast do domínio.

Ativar a rede VPC do produtor de multicast para um intervalo de grupo

Esta seção descreve como ativar uma rede VPC de produtor de multicast para um intervalo de grupo.

Siga estas etapas para cada intervalo de grupo de multicast e zona em que você quer gerar tráfego de multicast.

gcloud

Para ativar uma rede VPC de produtor de multicast para um intervalo de grupo, use o comando network-services multicast-group-producer-activations create.

   gcloud network-services multicast-group-producer-activations create GROUP_PRODUCER_ACTIVATION_NAME \
      --multicast-producer-association="projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME" \
      --multicast-group-range-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME" \
      --location=ZONE

Substitua os seguintes valores:

  • GROUP_PRODUCER_ACTIVATION_NAME: um nome para a ativação do produtor do grupo de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona em que a rede de produtores de multicast será ativada. A associação de produtor de multicast e a ativação do intervalo do grupo multicast correspondentes também precisam existir na zona.
  • PRODUCER_ASSOCIATION_NAME: o nome da associação de produtor de multicast que você criou anteriormente
  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo do grupo multicast criada pelo administrador de multicast

API

Para ativar uma rede VPC de produtor de multicast para um intervalo de grupo, use o método multicastGroupProducerActivations.create.

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupProducerActivations?multicastGroupProducerActivationId=GROUP_PRODUCER_ACTIVATION_NAME
{
  "multicastProducerAssociation": "projects/ADMIN_PROJECT/locations/ZONE/multicastProducerAssociations/PRODUCER_ASSOCIATION_NAME",
  "multicastGroupRangeActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations/GROUP_RANGE_ACTIVATION_NAME"
}

Substitua os seguintes valores:

  • GROUP_PRODUCER_ACTIVATION_NAME: um nome para a ativação do produtor do grupo de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona em que a rede de produtores de multicast será ativada. A associação de produtor de multicast e a ativação do intervalo do grupo multicast correspondentes também precisam existir na zona.
  • PRODUCER_ASSOCIATION_NAME: o nome da associação de produtor de multicast que você criou anteriormente
  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo do grupo multicast criada pelo administrador de multicast

Criar instâncias de produtores de multicast

Se ainda não tiver feito isso, crie uma ou mais instâncias do Compute Engine para executar o aplicativo que produz tráfego multicast. Confira a seguir:

Ao contrário das instâncias de consumidor multicast, as instâncias de produtor multicast não precisam ser configuradas para IGMP e podem enviar tráfego para um grupo multicast sem entrar no grupo.

A seguir