Criar domínios multicast

Nesta página, descrevemos as etapas que você precisa seguir para criar domínios de multicast.

Para uma visão geral do processo de configuração de multicast, consulte Visão geral da configuração de multicast.

Antes de começar

Antes de criar domínios de multicast, consulte as seções a seguir.

Criar ou identificar uma rede VPC

Se ainda não tiver feito isso, crie uma rede de nuvem privada virtual (VPC) para usar como a rede de administrador de multicast. Para mais informações sobre como criar redes VPC, consulte Criar e gerenciar redes VPC.

Se a rede do administrador de multicast também hospedar produtores ou consumidores de multicast, como ao usar a topologia rede VPC única, verifique se a rede tem as regras de firewall adequadas para permitir o tráfego de multicast. Confira a seguir:

Definir o projeto

Configure a CLI gcloud para usar seu projeto. Como alternativa, inclua 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 seu projeto.

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 criar domínios de multicast, peça ao administrador que conceda 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 e gerenciar hubs e spokes do Network Connectivity Center: Administrador do hub e spoke (networkconnectivity.hubAdmin) no seu projeto
  • Para criar recursos de multicast: Administrador do multicast (networkservices.multicastAdmin) no 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 usando papéis personalizados ou outros papéis predefinidos.

Configurar o Network Connectivity Center

Se você estiver criando um domínio de multicast que usa a topologia em estrela do Network Connectivity Center, siga as etapas desta seção para configurar o hub.

Se você estiver criando um domínio multicast que usa a topologia de rede VPC única, pule esta seção e acesse Criar um domínio multicast.

Nesta seção, descrevemos como configurar o hub do Network Connectivity Center com a topologia em estrela predefinida para ativar o seguinte:

  • É possível adicionar sua rede VPC de administrador ao hub como um spoke central.
  • Se houver uma rede VPC de produtor multicast separada, ela poderá entrar no hub como um spoke central.
  • As redes VPC de consumidores de multicast podem participar do hub como spokes de borda.

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

gcloud

Para configurar o Network Connectivity Center, faça o seguinte:

  1. Para criar um hub, use o comando network-connectivity hubs create.

      gcloud network-connectivity hubs create HUB_NAME \
        --policy-mode=PRESET \
        --preset-topology=STAR
    

    Substitua HUB_NAME por um nome para o hub.

  2. Para adicionar sua rede VPC como um spoke central ao 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_ADMIN_NETWORK \
        --group="center" \
        --global
    

    Substitua:

    • 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 que você criou anteriormente.
    • MULTICAST_ADMIN_NETWORK: o nome da rede de administrador de multicast que você criou anteriormente.

      Também é possível fornecer o URI da rede de administrador de multicast usando o seguinte formato: projects/MULTICAST_ADMIN_PROJECT/global/networks/MULTICAST_ADMIN_NETWORK.

  3. Para permitir que as redes VPC consumidoras de multicast participem do hub, faça o seguinte. Como alternativa, continue configurando o multicast e conclua essas etapas mais tarde, conforme descrito em Controlar o acesso a domínios de multicast.

    1. Conceda aos administradores de rede de consumidores multicast em outros projetos a capacidade de propor spokes VPC ao hub seguindo as etapas em Conceder acesso na documentação do Network Connectivity Center.

    2. Peça aos administradores da rede consumidora de multicast para adicionar as redes VPC como spokes ao hub que você criou quando eles seguirem o procedimento para Ativar uma rede VPC para consumir tráfego multicast.

    3. Analise os spokes de VPC propostos conforme necessário para verificar as propostas de spoke.

    4. Quando você receber uma proposta de spoke, siga as etapas para aceitar o spoke da VPC.

Criar um domínio multicast

Nesta seção, descrevemos como criar um domínio multicast.

Criar um grupo de domínios

