Ative uma rede de VPC para consumir tráfego de multicast
Esta página descreve os passos necessários para configurar recursos no Google Cloud de modo que os consumidores de multicast numa rede de VPC possam receber tráfego de multicast de um determinado domínio de multicast e um ou mais intervalos de grupos.
Antes de começar
Antes de iniciar os procedimentos nesta página, tem de concluir os pré-requisitos descritos nesta secção.
Confirme se as configurações do domínio de multicast, do intervalo de grupos e do produtor estão concluídas
Confirme que as configurações do domínio multicast, do intervalo de grupos multicast e do produtor multicast para as quais quer consumir tráfego multicast estão concluídas, conforme descrito na vista geral da configuração multicast. Se necessário, contacte o administrador de multicast do domínio.
Defina o seu projeto
Defina a CLI gcloud para usar o projeto da rede VPC do consumidor de multicast. Em alternativa, pode transmitir o indicador --project=PROJECT para cada comando nos procedimentos seguintes.
gcloud config set project PROJECT
Substitua PROJECT pelo ID do seu projeto.
Ativar APIs
Se ainda não o fez, ative as seguintes APIs.
Para ativar APIs, precisa da autorização serviceusage.services.enable.
Se não tiver esta autorização, peça ao administrador da gestão de identidade e de acesso (IAM) que lhe conceda a função de administrador de utilização de serviços (roles/serviceusage.serviceUsageAdmin).
Para criar recursos de multicast, ative a API
networkservices:gcloud services enable networkservices.googleapis.comPara criar um spoke de VPC do Network Connectivity Center, ative a API
networkconnectivity:gcloud services enable networkconnectivity.googleapis.com
Funções necessárias
Para receber as autorizações de que precisa para configurar recursos de consumidor de multicast, peça ao seu administrador que lhe conceda as seguintes funções de IAM:
-
Para criar e gerir recursos de rede:
Administrador de rede de Calcular (
compute.networkAdmin) no seu projeto -
Para criar e gerir regras de firewall:
Administrador de segurança do Compute (
compute.securityAdmin) no seu projeto -
Para criar raios do Network Connectivity Center:
Administrador de raios (
networkconnectivity.spokeAdmin) no seu projeto -
Para propor raios do Centro de conectividade de rede ao hub associado a um domínio multicast:
Group User (
networkconnectivity.groupUser) no projeto do administrador multicast -
Para criar recursos de multicast:
Administrador de multicast (
networkservices.multicastAdmin) no seu projeto
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Crie uma rede de VPC e adicione-a a um hub
Se o domínio de multicast usar uma topologia em estrela do Network Connectivity Center na qual existem redes VPC de consumidor de multicast separadas, tem de concluir os passos nesta secção.
Se o domínio de multicast usar uma topologia de rede VPC única, pode ignorar esta secção e avançar diretamente para os passos para ativar a rede VPC para consumir tráfego de multicast.
Crie uma rede de VPC
Esta secção descreve como criar uma rede da nuvem privada virtual (VPC) para consumir tráfego de multicast.
Para mais informações sobre como criar redes VPC, consulte o artigo Crie e faça a gestão de redes VPC.
gcloud
Crie uma rede VPC com 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 consumo de multicast.Adicione uma ou mais sub-redes para alojar 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 consumo de multicast que criou anteriormentePRIMARY_RANGE: o intervalo IPv4 principal para a sub-rede, na notação CIDR. Para mais informações, consulte os intervalos de sub-redes IPv4.REGION: a Google Cloud região na qual a nova sub-rede é criada. Tem de ser uma região que suporte a transmissão múltipla, comous-east5.
Adicione regras de firewall
Esta secção descreve como criar regras de firewall na rede VPC do consumidor de multicast para tráfego de multicast.
Para criar regras de firewall adicionais, como para SSH, consulte o artigo Crie regras de firewall da VPC.
Os comandos são pré-preenchidos com exemplos de nomes de regras de firewall. Tenha em atenção que o nome de uma regra de firewall tem de ser exclusivo num projeto.
Permitir tráfego multicast de entrada
gcloud
Para criar uma regra de firewall que permita o tráfego de multicast de entrada para a sua rede VPC a partir da rede de produção 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 consumo de multicast que criou anteriormentePORT: uma lista de portas às quais a regra de firewall se aplica. Google Cloud usaudppara tráfego de multicast. Pode especificar uma porta ou um intervalo de portas após o protocolo ao qual a regra de firewall se aplica no tráfego através de portas específicas. Se não for especificada nenhuma porta ou intervalo de portas, são aplicadas ligações através de todos os intervalos.Por exemplo, especifique
--rules=udp:1234para permitir o tráfego de multicast através da porta 1234.MULTICAST_PRODUCER_RANGE: O intervalo CIDR da rede VPC do produtor de multicast, usado para atribuir endereços IP a produtores de multicast. Em alternativa, 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 de multicast para os quais os produtores de multicast enviam tráfego. Tem de ser um intervalo de endereços de classe D. Por exemplo, pode usar224.0.0.0/4para permitir todo o tráfego de 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 do consumidor de multicast a partir do intervalo de rede do consumidor de multicast, use o comando compute firewall-rules create.
O seguinte comando inclui:
--destination-ranges=224.0.0.1/32para especificar o endereço IP do grupo de multicast que representa todos os anfitriões nesta 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 consumo de multicast que criou anteriormenteMULTICAST_CONSUMER_RANGE: O intervalo CIDR da rede de consumo de multicast, usado para atribuir endereços IP a consumidores de multicast.
Permitir IGMP de saída
Esta secção descreve como criar uma regra de firewall que permita o tráfego IGMP de saída para poder enviar mensagens IGMP JOIN e LEAVE de consumidores de multicast.
Todas as redes VPC têm uma regra de saída de permissão IPv4 predefinida com a prioridade mais baixa (65535). Se não existir uma regra de prioridade mais elevada que bloqueie explicitamente o tráfego de saída, não tem de concluir este passo. Para mais informações, consulte as regras implícitas.
gcloud
Para criar uma regra de firewall que permita o tráfego IGMP de multicast de saída
da rede VPC do consumidor 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 consumo de multicast que criou anteriormenteRANGES_FOR_JOIN_AND_LEAVE: uma lista separada por vírgulas do seguinte:- Os intervalos CIDR dos grupos de multicast aos quais os consumidores de multicast têm de aderir. Tem de usar intervalos de endereços de classe D.
- O endereço IP de Todos os routers:
224.0.0.2/32. Este intervalo é obrigatório para enviar mensagens de saída IGMP.
Em alternativa, pode especificar
224.0.0.0/4para permitir todo o tráfego de multicast.
Adicione a rede de VPC a um hub do Network Connectivity Center
Esta secção descreve como adicionar a sua rede VPC ao hub do Network Connectivity Center que foi criado pelo administrador de multicast. Para adicionar a sua rede, tem de criar um spoke de VPC no grupo edge.
Para mais informações, consulte Topologia em estrela e Crie um raio da VPC na documentação do Network Connectivity Center.
gcloud
Para adicionar a sua rede VPC como um spoke de limite 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 raio da extremidadeMULTICAST_ADMIN_PROJECT: o ID do projeto do administrador de multicastHUB: o nome do hub do Network Connectivity Center que foi criado pelo administrador de multicast. A sua rede VPC de consumidor de multicast tem de ser anexada ao mesmo hub que as redes VPC de administrador de multicast e produtor de multicast. Se necessário, contacte o administrador de multicast para saber o nome do hub.MULTICAST_CONSUMER_NETWORK: o nome da rede de consumo de multicast que criou anteriormenteEm alternativa, pode fornecer o URI da rede de consumo de 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 exportar para o hub.Por predefinição, o spoke exporta todos os intervalos de sub-redes. Para evitar a sobreposição com outros raios no hub, pode especificar os intervalos de sub-redes a exportar. Se especificar intervalos de sub-redes, certifique-se de que inclui os intervalos que alojam consumidores de multicast e quaisquer outros intervalos necessários para a comunicação com os raios no grupo central, como para tráfego de unicast.
Google Cloud proíbe sobreposições de sub-redes em raios da VPC conforme descrito em Unicidade da rota da sub-rede. Para mais informações sobre a utilização de filtros de exportação para evitar a sobreposição, consulte o artigo Conetividade da VPC com filtros de exportação.
Contacte o administrador de multicast para o notificar de que propôs um spoke de VPC para o hub.
Se o hub estiver num projeto diferente, o administrador de multicast tem de aprovar explicitamente o seu spoke antes de este ficar ativo, a menos que o administrador de multicast tenha adicionado o seu projeto como um projeto de aceitação automática.
Para verificar o estado de um spoke depois de o criar, consulte o artigo Verifique o estado de um spoke da VPC.
Ative uma rede de VPC para consumir tráfego de multicast
Esta secção descreve os passos necessários para ativar os consumidores de multicast numa rede VPC para receber tráfego de multicast de um determinado domínio e de um ou mais intervalos de grupos.
Adicione a rede VPC do consumidor de multicast a um domínio
Esta secção descreve como adicionar uma rede VPC de consumidor de multicast a um domínio criando uma associação de consumidor de multicast entre a rede e o domínio.
Conclua os passos seguintes para cada zona na qual quer alojar consumidores de multicast.
gcloud
Para adicionar uma rede VPC de consumidor de 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 na qual o administrador ativou o domínio de multicast e na qual tem de alojar consumidores de multicastDOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicastMULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego de multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede do consumidor de multicast separados, consoante a topologia de multicast do domínio.
API
Para adicionar uma rede VPC de consumidor de 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 na qual o administrador ativou o domínio de multicast e na qual tem de alojar consumidores de multicast.DOMAIN_ACTIVATION_NAME: o nome da ativação do domínio que foi criada pelo administrador de multicastMULTICAST_CONSUMER_PROJECTeMULTICAST_CONSUMER_NETWORK: o projeto e a rede que consomem tráfego de multicast. O projeto e a rede do administrador de multicast ou um projeto e uma rede do consumidor de multicast separados, consoante a topologia de multicast do domínio.
Ative a rede VPC do consumidor de multicast para um intervalo de grupos
Esta secção descreve como ativar uma rede VPC de consumidor de multicast para um intervalo de grupos.
Conclua os passos seguintes para cada intervalo de grupos de multicast e zona para os quais quer consumir tráfego de multicast.
Depois de concluir este passo, os consumidores de multicast na rede podem juntar-se aos endereços IP do grupo de multicast no intervalo de grupos especificado, desde que tenham o IGMP configurado.
gcloud
Para ativar uma rede VPC de consumidor de multicast para um intervalo de grupos de 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 de multicastCONSUMER_PROJECT: o ID do seu projeto. Este pode ser o projeto de administrador de multicast ou um projeto de consumidor de multicast separado, consoante a topologia do domínio de multicast.ZONE: a zona na qual ativar a rede de consumidor de multicast. Também tem de ser uma zona na qual o administrador ativou o intervalo de grupos de multicast.CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidores de multicast que criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador de multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo do grupo que foi criado pelo administrador de multicast.--[no-]enable-logging: opcional, determina se o registo de eventos de associação a grupos está ativado.- Para ativar o registo, use
--enable-logging. - (Predefinição) Para desativar o registo, use
--no-enable-logging.
- Para ativar o registo, use
API
Para ativar uma rede VPC de consumidor de multicast para um intervalo de grupos de 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 de multicastCONSUMER_PROJECT: o ID do seu projeto. Este pode ser o projeto de administrador de multicast ou um projeto de consumidor de multicast separado, consoante a topologia do domínio de multicast.ZONE: a zona na qual ativar a rede de consumidor de multicast. Também tem de ser uma zona na qual o administrador ativou o intervalo de grupos de multicast.CONSUMER_ASSOCIATION_NAME: o nome da associação de consumidores de multicast que criou anteriormenteADMIN_PROJECT: o ID do projeto do administrador de multicastGROUP_RANGE_ACTIVATION_NAME: o nome da ativação do intervalo que foi criado pelo administrador de multicastLOGGING_ENABLED: determina se o registo de eventos de associação a grupos está ativado.- Para ativar o registo, defina como
true. - (Predefinição) Para desativar o registo, defina como
false.
- Para ativar o registo, defina como
Crie instâncias de consumidor de multicast
Se ainda não o fez, crie uma ou mais instâncias do Compute Engine para executar a sua aplicação que consome tráfego de multicast. Para criar uma instância de consumidor de multicast ou configurar uma instância existente para ser um consumidor de multicast, consulte o artigo Configure instâncias de consumidor de multicast.
O que se segue?
- Para ver as configurações de consumidor de multicast que criou, consulte o artigo Ver configurações de consumidor de multicast.
- Atualize as configurações do consumidor de multicast
- Configure o IGMP para instâncias de consumidor de multicast