Ativar uma rede VPC para consumir tráfego multicast
Esta página descreve as etapas necessárias para configurar recursos em Google Cloud para que os consumidores multicast em uma rede VPC possam receber tráfego multicast de um determinado domínio multicast e um ou mais intervalos de grupos.
Antes de começar
Antes de iniciar os procedimentos nesta página, conclua os pré-requisitos descritos nesta seção.
Confirme se o domínio multicast, o intervalo de grupos e as configurações do produtor estão concluídos
Confirme se o domínio multicast, o intervalo de grupos multicast e as configurações do produtor multicast para os quais você quer consumir tráfego multicast estão concluídos, conforme descrito em Visão geral da configuração multicast. Se necessário, entre em contato com o administrador multicast do domínio.
Definir seu projeto
Defina a CLI gcloud para usar o projeto da rede VPC do consumidor multicast. Como alternativa, você pode transmitir
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 APIs a seguir.
Para ativar as 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 do serviço (roles/serviceusage.serviceUsageAdmin).
Para criar recursos multicast, ative a API
networkservices:gcloud services enable networkservices.googleapis.comPara 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 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 NCC:
administrador de spoke (
networkconnectivity.spokeAdmin) no seu projeto -
Para propor spokes do NCC ao hub associado a um domínio multicast:
usuário do grupo (
networkconnectivity.groupUser) no projeto do administrador multicast -
Para criar recursos multicast:
administrador multicast (
networkservices.multicastAdmin) no seu 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 com papéis personalizados ou outros papéis predefinidos.
Criar uma rede VPC e adicioná-la a um hub
Se o domínio multicast usar uma topologia em estrela do NCC em que há redes VPC de consumidores multicast separadas, conclua as etapas nesta seção.
Se o domínio multicast usar uma topologia de rede VPC única, então pule esta seção e siga diretamente para as etapas para ativar a rede VPC para consumir tráfego multicast.
Criar 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
compute networks createcomando.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 multicast usando o
compute networks subnets createcomando.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 consumidores multicast que você criou anteriormentePRIMARY_RANGE: o intervalo IPv4 principal da sub-rede, em notação CIDR. Saiba mais em Intervalos de sub-rede IPv4.REGION: a Google Cloud região do em que a nova sub-rede é criada. Precisa ser uma região que ofereça suporte a multicast, comous-east5.
Adicionar regras de firewall
Esta seção descreve como criar regras de firewall na rede VPC do consumidor multicast para tráfego multicast.
Para criar outras regras de firewall, como para SSH, consulte Criar regras de firewall da VPC.
Os comandos são pré-preenchidos com nomes de regras de firewall de exemplo. 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 multicast de entrada para sua
rede VPC da rede do produtor multicast, use o
compute firewall-rules create comando.
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 consumidores multicast que você criou anteriormentePORT: uma lista de portas a que a regra de firewall se aplica. Google Cloud usaudppara tráfego multicast. Uma porta ou intervalo de portas pode ser especificado após o protocolo a que a regra de firewall se aplica ao tráfego por portas específicas. Se nenhuma porta ou intervalo de portas for especificado, as conexões em 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 multicast, usado para alocar endereços IP para produtores multicast. Como alternativa, você pode omitir a flag--source-ranges, que define a origem de entrada para qualquer endereço IPv4 (0.0.0.0/0).MULTICAST_GROUP_IP_RANGES: os intervalos CIDR dos grupos multicast para os quais os produtores multicast enviam tráfego. Esse precisa ser um intervalo de endereços de classe D. Por exemplo, você pode usar224.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 consulta IGMP de entrada para a
rede VPC do consumidor multicast do consumidor multicast
intervalo de rede, use o
compute firewall-rules create comando.
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 consumidores multicast que você criou anteriormenteMULTICAST_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 permita o tráfego IGMP de saída para que você possa enviar mensagens JOIN e LEAVE do IGMP de consumidores multicast.
Todas as redes VPC têm uma regra de saída de permissão IPv4 padrão com a menor prioridade (65535). Se não houver uma regra de maior prioridade 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 IGMP multicast de saída
da rede VPC do consumidor multicast, use o
compute firewall-rules create comando.
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 consumidores multicast que você criou anteriormenteRANGES_FOR_JOIN_AND_LEAVE: uma lista separada por vírgulas do seguinte:- Os intervalos CIDR dos grupos multicast que os consumidores multicast precisam participar. É necessário usar intervalos de endereços de classe D.
- O endereço IP Todos os roteadores:
224.0.0.2/32. Esse intervalo é necessário para enviar mensagens de saída do IGMP.
Como alternativa, você pode especificar
224.0.0.0/4para permitir todo o tráfego multicast.
Adicionar a rede VPC a um hub do NCC
Esta seção descreve como adicionar sua rede VPC ao hub do NCC criado pelo administrador multicast. Para adicionar sua rede, crie um spoke VPC no grupo de borda.
Para mais informações, consulte Topologia em estrela e Criar um spoke VPC na documentação do NCC.
gcloud
Para adicionar sua rede VPC como um spoke de borda a um hub, use o
network-connectivity spokes linked-vpc-network createcomando.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 multicastHUB: o nome do hub do NCC criado pelo administrador multicast. Sua rede VPC do consumidor multicast precisa ser anexada ao mesmo hub que as redes VPC do administrador multicast e do produtor multicast. Se necessário, entre em contato com o administrador multicast para o nome do hub.MULTICAST_CONSUMER_NETWORK: o nome da rede de consumidores multicast que você criou anteriormenteComo alternativa, você pode 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 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 multicast e outros intervalos necessários para comunicação com os spokes no grupo central, como para tráfego unicast.
Google Cloud proíbe sobreposições de sub-rede em spokes VPC conforme descrito em Exclusividade de rota de sub-rede. Para mais informações sobre como usar filtros de exportação para evitar sobreposição, consulte Conectividade VPC com filtros de exportação.
Entre em contato com o administrador multicast para notificá-lo de que você propôs um spoke VPC ao hub.
Se o hub estiver em um projeto diferente, o administrador multicast precisará aprovar explicitamente seu spoke antes que ele seja ativado, a menos que o administrador 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.
Ativar uma rede VPC para consumir tráfego multicast
Esta seção descreve as etapas necessárias para ativar os consumidores multicast em uma rede VPC para receber tráfego multicast de um determinado domínio e um ou mais intervalos de grupos.
Adicionar a rede VPC do consumidor multicast a um domínio
Esta seção descreve como adicionar uma rede VPC do consumidor multicast a um domínio criando uma associação de consumidor multicast entre a rede e o domínio.
Conclua as etapas a seguir para cada zona em que você quer hospedar consumidores multicast.
gcloud
Para adicionar uma rede VPC do consumidor multicast a um domínio, use o
network-services multicast-consumer-associations create comando.
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 de consumidores multicastADMIN_PROJECT: o ID do projeto do administrador 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 multicastMULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador multicast ou um projeto e uma rede de consumidores multicast separados, dependendo da topologia multicast do domínio.
API
Para adicionar uma rede VPC do consumidor multicast a um domínio, use o
multicastConsumerAssociations.create método.
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 de consumidores multicastADMIN_PROJECT: o ID do projeto do administrador 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 multicastMULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego multicast. O projeto e a rede do administrador multicast ou um projeto e uma rede de consumidores multicast separados, dependendo da topologia multicast do domínio.
Ativar a rede VPC do consumidor multicast para um intervalo de grupos
Esta seção descreve como ativar uma rede VPC do consumidor multicast para um intervalo de grupos.
Conclua as etapas a seguir para cada intervalo de grupos multicast e zona para os quais você quer consumir tráfego multicast.
Depois de concluir esta etapa, os consumidores multicast na rede poderão participar dos endereços IP do grupo multicast no intervalo de grupos especificado, desde que eles tenham o IGMP configurado.
gcloud
Para ativar uma rede VPC do consumidor multicast para um intervalo de grupos multicast, use o
network-services multicast-group-consumer-activations create comando.
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. Esse pode ser o projeto do administrador multicast ou um projeto de consumidor multicast separado, dependendo da topologia do domínio multicast.ZONE: a zona em que a rede do consumidor 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 consumidores multicast que você criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupos criada pelo administrador multicast.--[no-]enable-logging: opcional, determina se o registro de eventos de associação ao grupo está ativado.- Para ativar a geração de registros, use
--enable-logging. - (Padrão) Para desativar a geração de registros, use
--no-enable-logging.
- Para ativar a geração de registros, use
API
Para ativar uma rede VPC do consumidor multicast para um intervalo de grupos multicast, use o
multicastGroupConsumerActivations.create método.
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. Esse pode ser o projeto do administrador multicast ou um projeto de consumidor multicast separado, dependendo da topologia do domínio multicast.ZONE: a zona em que a rede do consumidor 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 consumidores multicast que você criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo de grupos criada pelo administrador multicastLOGGING_ENABLED: determina se o registro de eventos de associação ao grupo 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 você ainda não fez 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 multicast ou configurar uma instância atual para ser um consumidor multicast, consulte Configurar instâncias de consumidores multicast.
A seguir
- Para conferir as configurações de consumidores multicast que você criou, consulte Conferir configurações de consumidores multicast.
- Atualizar configurações de consumidores multicast
- Configurar o IGMP para instâncias de consumidores multicast