Nesta seção, descrevemos como criar um grupo de domínio multicast. Antes de continuar, revise o seguinte:

  • Se você planeja criar domínios redundantes, recomendamos criar um grupo de domínios para aumentar a disponibilidade entre eles.

  • Um grupo de domínios agrupa explicitamente dois domínios relacionados. Não crie um grupo de domínios para um único domínio ou para mais de dois domínios.

  • A criação de um grupo de domínio é uma configuração opcional. Se você não precisar de um grupo de domínio, pule esta etapa. No entanto, não é possível adicionar domínios atuais a um grupo de domínios depois.

gcloud

Para criar um grupo de domínios, use o comando network-services multicast-domain-groups create.

gcloud network-services multicast-domain-groups create DOMAIN_GROUP_NAME \
   --location=global

Substitua DOMAIN_GROUP_NAME por um nome para o grupo de domínio.

API

Para criar um grupo de domínios, use o método multicastDomainGroups.create.

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups?multicastDomainGroupId=DOMAIN_GROUP_NAME

Substitua:

  • DOMAIN_GROUP_NAME: um nome para o grupo de domínio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast

Criar um domínio

Crie um ou mais domínios de multicast associados à rede VPC do administrador de multicast.

gcloud

Para criar um domínio, use o comando network-services multicast-domains create.

Se você quiser usar um grupo de domínios, especifique-o ao criar o domínio. Não é possível adicionar o domínio a um grupo de domínios depois. Para criar domínios que fazem parte de um grupo de domínios, execute o seguinte comando duas vezes, por exemplo, para criar DOMAIN_1 e DOMAIN_2.

   gcloud network-services multicast-domains create DOMAIN_NAME \
      --location=global \
      --admin-network=projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK \
      --connection-type=TOPOLOGY \
      [--ncc-hub=projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME] \
      [--multicast-domain-group=projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME]

Substitua os seguintes valores:

  • DOMAIN_NAME: um nome para o domínio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • MULTICAST_ADMIN_NETWORK: a rede VPC do administrador de multicast. Se você estiver usando a topologia do Network Connectivity Center, essa rede também precisará fazer parte do hub como o spoke central. Caso contrário, a criação do domínio vai falhar.
  • TOPOLOGY: a topologia que você quer configurar para multicast. Especifique uma destas opções:
    • SAME_VPC: a topologia de rede VPC única.
    • NCC: a topologia em estrela do Network Connectivity Center.
  • HUB_NAME: se você estiver configurando a topologia em estrela do Network Connectivity Center, especifique o nome do hub.
  • DOMAIN_GROUP_NAME: se você criou um grupo de domínios, insira o nome dele.

API

Para criar um domínio, use o método multicastDomains.create.

Se você quiser usar um grupo de domínios, especifique-o ao criar o domínio. Não é possível adicionar o domínio a um grupo de domínios depois. Para criar domínios que fazem parte de um grupo de domínios, faça a seguinte solicitação de API duas vezes. Por exemplo, faça a seguinte solicitação uma vez para criar DOMAIN_1 e faça a solicitação novamente para criar DOMAIN_2:

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains?multicastDomainId=DOMAIN_NAME

{
  "adminNetwork": "projects/MULTICAST_ADMIN_PROJECT/locations/global/networks/MULTICAST_ADMIN_NETWORK",
  "connection": {
      "connectionType": "TOPOLOGY",
      "nccHub": "projects/MULTICAST_ADMIN_PROJECT/locations/global/hubs/HUB_NAME"
  },
  "multicastDomainGroup": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomainGroups/DOMAIN_GROUP_NAME"
}

Substitua os seguintes valores:

  • DOMAIN_NAME: um nome para o domínio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • MULTICAST_ADMIN_NETWORK: a rede VPC do administrador de multicast. Se você estiver usando a topologia do Network Connectivity Center, essa rede também precisará fazer parte do hub como o spoke central. Caso contrário, a criação do domínio vai falhar.
  • TOPOLOGY: a topologia que você quer configurar para multicast. Especifique uma destas opções:
    • SAME_VPC: a topologia de rede VPC única.
    • NCC: a topologia em estrela do Network Connectivity Center.
  • HUB_NAME: se você estiver configurando a topologia em estrela do Network Connectivity Center, especifique o nome do hub usando o campo nccHub.
  • DOMAIN_GROUP_NAME: se você criou um grupo de domínios, insira o nome dele usando o campo multicastDomainGroup.

