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

Esta página descreve os passos necessários para configurar recursos no Google Cloud de modo que os consumidores de multicast numa rede de VPC possam receber tráfego de multicast de 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 descritos nesta secção.

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

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

Defina o seu projeto

Defina a CLI gcloud para usar o projeto da rede VPC do consumidor de multicast. Em alternativa, pode transmitir o indicador --project=PROJECT para cada comando nos procedimentos seguintes.

    gcloud config set project PROJECT

Substitua PROJECT pelo ID do seu projeto.

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 consumidor 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 Calcular (compute.networkAdmin) no seu projeto
  • Para criar e gerir regras de firewall: Administrador de segurança do Compute (compute.securityAdmin) no seu projeto
  • Para criar raios do Network Connectivity Center: Administrador de raios (networkconnectivity.spokeAdmin) no seu projeto
  • Para propor raios do Centro de conectividade de rede ao hub associado a um domínio multicast: Group User (networkconnectivity.groupUser) no projeto do administrador multicast
  • Para criar recursos de multicast: Administrador de multicast (networkservices.multicastAdmin) no seu projeto

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 existem redes VPC de consumidor de multicast separadas, tem de concluir os passos nesta secção.

Se o domínio de multicast usar uma topologia de rede VPC única, pode ignorar esta secção e avançar diretamente para os passos para ativar a rede VPC para consumir tráfego de multicast.

Crie uma rede de VPC

Esta secção descreve como criar uma rede da nuvem privada virtual (VPC) para consumir 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_CONSUMER_NETWORK --subnet-mode=custom
    

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

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

    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 consumo 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 regras de firewall na rede VPC do consumidor 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.

Os comandos são pré-preenchidos com exemplos de nomes de regras de firewall. Tenha em atenção que o nome de uma regra de firewall tem de ser exclusivo num projeto.

Permitir tráfego multicast de entrada

gcloud

Para criar uma regra de firewall que permita o tráfego de multicast de entrada para a sua rede VPC a partir da rede de produção de multicast, use o comando compute firewall-rules create.

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 consumo 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.

  • MULTICAST_PRODUCER_RANGE: O intervalo CIDR da rede VPC do produtor de multicast, usado para atribuir endereços IP a produtores de multicast. Em alternativa, 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 de multicast para os quais os produtores de multicast enviam tráfego. Tem de ser um intervalo de endereços de classe D. Por exemplo, pode usar 224.0.0.0/4 para permitir todo o tráfego de multicast.

Permitir consulta IGMP de entrada

gcloud

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

O seguinte comando inclui:

  • --destination-ranges=224.0.0.1/32 para especificar o endereço IP do grupo de multicast que representa todos os anfitriões nesta 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 consumo de multicast que criou anteriormente
  • MULTICAST_CONSUMER_RANGE: O intervalo CIDR da rede de consumo de multicast, usado para atribuir endereços IP a consumidores de multicast.

Permitir IGMP de saída

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

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.

gcloud

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

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 consumo de multicast que criou anteriormente
  • RANGES_FOR_JOIN_AND_LEAVE: uma lista separada por vírgulas do seguinte:

    • Os intervalos CIDR dos grupos de multicast aos quais os consumidores de multicast têm de aderir. Tem de usar intervalos de endereços de classe D.
    • O endereço IP de Todos os routers: 224.0.0.2/32. Este intervalo é obrigatório para enviar mensagens de saída IGMP.

    Em alternativa, pode especificar 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, tem de criar um spoke de VPC no grupo edge.

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

