Criar intervalos de grupos multicast

Nesta página, descrevemos as etapas que um administrador de multicast precisa seguir para criar intervalos de grupos 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

Um intervalo de grupo multicast precisa estar associado a um domínio multicast específico. Antes de criar um intervalo de grupos multicast, siga as etapas para criar um domínio multicast.

Criar um intervalo de grupo multicast

Nesta seção, descrevemos como criar um intervalo de grupo multicast em um domínio. Repita essas etapas para criar vários intervalos de grupos em um determinado domínio.

Criar um intervalo de grupo

Associe um intervalo de endereços IP de grupo multicast ao domínio multicast.

gcloud

  1. Reserve um intervalo interno na rede VPC do administrador de multicast que contém os endereços IP do grupo de multicast que você quer usar. Para reservar um intervalo interno, use o comando network-connectivity internal-ranges create.

    gcloud network-connectivity internal-ranges create INTERNAL_RANGE_NAME \
       --network=ADMIN_NETWORK \
       --ip-cidr-range=CIDR_RANGE
    

    Substitua os seguintes valores:

    • INTERNAL_RANGE_NAME: um nome para o intervalo interno a ser reservado
    • ADMIN_NETWORK: o nome da rede do administrador de multicast
    • CIDR_RANGE: o intervalo CIDR a ser reservado

      O intervalo CIDR especificado precisa ser um endereço de classe D (como 224.0.0.0 - 239.255.255.255) e ter um prefixo maior ou igual a /23. Por exemplo, 224.1.60.0/24 é um intervalo válido. Intervalos com um comprimento de prefixo de /22 ou menos são inválidos.

    Para mais informações sobre como criar intervalos internos, consulte Criar e usar intervalos internos.

  2. Crie um intervalo de grupo multicast usando o intervalo interno reservado. Para criar um intervalo de grupos de multicast, use o comando network-services multicast-group-ranges create.

    gcloud network-services multicast-group-ranges create GROUP_RANGE_NAME \
       --multicast-domain="projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME" \
       --reserved-internal-range="projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME" \
       --location=global \
       [--require-explicit-accept ] \
       [--consumer-accept-list=CONSUMER_ACCEPT_LIST] \
       [--distribution-scope=DISTRIBUTION_SCOPE] \
       [--enable-logging | --no-enable-logging]
    

    Substitua os seguintes valores:

    • GROUP_RANGE_NAME: um nome para o intervalo do grupo de multicast
    • DOMAIN_NAME: o nome do domínio multicast que você criou anteriormente.
    • ADMIN_PROJECT: o ID do projeto do administrador de multicast
    • INTERNAL_RANGE_NAME: o nome do intervalo interno reservado anteriormente.
    • Especifique as seguintes propriedades para tráfego multicast, associação a grupos e geração de registros.

      Exceto pelo escopo de distribuição de tráfego, é possível atualizar cada propriedade conforme necessário em um momento posterior.

      • --require-explicit-accept: determina quais projetos podem usar o intervalo de grupos multicast se a lista de aceitação de consumidores multicast estiver vazia. Essa configuração determina se um projeto de consumidor multicast pode ativar uma rede VPC de consumidor multicast para o intervalo de grupo.
        • Para negar todos os projetos, inclua esta flag. Um projeto só pode usar o intervalo de grupo se você o adicionar à lista de aceitação do consumidor multicast.
        • (Padrão) Para permitir todos os projetos, exclua essa flag. Qualquer projeto com acesso ao domínio multicast pode usar o intervalo de grupo. Na topologia em estrela do Network Connectivity Center, você concede a um projeto acesso ao domínio aceitando-o no hub.
      • CONSUMER_ACCEPT_LIST: se você especificou --require-explicit-accept, insira uma lista de projetos de consumidor multicast que podem usar esse intervalo de grupo multicast. Se um projeto consumidor de multicast não estiver na lista de aceitação, ele não poderá criar configurações de consumidor de multicast usando esse intervalo de grupo.

        É possível especificar até 100 projetos pelo ID do projeto ou nome.

      • DISTRIBUTION_SCOPE: determina o escopo de local do tráfego multicast. Não é possível atualizar essa propriedade depois.

        • Para permitir que esse intervalo envie tráfego multicast apenas em uma zona, defina esta flag como intra-zone.
        • (Padrão) Para permitir que esse intervalo envie tráfego multicast entre zonas, defina a flag como intra-region.
      • --[no-]enable-logging: determina se o registro de eventos de associação a grupos está ativado.

        • Para ativar o registro, use --enable-logging.
        • (Padrão) Para desativar a geração de registros, use --no-enable-logging.

