Ative uma rede de VPC para produzir tráfego de multicast

Esta página descreve como configurar recursos no Google Cloud para permitir que os produtores de multicast numa rede VPC enviem tráfego de multicast para um determinado domínio de multicast e um ou mais intervalos de grupos.

Antes de começar

Antes de iniciar os procedimentos nesta página, tem de concluir os pré-requisitos nas secções seguintes.

Confirme que as configurações de domínio e intervalo de grupos de multicast estão concluídas

Confirme que as configurações do intervalo do grupo de multicast e do domínio de multicast para as quais quer gerar tráfego de multicast estão concluídas, conforme descrito na vista geral da configuração de multicast. Se necessário, contacte o administrador de multicast do domínio.

Defina o seu projeto

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

Defina a CLI gcloud para usar o projeto do administrador de multicast. Em alternativa, pode usar a flag --project=MULTICAST_ADMIN_PROJECT para cada comando nos procedimentos seguintes.

    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 o fez, ative as seguintes APIs.

Para ativar APIs, precisa da autorização serviceusage.services.enable. Se não tiver esta autorização, peça ao administrador da gestão de identidade e de acesso (IAM) que lhe conceda a função de administrador de utilização de serviços (roles/serviceusage.serviceUsageAdmin).

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

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

        gcloud services enable networkconnectivity.googleapis.com
    

Funções necessárias

Para receber as autorizações de que precisa para configurar recursos de produtor de multicast, peça ao seu administrador que lhe conceda as seguintes funções de IAM:

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

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Crie uma rede de VPC e adicione-a a um hub

Se o domínio de multicast usar uma topologia em estrela do Network Connectivity Center na qual existam uma ou mais redes VPC de produtor de multicast separadas, tem de concluir os passos nesta secção.

Se o domínio de multicast usar uma topologia de rede VPC única ou se o domínio de multicast usar uma topologia em estrela do Centro de conectividade de rede em que a rede do administrador de multicast também atua como a rede do produtor de multicast, pode ignorar este passo e avançar diretamente para os passos para ativar a rede VPC para produzir tráfego de multicast.

Crie uma rede de VPC

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

Para mais informações sobre como criar redes VPC, consulte o artigo Crie e faça a gestão de redes VPC.

gcloud

  1. Crie uma rede VPC com 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 alojar 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 produção de multicast que criou anteriormente
    • PRIMARY_RANGE: o intervalo IPv4 principal para a sub-rede, na notação CIDR. Para mais informações, consulte os intervalos de sub-redes IPv4.
    • REGION: a Google Cloud região na qual a nova sub-rede é criada. Tem de ser uma região que suporte a transmissão múltipla, como us-east5.

Adicione regras de firewall

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

Para criar regras de firewall adicionais, como para SSH, consulte o artigo Crie regras de firewall da VPC.

Permitir tráfego multicast de saída

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

Todas as redes VPC têm uma regra de saída de permissão IPv4 predefinida com a prioridade mais baixa (65535). Se não existir uma regra de prioridade mais elevada que bloqueie explicitamente o tráfego de saída, não tem de concluir este passo. Para mais informações, consulte as regras implícitas.

Este comando é pré-preenchido com um nome de regra de firewall de exemplo. Tenha em atenção que o nome de uma regra de firewall tem de ser exclusivo num projeto.

gcloud

Para criar uma regra de firewall que permita o tráfego de multicast de saída 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 criou anteriormente
  • PORT: uma lista de portas às quais a regra de firewall se aplica. Google Cloud usa udp para tráfego de multicast. Pode especificar uma porta ou um intervalo de portas após o protocolo ao qual a regra de firewall se aplica no tráfego através de portas específicas. Se não for especificada nenhuma porta ou intervalo de portas, são aplicadas ligações através de todos os intervalos.

    Por exemplo, especifique --rules=udp:1234 para permitir o tráfego de multicast através da porta 1234.

    Opcionalmente, pode usar --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 de multicast têm de ser intervalos de endereços de classe D. Por exemplo, pode usar 224.0.0.0/4 para permitir todo o tráfego de multicast.

Adicione a rede de VPC a um hub do Network Connectivity Center

Esta secção descreve como adicionar a sua rede VPC ao hub do Network Connectivity Center que foi criado pelo administrador de multicast. Para adicionar a sua rede, crie um raio da VPC no grupo central.

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

gcloud

Para adicionar a 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 raio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • HUB_NAME: o nome do hub do Network Connectivity Center que foi criado pelo administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: o nome da rede de produtores de multicast que criou anteriormente

    Em alternativa, pode fornecer o URI da rede do produtor 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 exportar para o hub.

    Por predefinição, o spoke exporta todos os intervalos de sub-redes. Para evitar a sobreposição com outros raios no hub, pode especificar os intervalos de sub-redes a exportar. Se especificar intervalos de sub-redes, certifique-se de que inclui os intervalos que alojam produtores de multicast e quaisquer outros intervalos necessários para a comunicação com outros raios, como para tráfego de unicast.

    Google Cloud Proíbe sobreposições de sub-redes em raios de VPC, conforme descrito em Unicidade do trajeto da sub-rede. Para mais informações sobre a utilização de filtros de exportação para evitar a sobreposição, consulte o artigo Conetividade da VPC com filtros de exportação.

Ative uma rede de VPC para produzir tráfego de multicast

Esta secção descreve os passos necessários para ativar os produtores de multicast numa rede VPC para enviar tráfego de multicast para um determinado domínio e um ou mais intervalos de grupos.

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

Esta secção descreve 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.

Conclua os passos seguintes para cada zona na qual quer alojar produtores de multicast.

gcloud

Para adicionar uma rede VPC de produtor 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 na qual o administrador ativou o domínio multicast e na qual aloja produtores multicast
  • DOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: a rede VPC que produz tráfego de multicast. A rede de administrador de multicast ou uma rede de produtor de multicast separada, consoante a 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 na qual o administrador ativou o domínio multicast e na qual aloja produtores multicast.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicast
  • MULTICAST_PRODUCER_NETWORK: a rede VPC que produz tráfego de multicast. A rede de administrador de multicast ou uma rede de produtor de multicast separada, consoante a topologia de multicast do domínio.

Ative a rede VPC do produtor de multicast para um intervalo de grupos

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

Conclua os passos seguintes para cada intervalo de grupos de multicast e zona em que quer gerar tráfego de multicast.

gcloud

Para ativar uma rede VPC de produtor de multicast para um intervalo de grupos, 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 na qual ativar a rede do produtor de multicast. A associação do produtor de multicast correspondente e a ativação do intervalo do grupo de multicast também têm de existir na zona.
  • PRODUCER_ASSOCIATION_NAME: o nome da associação de produtores multicast que criou anteriormente
  • GROUP_RANGE_ACTIVATION_NAME: o nome do intervalo de ativação do grupo de multicast que foi criado pelo administrador de multicast

API

Para ativar uma rede VPC de produtor de multicast para um intervalo de grupos, 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 na qual ativar a rede do produtor de multicast. A associação do produtor de multicast correspondente e a ativação do intervalo do grupo de multicast também têm de existir na zona.
  • PRODUCER_ASSOCIATION_NAME: o nome da associação de produtores multicast que criou anteriormente
  • GROUP_RANGE_ACTIVATION_NAME: o nome do intervalo de ativação do grupo de multicast que foi criado pelo administrador de multicast

Crie instâncias de produtor de multicast

Se ainda não o fez, crie uma ou mais instâncias do Compute Engine para executar a sua aplicação que produz tráfego de multicast. Veja o seguinte:

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

O que se segue?