Criar domínios multicast

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

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

Antes de começar

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

Criar ou identificar uma rede VPC

Se você 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 de rede VPC única, verifique se a rede tem as regras de firewall apropriadas para permitir o tráfego de multicast. Confira a seguir:

Definir o projeto

Configure a CLI gcloud para usar seu projeto. Como alternativa, é possível incluir 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 APIs a seguir.

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 Service Usage (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 criar domínios 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
  • Para criar e gerenciar regras de firewall: Administrador de segurança do Compute (compute.securityAdmin) no projeto
  • Para criar e gerenciar hubs e spokes do NCC: Administrador de hub e spoke (networkconnectivity.hubAdmin) no projeto
  • Para criar recursos multicast: Administrador de 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 NCC

Se você estiver criando um domínio multicast que usa a topologia em estrela do NCC, siga as etapas nesta 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 prossiga para Criar um domínio multicast.

Nesta seção, descrevemos como configurar um hub do NCC 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 de multicast separada, ela poderá se conectar ao hub como um spoke central.
  • As redes VPC de consumidor multicast podem se conectar ao hub como spokes de borda.

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

gcloud

Para configurar o NCC, 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 do NCC que você criou anteriormente
    • MULTICAST_ADMIN_NETWORK: o nome da rede de administrador multicast que você criou anteriormente

      Como alternativa, forneça o URI da rede do 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 entrem no hub, faça o seguinte. Como alternativa, é possível continuar configurando o multicast e concluir essas etapas mais tarde, conforme descrito em Controlar o acesso a domínios 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 NCC.

    2. Peça aos administradores de rede do consumidor de multicast que adicionem as redes VPC como spokes ao hub que você criou ao seguir 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. Ao receber uma proposta de spoke, siga as etapas para aceitar o spoke de 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ínios multicast. Antes de continuar, leia o seguinte:

  • Se você planeja criar domínios redundantes, recomendamos criar um grupo de domínios para maior 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ínios é uma configuração opcional. Se você não precisar de um grupo de domínios, pule esta etapa. No entanto, não é possível adicionar domínios a um grupo mais tarde.

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ínios.

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ínios
  • MULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicast

Criar um domínio

Crie um ou mais domínios de multicast associados à sua rede VPC de 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 mais tarde. Para criar domínios que fazem parte de um grupo de domínios, execute o comando a seguir 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 NCC, 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 o Cloud Multicast. Especifique uma destas opções:
    • SAME_VPC: a topologia de rede VPC única.
    • NCC: a topologia em estrela do NCC.
  • 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 mais tarde. 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, em seguida, 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 NCC, 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 o Cloud Multicast. Especifique uma destas opções:
    • SAME_VPC: a topologia de rede VPC única.
    • NCC: a topologia em estrela do NCC.
  • 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 multicast precisam enviar ou receber tráfego multicast. Quando você ativa um domínio em uma zona, oGoogle Cloud provisiona a infraestrutura 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 ou 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, inclua essa flag 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 multicast novos ou atuais.
  • Especifique os parâmetros a seguir de acordo com suas necessidades para o tráfego multicast nessa zona. O Google Cloud usa esses parâmetros para determinar a escala da infraestrutura multicast.

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

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

    • AGGR_EGRESS_PPS: pacotes de saída agregados por segundo (pps) para todos os grupos multicast no domínio na zona especificada. A saída se refere aos pacotes distribuídos da infraestrutura de multicast para os 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 sinalização.

    • AGGR_INGRESS_PPS: pps de entrada agregados para todos os grupos multicast no domínio na zona especificada. Entrada se refere aos pacotes enviados de produtores de multicast para a infraestrutura de multicast.

      Insira 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 de 64 a 1.500.

    • 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 multicast mais ativo no domínio, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da infraestrutura multicast.

      Insira 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 o maior número de consumidores multicast, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da infraestrutura multicast. A inclusão dessa flag não impõe um limite ao número de consumidores multicast de 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, inclua esse campo e defina-o 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 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 infraestrutura multicast.

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

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

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

    • AGGR_EGRESS_PPS: pacotes de saída agregados por segundo (pps) para todos os grupos multicast no domínio na zona especificada. A saída se refere aos pacotes distribuídos da infraestrutura de multicast para os 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 nesse campo.

    • AGGR_INGRESS_PPS: pps de entrada agregados para todos os grupos multicast no domínio na zona especificada. Entrada se refere aos pacotes enviados de produtores de multicast para a infraestrutura de multicast.

      Insira 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 de 64 a 1.500.

    • 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 multicast mais ativo no domínio, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da infraestrutura multicast.

      Insira 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 o maior número de consumidores multicast, o que ajuda o Google Cloud a determinar com mais precisão a escala necessária da infraestrutura multicast. Fornecer 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