API

  1. Reserve um intervalo interno na rede VPC do administrador de multicast que contém os endereços IP do grupo de multicast que você quer usar. Para reservar um intervalo interno, use o método internalRanges.create.

    POST https://networkconnectivity.googleapis.com/v1/projects/ADMIN_PROJECT/locations/global/internalRanges?internalRangeId=INTERNAL_RANGE_NAME
    {
      "network": "projects/ADMIN_PROJECT/global/networks/ADMIN_NETWORK",
      "ipCidrRange": "CIDR_RANGE"
    }
    

    Substitua os seguintes valores:

    • INTERNAL_RANGE_NAME: um nome para o intervalo interno a ser reservado
    • ADMIN_PROJECT: o ID do projeto do administrador de multicast
    • ADMIN_NETWORK: o nome da rede do administrador de multicast
    • CIDR_RANGE: o intervalo CIDR a ser reservado

      O intervalo CIDR especificado precisa ser um endereço de classe D (como 224.0.0.0 - 239.255.255.255) e ter um prefixo maior ou igual a /23. Por exemplo, 224.1.60.0/24 é um intervalo válido. Intervalos com um comprimento de prefixo de /22 ou menos são inválidos.

    Para mais informações sobre como criar intervalos internos, consulte Criar e usar intervalos internos.

  2. Crie um intervalo de grupo multicast usando o intervalo interno reservado. Para criar um intervalo de grupo de multicast, use o método multicastGroupRanges.create.

    POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/global/multicastGroupRanges?multicastGroupRangeId=GROUP_RANGE_NAME
    {
      "multicastDomain": "projects/ADMIN_PROJECT/locations/global/multicastDomains/DOMAIN_NAME",
      "reservedInternalRange": "projects/ADMIN_PROJECT/locations/global/internalRanges/INTERNAL_RANGE_NAME",
      "requireExplicitAccept": "REQUIRE_EXPLICIT_ACCEPT",
      "consumerAcceptList": [
          "CONSUMER_ACCEPT_LIST"
      ],
      "distributionScope": "DISTRIBUTION_SCOPE",
      "logConfig": {
          "enabled": "LOGGING_ENABLED"
     }
    }
    

    Substitua os seguintes valores:

    • GROUP_RANGE_NAME: um nome para o intervalo do grupo de multicast
    • ADMIN_PROJECT: o ID do projeto do administrador de multicast
    • DOMAIN_NAME: o nome do domínio multicast que você criou anteriormente.
    • INTERNAL_RANGE_NAME: o nome do intervalo interno reservado anteriormente.

    Para especificar propriedades de tráfego multicast, associação a grupos e geração de registros, inclua os seguintes campos no corpo da solicitação. Exceto pelo escopo de distribuição de tráfego, é possível atualizar cada propriedade conforme necessário em um momento posterior.

    • REQUIRE_EXPLICIT_ACCEPT: determina quais projetos podem usar o intervalo de grupos de multicast se consumerAcceptList estiver vazio. Essa configuração determina se um projeto de consumidor multicast pode ativar uma rede VPC de consumidor multicast para o intervalo de grupo.
      • Para negar todos os projetos, defina como true. Um projeto só pode usar o intervalo de grupo se você o adicionar a consumerAcceptList.
      • (Padrão) Para permitir todos os projetos, defina como false. Qualquer projeto com acesso ao domínio de multicast pode usar o intervalo de grupo. Na topologia em estrela do Network Connectivity Center, você concede a um projeto acesso ao domínio aceitando-o no hub.
    • CONSUMER_ACCEPT_LIST: se você definir requireExplicitAccept como true, poderá inserir uma lista de projetos de consumidor de multicast que podem usar esse intervalo de grupo de multicast.

      Se um projeto consumidor de multicast não estiver na lista de aceitação, ele não poderá criar configurações de consumidor de multicast usando esse intervalo de grupo.

      É possível especificar até 100 projetos pelo ID do projeto ou nome. Use o seguinte formato: "consumerAcceptList": ["project-1", "project-2"].

    • DISTRIBUTION_SCOPE: determina o escopo de local do tráfego multicast. Não é possível atualizar essa propriedade depois.

      • Para permitir que esse intervalo envie tráfego multicast apenas em uma zona, defina como INTRA_ZONE.
      • (Padrão) Para permitir que esse intervalo envie tráfego multicast entre zonas, defina como INTRA_REGION.
    • LOGGING_ENABLED: determina se o registro de eventos de associação a grupos está ativado.

      • Para ativar a geração de registros, defina como true.
      • (Padrão) Para desativar a geração de registros, defina como false.