Ativar o domínio

Ative o domínio em cada zona em que os produtores ou consumidores de multicast precisam enviar ou receber tráfego multicast. Quando você ativa um domínio em uma zona, o Google Cloud provisiona a infraestrutura de multicast para seu domínio nessa zona.

Se você não ativar um domínio em uma determinada zona, o tráfego multicast não poderá ser enviado nem recebido nessa zona.

gcloud

Para ativar um domínio, use o comando network-services multicast-domain-activations create.

O comando a seguir leva de 10 a 30 minutos para ser concluído.

   gcloud network-services multicast-domain-activations create DOMAIN_ACTIVATION_NAME \
      --multicast-domain="projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
      --location=ZONE \
      [--disable-placement-policy] \
      [--aggr-egress-pps=AGGR_EGRESS_PPS] \
      [--aggr-ingress-pps=AGGR_INGRESS_PPS] \
      [--avg-packet-size=AVG_PACKET_SIZE] \
      [--max-per-group-ingress-pps=MAX_PER_GROUP_INGRESS_PPS] \
      [--max-per-group-subscribers=MAX_PER_GROUP_SUBSCRIBERS]

Substitua os seguintes valores:

  • DOMAIN_ACTIVATION_NAME: um nome para a ativação do domínio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • DOMAIN_NAME: o nome do domínio a ser ativado.
  • ZONE: a zona em que o domínio será ativado.
  • --disable-placement-policy: se você estiver ativando um domínio que faz parte de um grupo de domínios, poderá incluir essa flag para desativar a criação de uma política de posicionamento. Caso contrário,o Google Cloudcria automaticamente uma política de posicionamento que pode ser aplicada a consumidores de multicast novos ou atuais.
  • Especifique os seguintes parâmetros de acordo com suas necessidades para o tráfego multicast nessa zona.O Google Cloud usa esses parâmetros para determinar a escala da sua infraestrutura multicast.

    Antes de especificar esses parâmetros, consulte o seguinte:

    Para mais informações sobre cada flag, consulte:

    • AGGR_EGRESS_PPS: agrega pacotes de saída por segundo (pps) para todos os grupos de multicast no domínio na zona especificada. A saída se refere a pacotes distribuídos da infraestrutura de multicast para consumidores de multicast.

      É possível inserir um valor de 0 a 500.000.000 (500 milhões). O valor padrão é 1.000.000 (1 milhão). Os valores padrão dos outros campos são definidos dinamicamente com base no valor inserido para essa flag.

    • AGGR_INGRESS_PPS: PPS de entrada agregada para todos os grupos de multicast no domínio na zona especificada. A entrada se refere a pacotes enviados de produtores de multicast para a infraestrutura de multicast.

      É possível inserir um valor de 0 a 2.000.000 (2 milhões). O valor inserido para --aggr-ingress-pps não pode ser maior que o valor de --aggr-egress-pps.

    • AVG_PACKET_SIZE: tamanho médio do pacote em bytes. É possível inserir um valor entre 64 e 1500.

    • MAX_PER_GROUP_INGRESS_PPS: pps de entrada máximo para um único grupo de multicast no domínio na zona especificada. Use essa flag para especificar o grupo de multicast mais ativo no domínio, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da sua infraestrutura de multicast.

      É possível inserir um valor de 0 a 2.000.000 (2 milhões). O valor inserido para --max-per-group-ingress-pps não pode ser maior que o valor de --aggr-ingress-pps.

    • MAX_PER_GROUP_SUBSCRIBERS: número máximo de consumidores de multicast para um único grupo de multicast no domínio na zona especificada. Use essa flag para especificar o grupo com mais consumidores de multicast, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da sua infraestrutura de multicast. Incluir essa flag não impõe um limite ao número de consumidores de multicast para um grupo.

      É possível inserir um valor de 1 a 500.

API

Para ativar um domínio, use o método multicastDomainActivations.create.

A solicitação a seguir leva de 10 a 30 minutos para ser concluída.

