Permitir que uma rede VPC consuma tráfego multicast
Nesta página, descrevemos as etapas necessárias para configurar recursos em Google Cloud para que os consumidores de multicast em uma rede VPC possam receber tráfego de multicast de um determinado domínio de multicast e um ou mais intervalos de grupo.
Antes de começar
Antes de começar os procedimentos nesta página, conclua os pré-requisitos descritos nesta seção.
Confirme se o domínio de multicast, o intervalo de grupos e as configurações do produtor estão concluídos.
Confirme se o domínio, o intervalo de grupos e as configurações de produtores de multicast para os quais você quer consumir tráfego de multicast estão completos, conforme descrito na visão geral da configuração de multicast. Se necessário, entre em contato com o administrador de multicast do domínio.
Definir o projeto
Defina a CLI gcloud para usar o projeto da rede VPC do consumidor de multicast. Como alternativa, transmita
a flag --project=PROJECT para cada comando nos
procedimentos a seguir.
gcloud config set project PROJECT
Substitua 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).
Para criar recursos de multicast, ative a API
networkservices:gcloud services enable networkservices.googleapis.comPara 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 configurar recursos de consumidor 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 seu projeto -
Para criar e gerenciar regras de firewall:
Administrador de segurança do Compute (
compute.securityAdmin) no seu projeto -
Para criar spokes do Network Connectivity Center:
Administrador do spoke (
networkconnectivity.spokeAdmin) no seu projeto -
Para propor spokes do Network Connectivity Center ao hub associado a um domínio multicast:
Usuário do grupo (
networkconnectivity.groupUser) no projeto do administrador de multicast -
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.
Criar uma rede VPC e adicioná-la a um hub
Se o domínio de multicast usar uma topologia em estrela do Network Connectivity Center em que há redes VPC de consumidores de multicast separadas, conclua as etapas desta seção.
Se o domínio de multicast usar uma única topologia de rede VPC, pule esta seção e siga diretamente para as etapas de ativação da rede VPC para consumir tráfego de multicast.
Crie uma rede VPC
Esta seção descreve como criar uma rede de nuvem privada virtual (VPC) para consumir tráfego multicast.
Para mais informações sobre como criar redes VPC, consulte Criar e gerenciar redes VPC.
gcloud
Crie uma rede VPC usando o comando
compute networks create.gcloud compute networks create MULTICAST_CONSUMER_NETWORK --subnet-mode=custom
Substitua
MULTICAST_CONSUMER_NETWORKpor um nome para a rede de consumidores multicast.Adicione uma ou mais sub-redes para hospedar 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-redeMULTICAST_CONSUMER_NETWORK: o nome da rede de consumidor multicast que você criou anteriormente.PRIMARY_RANGE: o intervalo IPv4 principal da sub-rede, em notação CIDR. Saiba mais em Intervalos de sub-rede IPv4.REGION: a região do Google Cloud em que a nova sub-rede é criada. Precisa ser uma região compatível com multicast, comous-east5.
adicionar regras de firewall
Esta seção descreve como criar regras de firewall na rede VPC de consumidor de multicast para tráfego de multicast.
Para criar outras regras de firewall, como para SSH, consulte Criar regras de firewall da VPC.
Os comandos são preenchidos previamente com exemplos de nomes de regras de firewall. O nome de uma regra de firewall precisa ser exclusivo em um projeto.
Permitir tráfego multicast de entrada
gcloud
Para criar uma regra de firewall que permita o tráfego de entrada multicast para sua
rede VPC da rede produtora 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 consumidor multicast que você criou anteriormente.PORT: uma lista de portas a que a regra de firewall se aplica.O Google Cloud usaudppara tráfego multicast. Uma porta ou um intervalo de portas pode ser especificado após o protocolo a que a regra de firewall se aplica no tráfego por portas específicas. Se nenhuma porta ou intervalo de portas for especificado, as conexões por todos os intervalos serão aplicadas.Por exemplo, especifique
--rules=udp:1234para permitir o tráfego multicast pela porta 1234.MULTICAST_PRODUCER_RANGE: o intervalo CIDR da rede VPC do produtor de multicast, usado para alocar endereços IP para produtores de multicast. Você também pode omitir a flag--source-ranges, que define a origem de entrada como 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. Esse precisa ser um intervalo de endereços de classe D. Por exemplo, use224.0.0.0/4para permitir todo o tráfego 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 de consumidor multicast do intervalo de rede
de consumidor multicast, use o
comando compute firewall-rules create.
O comando a seguir inclui:
--destination-ranges=224.0.0.1/32para especificar o endereço IP do grupo multicast que representa todos os hosts nessa sub-rede.--rules=2para 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 consumidor multicast que você criou anteriormente.MULTICAST_CONSUMER_RANGE: o intervalo CIDR da rede de consumidores multicast, usado para alocar endereços IP para consumidores multicast.
Permitir IGMP de saída
Esta seção descreve como criar uma regra de firewall que permite o tráfego de saída
IGMP para que você possa enviar mensagens IGMP JOIN e LEAVE de
consumidores de multicast.
Todas as redes VPC têm uma regra padrão de permissão de saída IPv4 com a menor prioridade (65535). Se não houver uma regra de prioridade mais alta que bloqueie explicitamente o tráfego de saída, não será necessário concluir esta etapa. Para mais informações, consulte Regras implícitas.
gcloud
Para criar uma regra de firewall que permita o tráfego de saída de multicast IGMP
da rede VPC consumidora 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 consumidor multicast que você criou anteriormente.RANGES_FOR_JOIN_AND_LEAVE: uma lista separada por vírgulas do seguinte:- Os intervalos CIDR dos grupos multicast a que os consumidores multicast precisam participar. É necessário usar intervalos de endereços da classe D.
- O endereço IP de Todos os roteadores:
224.0.0.2/32. Esse intervalo é obrigatório para o envio de mensagens de saída do IGMP.
Como alternativa, especifique
224.0.0.0/4para permitir todo o tráfego multicast.
Adicionar a rede VPC a um hub do Network Connectivity Center
Nesta seção, descrevemos como adicionar sua rede VPC ao hub do Network Connectivity Center criado pelo administrador de multicast. Para adicionar sua rede, crie um spoke da VPC no grupo de borda.
Para mais informações, consulte Topologia em estrela e Criar um spoke VPC na documentação do Network Connectivity Center.
gcloud
Para adicionar sua rede VPC como um spoke de borda 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_RANGESSubstitua os seguintes valores:
SPOKE_NAME: um nome para o spoke de bordaMULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicastHUB: o nome do hub do Network Connectivity Center criado pelo administrador de multicast. Sua rede VPC de consumidor multicast precisa ser anexada ao mesmo hub que as redes VPC de administrador multicast e produtor multicast. Se necessário, entre em contato com o administrador de multicast para saber o nome do hub.MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidor multicast que você criou anteriormente.Também é possível fornecer o URI da rede de consumidores 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 serem exportados para o hub.Por padrão, o spoke exporta todos os intervalos de sub-rede. Para evitar a sobreposição com outros spokes no hub, especifique quais intervalos de sub-rede exportar. Se você especificar intervalos de sub-rede, inclua os intervalos que hospedam consumidores de multicast e quaisquer outros intervalos necessários para a comunicação com os spokes no grupo central, como para tráfego unicast.
Google Cloud proíbe sobreposições de sub-redes em spokes VPC, conforme descrito em Unicidade de rotas de sub-rede. Para mais informações sobre como usar filtros de exportação para evitar sobreposição, consulte Conectividade de VPC com filtros de exportação.
Entre em contato com o administrador de multicast para informar que você propôs um spoke de VPC ao hub.
Se o hub estiver em um projeto diferente, o administrador de multicast precisará aprovar explicitamente seu spoke antes que ele fique ativo, a menos que o administrador de multicast tenha adicionado seu projeto como um projeto de aceitação automática.
Para verificar o status de um spoke depois de criá-lo, consulte Verificar o status de um spoke VPC.
Permitir que uma rede VPC consuma tráfego multicast
Esta seção descreve as etapas necessárias para ativar consumidores de multicast em uma rede VPC para receber tráfego de multicast de um determinado domínio e um ou mais intervalos de grupo.
Adicionar a rede VPC consumidora de multicast a um domínio
Nesta seção, descrevemos como adicionar uma rede VPC de consumidor multicast a um domínio criando uma associação de consumidor multicast entre a rede e o domínio.
Siga estas etapas para cada zona em que você quer hospedar consumidores de multicast.
gcloud
Para adicionar uma rede VPC de consumidor 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 multicastADMIN_PROJECT: o ID do projeto do administrador de multicastZONE: uma zona em que o administrador ativou o domínio multicast e em que você precisa hospedar consumidores multicastDOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador de multicast.MULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede de consumidor de multicast separados, dependendo da topologia de multicast do domínio.
API
Para adicionar uma rede VPC de consumidor 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 multicastADMIN_PROJECT: o ID do projeto do administrador de multicastZONE: uma zona em que o administrador ativou o domínio multicast e em que você precisa hospedar consumidores multicast.DOMAIN_ACTIVATION_NAME: o nome da ativação de domínio criada pelo administrador de multicast.MULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede de consumidor de multicast separados, dependendo da topologia de multicast do domínio.
Ativar a rede VPC do consumidor multicast para um intervalo de grupo
Esta seção descreve como ativar uma rede VPC de consumidor multicast para um intervalo de grupo.
Siga estas etapas para cada intervalo de grupo de multicast e zona em que você quer consumir tráfego de multicast.
Depois de concluir essa etapa, os consumidores de multicast na rede poderão participar dos endereços IP do grupo de multicast no intervalo especificado, desde que tenham o IGMP configurado.
gcloud
Para ativar uma rede VPC de consumidor multicast para um intervalo de grupo 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 multicastCONSUMER_PROJECT: o ID do seu projeto. Pode ser o projeto administrador de multicast ou um projeto consumidor de multicast separado, dependendo da topologia do domínio de multicast.ZONE: a zona em que a rede de consumidores multicast será ativada. Também precisa ser uma zona em que o administrador ativou o intervalo de grupos multicast.CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidor de multicast que você criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador de multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupo criada pelo administrador de multicast.--[no-]enable-logging: opcional, 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.
- Para ativar o registro, use
API
Para ativar uma rede VPC de consumidor multicast para um intervalo de grupo 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 multicastCONSUMER_PROJECT: o ID do seu projeto. Pode ser o projeto administrador de multicast ou um projeto consumidor de multicast separado, dependendo da topologia do domínio de multicast.ZONE: a zona em que a rede de consumidores multicast será ativada. Também precisa ser uma zona em que o administrador ativou o intervalo de grupos multicast.CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidor de multicast que você criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador de multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupo criada pelo administrador de multicast.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.
- Para ativar a geração de registros, defina como
Criar instâncias de consumidores multicast
Se ainda não tiver feito isso, crie uma ou mais instâncias do Compute Engine para executar o aplicativo que consome tráfego multicast. Para criar uma instância de consumidor de multicast ou configurar uma instância existente para ser um consumidor de multicast, consulte Configurar instâncias de consumidor de multicast.
A seguir
- Para conferir as configurações de consumidor de multicast que você criou, consulte Ver configurações de consumidor de multicast.
- Atualizar as configurações do consumidor de multicast
- Configurar o IGMP para instâncias consumidoras de multicast