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 do Cloud Multicast, consulte Visão geral da configuração do Cloud 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 grupos multicast

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

Criar um intervalo do 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 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 de 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). Além disso, o número total de endereços IP em um ou mais intervalos de grupos de multicast associados ao mesmo domínio não pode exceder sua cota de grupos de multicast por domínio.

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

  2. Crie um intervalo de grupos multicast usando o intervalo interno que você reservou. Para criar um intervalo de grupo 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 que você reservou anteriormente.
    • Especifique as seguintes propriedades para tráfego multicast, associação de grupo e geração de registros.

      Com exceção do 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 do grupo multicast se a lista de aceitação do consumidor 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 grupos.
        • Para negar todos os projetos, inclua essa flag. Um projeto só poderá usar o intervalo de grupos se você o adicionar à lista de aceitação de consumidores multicast.
        • (Padrão) Para permitir todos os projetos, exclua essa flag. Qualquer projeto que tenha acesso ao domínio multicast pode usar o intervalo de grupo. Na topologia em estrela do Network Connectivity Center (NCC), 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 consumidores multicast que podem usar esse intervalo de grupos multicast. Se um projeto de consumidor multicast não estiver na lista de aceitação, ele não poderá criar configurações de consumidor multicast usando esse intervalo de grupos.

        É 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 mais tarde.

        • Para permitir que esse intervalo envie tráfego multicast apenas dentro de uma zona, defina essa flag como intra-zone.
        • (Padrão) Para permitir que esse intervalo envie tráfego multicast entre zonas, defina essa flag como intra-region.
      • --[no-]enable-logging: determina se a geração de logs de eventos de associação ao grupo está ativada para o intervalo de grupos. Essa configuração se aplica a todas as ativações por zona do intervalo de grupos que não ativam ou desativam explicitamente a geração de registros.

        • Para ativar a geração de registros, use --enable-logging.
        • (Padrão) Para deixar a geração de registros desativada, omita essa flag ou 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 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 de 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). Além disso, o número total de endereços IP em um ou mais intervalos de grupos de multicast associados ao mesmo domínio não pode exceder sua cota de grupos de multicast por domínio.

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

  2. Crie um intervalo de grupos multicast usando o intervalo interno que você reservou. Para criar um intervalo de grupos 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 que você reservou anteriormente.

    Para especificar propriedades para tráfego multicast, associação de grupo e geração de registros, inclua os campos a seguir no corpo da solicitação. Com exceção do 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 consumerAcceptList estiver vazio. Essa configuração determina se um projeto de consumidor multicast pode ativar uma rede VPC de consumidor multicast para o intervalo do grupo.
      • Para negar todos os projetos, defina como true. Um projeto só poderá usar o intervalo de grupo se você o adicionar a consumerAcceptList.
      • (Padrão) Para permitir todos os projetos, defina como false. Qualquer projeto que tenha acesso ao domínio multicast pode usar o intervalo de grupo. Na topologia em estrela do NCC, 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 consumidores multicast que podem usar esse intervalo de grupos multicast.

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

      É 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 mais tarde.

      • Para permitir que esse intervalo envie tráfego multicast apenas dentro de 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 a geração de logs de eventos de associação ao grupo está ativada para o intervalo de grupos. Essa configuração se aplica a todas as ativações por zona do intervalo de grupos que não ativam ou desativam explicitamente a geração de registros.

      • Para ativar a geração de registros, defina como true.
      • (Padrão) Para deixar a geração de registros desativada, omita o campo logConfig ou defina enabled como false.

Ativar o intervalo do grupo

Ative o intervalo de grupos em cada zona em que os produtores ou consumidores 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 do grupo associado não poderão ser usados para enviar ou receber tráfego multicast na zona.

gcloud

Para ativar um intervalo de grupos 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 multicast.
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: a zona em que o intervalo do grupo será ativado. Precisa ser uma zona em que você já ativou o domínio.
  • 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 a geração de logs de eventos de associação ao grupo está ativada. Configurar essa flag em uma ativação de intervalo de grupo zonal substitui a configuração do intervalo de grupo global.
    • (Padrão) Para herdar a configuração de registro do intervalo de grupos global, omita essa flag.
    • Para ativar a geração de registros nessa zona, independentemente da configuração global, use --enable-logging.
    • Para desativar a geração de registros nessa zona, independentemente da configuração global, use --no-enable-logging.

API

Para ativar um intervalo de grupos 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 multicast.
  • ADMIN_PROJECT: o ID do projeto do administrador de multicast
  • ZONE: a zona em que o intervalo do grupo será ativado. Precisa ser uma zona em que você já ativou o domínio.
  • 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 a geração de logs de eventos de associação ao grupo está ativada. Configurar a geração de registros em uma ativação de intervalo de grupo zonal substitui a configuração do intervalo de grupo global.
    • (Padrão) Para herdar a configuração de geração de registros do intervalo de grupos global, omita o campo logConfig do corpo da solicitação.
    • Para ativar a geração de registros nessa zona, independente da configuração global, defina enabled como true.
    • Para desativar a geração de registros nessa zona, independentemente da configuração global, defina enabled como false.

A seguir