POST https://networkservices.googleapis.com/v1/projects/MULTICAST_ADMIN_PROJECT/locations/ZONE/multicastDomainActivations?multicastDomainActivationId=DOMAIN_ACTIVATION_NAME

{
  "multicastDomain": "projects/MULTICAST_ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
  "disablePlacementPolicy": "PLACEMENT_POLICY_DISABLED",
  "trafficSpec": {
    "aggrEgressPps": "AGGR_EGRESS_PPS",
    "aggrIngressPps": "AGGR_INGRESS_PPS",
    "avgPacketSize": "AVG_PACKET_SIZE",
    "maxPerGroupIngressPps": "MAX_PER_GROUP_INGRESS_PPS",
    "maxPerGroupSubscribers": "MAX_PER_GROUP_SUBSCRIBERS"
  }
}

Substitua os seguintes valores:

  • DOMAIN_ACTIVATION_NAME: um nome para a ativação do domínio
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • DOMAIN_NAME: o nome do domínio a ser ativado.
  • ZONE: a zona em que o domínio será ativado.
  • PLACEMENT_POLICY_DISABLED: se você estiver ativando um domínio que faz parte de um grupo de domínios, poderá incluir esse campo e defini-lo como true para desativar a criação de uma política de posicionamento. Caso contrário,o Google Cloud cria automaticamente uma política de posicionamento que pode ser aplicada a consumidores de multicast novos ou atuais.
  • Especifique valores para o objeto trafficSpec de acordo com suas necessidades para o tráfego multicast nessa zona.O Google Cloud usa esses parâmetros para determinar a escala da sua infraestrutura multicast.

    Antes de especificar esses parâmetros, consulte o seguinte:

    • Revise as limitações correspondentes para o tráfego de multicast descritas na visão geral do multicast.
    • Se você não incluir o objeto trafficSpec no corpo da solicitação, Google Cloud vai gerar uma configuração mínima que pode ser usada para testes.
    • É possível atualizar a configuração trafficSpec depois, conforme descrito em Atualizar parâmetros do domínio de multicast.
    • Embora os campos em trafficSpec sejam opcionais, se você incluir algum deles, aggrEgressPps se torna obrigatório. Se você incluir o objeto trafficSpec com alguns campos, também será necessário incluir aggrEgressPps.

    Para mais informações sobre cada campo, consulte:

    • AGGR_EGRESS_PPS: agrega pacotes de saída por segundo (pps) para todos os grupos de multicast no domínio na zona especificada. A saída se refere a pacotes distribuídos da infraestrutura de multicast para consumidores de multicast.

      É possível inserir um valor de 0 a 500.000.000 (500 milhões). O valor padrão é 1.000.000 (1 milhão). Os valores padrão dos outros campos são definidos dinamicamente com base no valor inserido neste campo.

    • AGGR_INGRESS_PPS: PPS de entrada agregada para todos os grupos de multicast no domínio na zona especificada. A entrada se refere a pacotes enviados de produtores de multicast para a infraestrutura de multicast.

      É possível inserir um valor de 0 a 2.000.000 (2 milhões). O valor inserido para aggrIngressPps não pode ser maior que o valor de aggrEgressPps.

    • AVG_PACKET_SIZE: tamanho médio do pacote em bytes. É possível inserir um valor entre 64 e 1500.

    • MAX_PER_GROUP_INGRESS_PPS: pps de entrada máximo para um único grupo de multicast no domínio na zona especificada. Use essa flag para especificar o grupo de multicast mais ativo no domínio, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da sua infraestrutura de multicast.

      É possível inserir um valor de 0 a 2.000.000 (2 milhões). O valor inserido para maxPerGroupIngressPps não pode ser maior que o valor de aggrIngressPps.

    • MAX_PER_GROUP_SUBSCRIBERS: número máximo de consumidores de multicast para um único grupo de multicast no domínio na zona especificada. Use essa flag para especificar o grupo com mais consumidores de multicast, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da sua infraestrutura de multicast. Essa especificação não impõe um limite ao número de consumidores multicast de um grupo.

      É possível inserir um valor de 1 a 500.

A seguir