Ativar uma rede VPC para gerar tráfego multicast

Nesta página, descrevemos como configurar recursos no 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 multicast para as quais você quer gerar tráfego multicast estão concluídas, conforme descrito na Visão geral da configuração do Cloud 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 de multicast no projeto do administrador de multicast. Esse 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 de 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 (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 produtor de 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 projeto de administrador de multicast
  • Para criar e gerenciar regras de firewall: Administrador de segurança do Compute (compute.securityAdmin) no projeto de administrador de multicast
  • Para criar spokes do NCC: Administrador de spoke (networkconnectivity.spokeAdmin) no projeto de administrador de multicast
  • Para criar recursos de multicast: Administrador de multicast (networkservices.multicastAdmin) no projeto do administrador de 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 NCC 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 NCC 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

Nesta seção, descrevemos 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 que ofereça suporte a 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 multicast.

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

Permitir tráfego de saída multicast

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 saída de permissão 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. 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 de 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 NCC

Nesta seção, descrevemos como adicionar sua rede VPC ao hub do NCC 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 NCC.

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 do NCC que foi criado pelo administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: o nome da rede de produtores de multicast que você criou anteriormente

    Também é possível 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 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 em spokes VPC, conforme descrito em Unicidade de rotas 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.

Ativar uma rede VPC para gerar tráfego multicast

Esta seção descreve as etapas necessárias para permitir que produtores multicast em uma rede VPC enviem tráfego multicast para um determinado domínio e um ou mais intervalos de grupos.

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 de 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 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 de 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 multicast para um intervalo de grupo.

Siga estas etapas para cada intervalo de grupo multicast e zona em que você quer gerar tráfego 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 do 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 do 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 produtor 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