gcloud

  1. Para adicionar a sua rede VPC como um spoke de limite 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 \
        --vpc-network=MULTICAST_CONSUMER_NETWORK \
        --group="edge" \
        --global \
        --include-export-ranges=INCLUDE_RANGES
    

    Substitua os seguintes valores:

    • SPOKE_NAME: um nome para o raio da extremidade
    • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
    • HUB: o nome do hub do Network Connectivity Center que foi criado pelo administrador de multicast. A sua rede VPC de consumidor de multicast tem de ser anexada ao mesmo hub que as redes VPC de administrador de multicast e produtor de multicast. Se necessário, contacte o administrador de multicast para saber o nome do hub.

    • MULTICAST_CONSUMER_NETWORK: o nome da rede de consumo de multicast que criou anteriormente

      Em alternativa, pode fornecer o URI da rede de consumo de 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 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 consumidores de multicast e quaisquer outros intervalos necessários para a comunicação com os raios no grupo central, como para tráfego de unicast.

      Google Cloud proíbe sobreposições de sub-redes em raios da VPC conforme descrito em Unicidade da rota 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.

  2. Contacte o administrador de multicast para o notificar de que propôs um spoke de VPC para o hub.

    Se o hub estiver num projeto diferente, o administrador de multicast tem de aprovar explicitamente o seu spoke antes de este ficar ativo, a menos que o administrador de multicast tenha adicionado o seu projeto como um projeto de aceitação automática.

    Para verificar o estado de um spoke depois de o criar, consulte o artigo Verifique o estado de um spoke da VPC.

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

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

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

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

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

gcloud

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

   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 do consumidor de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona na qual o administrador ativou o domínio de multicast e na qual tem de alojar consumidores de multicast
  • DOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego de multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede do consumidor de multicast separados, consoante a topologia de multicast do domínio.

API

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

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 do consumidor de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: uma zona na qual o administrador ativou o domínio de multicast e na qual tem de alojar consumidores de multicast.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicast
  • MULTICAST_CONSUMER_PROJECT e MULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego de multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede do consumidor de multicast separados, consoante a topologia de multicast do domínio.

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

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

Conclua os passos seguintes para cada intervalo de grupos de multicast e zona para os quais quer consumir tráfego de multicast.

Depois de concluir este passo, os consumidores de multicast na rede podem juntar-se aos endereços IP do grupo de multicast no intervalo de grupos especificado, desde que tenham o IGMP configurado.

gcloud

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

   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 de multicast
  • CONSUMER_PROJECT: o ID do seu projeto. Este pode ser o projeto de administrador de multicast ou um projeto de consumidor de multicast separado, consoante a topologia do domínio de multicast.

  • ZONE: a zona na qual ativar a rede de consumidor de multicast. Também tem de ser uma zona na qual o administrador ativou o intervalo de grupos de multicast.

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

  • ADMIN_PROJECT: o ID do projeto do administrador de multicast

  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo do grupo que foi criado pelo administrador de multicast.

  • --[no-]enable-logging: opcional, determina se o registo de eventos de associação a grupos está ativado.

    • Para ativar o registo, use --enable-logging.
    • (Predefinição) Para desativar o registo, use --no-enable-logging.

API

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

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 de multicast
  • CONSUMER_PROJECT: o ID do seu projeto. Este pode ser o projeto de administrador de multicast ou um projeto de consumidor de multicast separado, consoante a topologia do domínio de multicast.
  • ZONE: a zona na qual ativar a rede de consumidor de multicast. Também tem de ser uma zona na qual o administrador ativou o intervalo de grupos de multicast.
  • CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidores de multicast que criou anteriormente
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • GROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo que foi criado pelo administrador de multicast
  • LOGGING_ENABLED: determina se o registo de eventos de associação a grupos está ativado.
    • Para ativar o registo, defina como true.
    • (Predefinição) Para desativar o registo, defina como false.

Crie instâncias de consumidor de multicast

Se ainda não o fez, crie uma ou mais instâncias do Compute Engine para executar a sua aplicação que consome tráfego de multicast. Para criar uma instância de consumidor de multicast ou configurar uma instância existente para ser um consumidor de multicast, consulte o artigo Configure instâncias de consumidor de multicast.

O que se segue?