Ativar o intervalo de grupos

Ative o intervalo de grupo em cada zona em que produtores ou consumidores de multicast precisam usar os endereços IP de grupo associados.

Se você não ativar um intervalo de grupo em uma determinada zona, os endereços IP associados não poderão ser usados para enviar ou receber tráfego multicast nessa zona.

gcloud

Para ativar um intervalo de grupo de multicast, use o comando network-services multicast-group-range-activations create.

  gcloud network-services multicast-group-range-activations create GROUP_RANGE_ACTIVATION_NAME \
     --multicast-domain-activation="projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME" \
     --multicast-group-range="projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME" \
     --location=ZONE \
     [--enable-logging | --no-enable-logging]

Substitua os seguintes valores:

  • GROUP_RANGE_ACTIVATION_NAME: um nome para a ativação do intervalo do grupo de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: a zona em que o intervalo de grupo será ativado. Precisa ser uma zona em que você ativou o domínio anteriormente.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio que você criou anteriormente nessa zona.
  • GROUP_RANGE_NAME: o nome do intervalo de grupos que você criou anteriormente
  • --[no-]enable-logging: opcional, determina se o registro de eventos de associação a grupos está ativado. Configurar essa flag em uma ativação de intervalo de grupo zonal substitui a configuração do intervalo de grupo global.
    • Para ativar o registro, use --enable-logging.
    • (Padrão) Para desativar a geração de registros, use --no-enable-logging.

API

Para ativar um intervalo de grupo multicast, use o método multicastGroupRangeActivations.create.

POST https://networkservices.googleapis.com/v1/projects/ADMIN_PROJECT/locations/ZONE/multicastGroupRangeActivations?multicastGroupRangeActivationId=GROUP_RANGE_ACTIVATION_NAME
{
    "multicastDomainActivation": "projects/ADMIN_PROJECT/locations/ZONE/multicastDomainActivations/DOMAIN_ACTIVATION_NAME",
    "multicastGroupRange": "projects/ADMIN_PROJECT/locations/global/multicastGroupRanges/GROUP_RANGE_NAME",
    "logConfig": {
          "enabled": "LOGGING_ENABLED"
    }
}

Substitua os seguintes valores:

  • GROUP_RANGE_ACTIVATION_NAME: um nome para a ativação do intervalo do grupo de multicast
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: a zona em que o intervalo de grupo será ativado. Precisa ser uma zona em que você ativou o domínio anteriormente.
  • DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio que você criou anteriormente nessa zona.
  • GROUP_RANGE_NAME: o nome do intervalo de grupos que você criou anteriormente
  • LOGGING_ENABLED: determina se o registro de eventos de associação a grupos está ativado. A configuração do registro em uma ativação de intervalo de grupo zonal substitui a configuração do intervalo de grupo global.
    • Para ativar a geração de registros, defina como true.
    • (Padrão) Para desativar a geração de registros, defina como false.

A seguir