Configurar a integração fora da banda para um modelo produtor-consumidor

A integração da segurança de rede usa o modelo produtor-consumidor para inspecionar e monitorar dados. Ele usa a integração fora da banda com a tecnologia de espelhamento de pacotes para espelhar o tráfego de rede usando dispositivos virtuais gerenciados pelo usuário.

Neste tutorial, descrevemos como criar e configurar recursos de produtor e consumidor para configurar a integração fora da banda.

Objetivos

Neste tutorial, mostramos como concluir as seguintes tarefas em um projeto:

  1. Crie redes de nuvem privada virtual (VPC) personalizadas com sub-redes para o produtor e o consumidor no mesmo projeto.
  2. Para o produtor, crie e configure recursos de produtor e de implantação de espelhamento. Um exemplo de recurso do produtor é um balanceador de carga de rede de passagem interna.
  3. Para o consumidor, crie e configure instâncias de máquina virtual (VM) de cliente e servidor, espelhando recursos de endpoint e políticas de firewall para espelhar o tráfego cliente-servidor.
  4. Teste a conexão e verifique se os pacotes de tráfego de rede das VMs consumidoras estão sendo espelhados nos recursos de espelhamento do produtor.

O diagrama a seguir mostra o fluxo de tráfego entre as redes VPC do produtor e do consumidor.

Arquitetura de implantação de alto nível dos componentes de produtor e consumidor em um único projeto.
Figura 1. Arquitetura de implantação de alto nível dos componentes de produtor e consumidor em um único projeto (clique para ampliar).

O diagrama anterior mostra o seguinte:

  • Tráfego de rede que flui da rede do consumidor para a rede do produtor por um grupo de endpoints de espelhamento.
  • A rede do produtor inclui uma instância de VM, um balanceador de carga de rede de passagem interna e uma implantação de espelhamento.
  • O grupo de implantação de espelhamento da rede do produtor inclui a implantação de espelhamento zonal.
  • A rede do consumidor inclui instâncias de VM do cliente e do servidor. As regras e políticas de firewall na rede do consumidor gerenciam o fluxo de tráfego, e um grupo de perfis de segurança está associado à política de firewall.
  • A rede do consumidor está vinculada a uma associação de grupo de endpoints de espelhamento, que conecta a rede do consumidor ao grupo de endpoints de espelhamento.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Ative a API Compute Engine no projeto.
  7. Ative a API Network Security no projeto Google Cloud que você quer usar para faturamento.
  8. Verifique se você tem o papel de Administrador de rede do Compute (roles/compute.networkAdmin) concedido no nível do projeto e o papel de Administrador de perfil de segurança (roles/networksecurity.securityProfileAdmin) concedido no nível da organização.
  9. Se você preferir trabalhar na linha de comando, instale a Google Cloud CLI. Para informações conceituais e de instalação sobre a ferramenta, consulte visão geral da CLI gcloud.

    Observação:se você ainda não executou a Google Cloud CLI, primeiro execute gcloud init para inicializar o diretório CLI gcloud.

  10. Consiga o ID do projeto. Ele é necessário para criar recursos de espelhamento e de endpoint. Se você estiver usando a CLI gcloud, poderá substituir o PROJECT_ID aqui ou mais tarde nos respectivos comandos.
  11. Consiga o ID da sua organização. Você precisa dele para criar recursos no nível da organização, como perfis e grupos de perfis de segurança. Se você estiver usando a CLI gcloud, substitua o ORG_ID aqui ou mais tarde nos respectivos comandos.

Criar recursos do produtor

Nesta seção, você vai criar os seguintes recursos para o produtor:

  • Uma rede VPC personalizada com uma sub-rede.
  • Um grupo de instâncias não gerenciadas com uma instância de VM registrando pacotes de encapsulamento de virtualização de rede genérica (GENEVE) recebidos.
  • Um balanceador de carga de rede de passagem interna com um serviço de back-end e uma regra de encaminhamento.
  • Uma regra de firewall para permitir verificações de integridade Google Cloud .
  • Um grupo e uma implantação de espelhamento.

Criar uma rede VPC personalizada

Nesta seção, você cria uma rede VPC com uma sub-rede.

Console

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.

  3. Em Nome, insira producer-network.

  4. Em Descrição, insira Producer VPC network.

  5. Na seção Sub-rede, faça o seguinte:

    1. Em Modo de criação da sub-rede, selecione Personalizado.
    2. Na seção Nova sub-rede, insira as informações a seguir:
      • Name: producer-subnet
      • Região: us-west1
      • Tipo de pilha de IP: IPv4 (pilha única)
      • Intervalo IPv4: 10.10.0.0/16
    3. Clique em Concluído.
  6. Clique em Criar.

  7. Abra a CLI gcloud e execute o comando a seguir para aumentar a unidade máxima de transmissão (MTU) da rede do console Google Cloud .

    gcloud compute networks update producer-network \
        --mtu=1856
    

    No comando, especifique uma MTU de 1.856 bytes, que é a soma da MTU padrão de uma rede do console Google Cloud (1.460 bytes) e do overhead de encapsulamento GENEVE da Integração de Segurança de Rede (396 bytes).

gcloud

  1. Criar uma rede VPC.

    gcloud compute networks create producer-network \
        --subnet-mode=custom \
        --mtu=1856 \
        --description="Producer VPC network"
    

    No comando, especifique uma MTU de 1.856 bytes, que é a soma da MTU padrão de uma rede do console Google Cloud (1.460 bytes) e o overhead de encapsulamento GENEVE da Integração de Segurança de Rede (396 bytes).

  2. Na rede VPC, crie uma sub-rede.

    gcloud compute networks subnets create producer-subnet \
        --network=producer-network \
        --region=us-west1 \
        --range=10.10.0.0/16
    

Criar um grupo de instâncias não gerenciadas

Nesta seção, você vai criar um grupo de instâncias não gerenciadas.

Console

  1. No console, do Google Cloud , acesse a página Grupos de instâncias.

    Acesse grupo de instâncias

  2. Clique em Criar grupo de instâncias.

  3. Clique em Novo grupo de instâncias não gerenciadas.

  4. Em Nome, insira producer-instance-group.

  5. Na seção Local, selecione us-west1 para Região e us-west1-b para Zona.

  6. Na seção Rede e instâncias, faça o seguinte:

    1. Em Rede, selecione producer-network.
    2. Em Sub-rede, selecione producer-subnet.
  7. Clique em Criar.

gcloud

gcloud compute instance-groups unmanaged create producer-instance-group \
    --zone=us-west1-b

Configurar componentes do balanceador de carga

Nesta seção, você cria os componentes de um balanceador de carga de rede de passagem interno, incluindo um serviço de back-end e uma regra de encaminhamento.

Console

Iniciar a configuração

  1. No console do Google Cloud , acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Clique em Criar balanceador de carga.
  3. Em Tipo de balanceador de carga, selecione Balanceador de carga de rede (TCP/UDP/SSL) e clique em Próxima.
  4. Em Proxy ou passagem, selecione Balanceador de carga de passagem e clique em Próxima.
  5. Em Voltado ao público ou interno, selecione Interno e clique em Próxima.
  6. Clique em Configurar.

Configuração básica

Na página Criar balanceador de carga de rede de passagem interna, digite as seguintes informações:

  • Nome do balanceador de carga: producer-ilb
  • Região: us-west1
  • Rede: producer-network

Configurar os back-ends

  1. Clique em Configuração de back-end.
  2. Em Protocolo, selecione UDP.
  3. Na lista Verificação de integridade, selecione Criar verificação de integridade, insira as informações a seguir e clique em Criar.
    • Nome: producer-health-check
    • Escopo: regional
    • Porta: 80
    • Protocolo de proxy:NONE
  4. Na seção Novo back-end de Back-ends, em Tipo de pilha de IP, escolha IPv4 (pilha única).
  5. Em Grupo de instâncias, selecione o grupo de instâncias producer-instance-group e clique em Concluído.

  6. Verifique se há uma marca de seleção azul ao lado de Configuração do back-end antes de continuar.

Configurar o front-end

  1. Na seção Novo IP e porta de front-end, insira as seguintes informações e clique em Concluído:
    1. Em Nome, insira producer-ilb-fr.
    2. Em Sub-rede, selecione producer-subnet.
    3. Em Portas, selecione Única e, em Número da porta, insira 6081.
    4. Na seção Configuração avançada, em Espelhamento de pacotes, selecione Ativar este balanceador de carga para espelhamento de pacotes.
    5. Verifique se há uma marca de seleção azul ao lado de Configuração do front-end antes de continuar.

Analise a configuração

  1. Clique em Analisar e finalizar.
  2. Revise suas configurações do balanceador de carga.
  3. Clique em Criar.

gcloud

  1. Criar uma verificação de integridade regional

    gcloud compute health-checks create tcp producer-health-check \
        --region=us-west1 \
        --port=80
    
  2. Crie o serviço de back-end:

    gcloud compute backend-services create producer-backend-service \
        --protocol=UDP \
        --region=us-west1 \
        --health-checks=producer-health-check \
        --health-checks-region=us-west1 \
        --load-balancing-scheme=INTERNAL
    
  3. Crie uma regra de encaminhamento do serviço de back-end.

    gcloud compute forwarding-rules create producer-ilb-fr \
        --backend-service=producer-backend-service \
        --region=us-west1 \
        --network=producer-network \
        --subnet=producer-subnet \
        --ip-protocol=UDP \
        --load-balancing-scheme=INTERNAL \
        --is-mirroring-collector \
        --ports=6081
    

Criar uma instância de VM e adicioná-la ao grupo de instâncias

Nesta seção, você vai criar uma instância de VM com um script de inicialização que configura um servidor de geração de registros para pacotes encapsulados do GENEVE. Antes de criar a instância de VM, extraia o endereço IP do gateway da sub-rede. Você precisa do endereço IP do script de inicialização.

Console

Receber o endereço IP do gateway da sub-rede

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique na rede VPC producer-network.

  3. Clique na guia Sub-redes.

  4. Na seção Sub-redes, anote o endereço IP do gateway na coluna Gateway.

Criar a instância de VM

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar a instância de VM

    1. Clique em Criar instância.
    2. Em Nome, insira producer-instance.
    3. Em Região, selecione us-west1.
    4. Em Zona, selecione us-west1-b.
    5. Defina o Tipo de máquina como e2-micro.
    6. Clique em Rede e, na seção Interfaces de rede, clique em Adicionar uma interface de rede e defina o seguinte:
      • Rede: producer-network
      • Sub-rede: producer-subnet
      • Endereço IPv4 externo: nenhum
    7. Clique em Avançado e insira o script a seguir em Script de inicialização:

      #!/bin/bash
      # Log incoming packets from the gateway IP and the GENEVE 6081 port.
      iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
      
      # Spin up a simple server for health checks on port 80.
      nohup python3 -u -m http.server 80 &
      

      Substitua:

      • GW_IP: o endereço IP do gateway da sub-rede.
    8. Clique em Criar.

Adicionar a instância de VM ao grupo de instâncias

  1. No console, do Google Cloud , acesse a página Grupos de instâncias.

    Acesse grupo de instâncias

  2. Clique em producer-instance-group.

  3. Clique em Editar.

  4. Na seção Instâncias de VM, na lista Selecionar VMs, escolha a VM producer-instance.

  5. Clique em Salvar.

gcloud

  1. Consiga o endereço IP do gateway da sub-rede.

    GW_IP=$(gcloud compute networks subnets describe producer-subnet \
        --region=us-west1 \
        --format="get(gatewayAddress)")
    
  2. Crie uma instância de VM.

    gcloud compute instances create producer-instance \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=producer-subnet,no-address" \
        --metadata=startup-script='#!/bin/bash
         # Log incoming packets from the gateway IP and the GENEVE 6081 port.
         iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
    
         # Spin up a simple server for health checks on port 80.
         nohup python3 -u -m http.server 80 &'
    
    
  3. Adicione a instância de VM ao grupo de instâncias.

    gcloud compute instance-groups unmanaged add-instances producer-instance-group \
        --instances=producer-instance \
        --zone=us-west1-b
    
  4. Adicione o grupo de instâncias principal ao serviço de back-end.

    gcloud compute backend-services add-backend producer-backend-service \
        --region=us-west1 \
        --instance-group=producer-instance-group \
        --instance-group-zone=us-west1-b
    

Criar uma política de firewall e adicionar regras de firewall

Nesta seção, você vai criar uma política de firewall e adicionar regras para permitir o tráfego UDP, as verificações de integridade do Google Cloud e as conexões SSH à instância de VM do produtor pelo Identity-Aware Proxy (IAP).

Console

  1. No console do Google Cloud , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Clique em Criar política de firewall.

  3. No campo Nome, use producer-firewall-policy.

  4. Em Escopo da implantação, selecione Global e clique em Continuar.

  5. Crie as seguintes regras para sua política.

    Permitir o tráfego UDP com a porta GENEVE do endereço IP do gateway da VPC

    1. Clique em Criar regra de firewall e configure os seguintes campos:
      • Prioridade: 100
      • Direção do tráfego: entrada
      • Ação na correspondência: permitir
      • Filtros de origem > Intervalos de IP: GATEWAY_IP
      • Protocolo e portas: selecione Protocolo e portas especificados, marque a caixa de seleção UDP e, em Portas, especifique 6081.
    2. Clique em Criar.

    Substitua GATEWAY_IP pelo endereço IP do gateway da sub-rede.

    Permitir verificações de integridade do Google Cloud

    1. Clique em Criar regra de firewall e configure os seguintes campos:

      • Prioridade: 101
      • Direção do tráfego: entrada
      • Ação na correspondência: permitir
      • Intervalos de IP: 35.191.0.0/16 e 130.211.0.0/22
      • Protocolos e portas: selecione Protocolos e portas especificados, marque a caixa de seleção TCP e, em Portas, especifique 80.
    2. Clique em Criar.

    Permitir a conexão SSH com a instância de VM do produtor pelo Identity-Aware Proxy

    1. Clique em Criar regra de firewall e configure os seguintes campos:
      • Prioridade: 102
      • Direção do tráfego: entrada
      • Ação na correspondência: permitir
      • Intervalos de IP: 35.235.240.0/20
      • Protocolos e portas: selecione Protocolos e portas especificados, marque a caixa de seleção TCP e, em Portas, especifique 22.
    2. Clique em Criar.
  6. Para associar a política a uma rede, clique em Continuar e em Associar.

  7. Marque a caixa de seleção producer-network.

  8. Clique em Continuar.

  9. Clique em Criar.

gcloud

  1. Crie uma política de firewall de rede global.

    gcloud compute network-firewall-policies create producer-firewall-policy \
        --global
    
  2. Associe a política de firewall à rede do produtor.

    gcloud compute network-firewall-policies associations create \
        --name=producer-firewall-policy-assoc \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --network=producer-network
    
  3. Crie uma regra de firewall para permitir a conexão UDP com a porta GENEVE do endereço IP do gateway da VPC.

    gcloud compute network-firewall-policies rules create 100 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=udp:6081 \
        --src-ip-ranges=$GW_IP/32
    
  4. Crie uma regra de firewall para permitir verificações de integridade Google Cloud .

    gcloud compute network-firewall-policies rules create 101 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:80 \
        --src-ip-ranges=35.191.0.0/16,130.211.0.0/22 # Google Cloud health check ranges
    
  5. Crie uma regra de firewall para permitir a conexão SSH com a instância de VM do produtor pelo Identity-Aware Proxy.

    gcloud compute network-firewall-policies rules create 102 \
        --firewall-policy=producer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP range
    

Criar recursos de espelhamento de produtores

Nesta seção, você vai criar um grupo e uma implantação de espelhamento.

Console

  1. No console do Google Cloud , acesse a página Grupos de implantação.

    Acessar grupos de implantação

  2. Clique em Criar grupo de implantação.

  3. Em Nome, insira producer-deployment-group.

  4. Em Rede, selecione producer-network.

  5. Em Finalidade, selecione NSI fora de banda.

  6. Na seção Implantações de espelhamento, clique em Criar implantação de espelhamento, especifique os seguintes campos e clique em Criar:

    • Nome: producer-deployment.
    • Região: us-west1.
    • Zona: us-west1-b.
    • Balanceador de carga interno: producer-ilb.
  7. Clique em Criar.

gcloud

  1. Crie um grupo de implantação de espelhamento.

    gcloud network-security mirroring-deployment-groups create producer-deployment-group \
        --location=global \
        --network=projects/PROJECT_ID/global/networks/producer-network \
        --no-async
    

    Substitua PROJECT_ID pelo ID do seu projeto.

  2. Crie uma implantação de espelhamento.

    gcloud network-security mirroring-deployments create producer-deployment \
        --location=us-west1-b \
        --forwarding-rule=producer-ilb-fr \
        --forwarding-rule-location=us-west1 \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

Criar recursos do consumidor

Nesta seção, você vai criar os seguintes recursos para o consumidor:

  • Uma rede VPC personalizada com uma sub-rede
  • Um servidor e uma VM cliente
  • Uma política de firewall e uma regra para espelhar o tráfego
  • Um grupo de endpoints de espelhamento e uma associação de grupo de endpoints de espelhamento
  • Um perfil de segurança e um grupo de perfis de segurança

Criar uma rede VPC personalizada

Nesta seção, você cria uma rede VPC com uma sub-rede.

Console

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique em Criar rede VPC.

  3. Em Nome, insira consumer-network.

  4. Em Descrição, insira Consumer VPC network.

  5. Na seção Sub-rede, faça o seguinte:

    1. Em Modo de criação da sub-rede, selecione Personalizado.
    2. Na seção Nova sub-rede, insira as informações a seguir:
      • Name: consumer-subnet
      • Região: us-west1
      • Tipo de pilha de IP: IPv4 (pilha única)
      • Intervalo IPv4: 10.11.0.0/16
    3. Clique em Concluído.
  6. Clique em Criar.

gcloud

  1. Crie uma rede VPC do consumidor.

    gcloud compute networks create consumer-network \
        --subnet-mode=custom \
        --description="Consumer VPC network"
    
  2. Na rede VPC, crie uma sub-rede.

    gcloud compute networks subnets create consumer-subnet \
        --network=consumer-network \
        --region=us-west1 \
        --range=10.11.0.0/16
    

Criar VMs de servidor e cliente

Nesta seção, você vai criar uma VM de servidor e uma de cliente.

Console

Criar uma VM do servidor

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar a instância de VM

  2. Clique em Criar instância.

  3. Defina o Nome como consumer-server-vm.

  4. Defina a região como us-west1.

  5. Defina Zona como us-west1-b.

  6. Defina o Tipo de máquina como e2-micro.

  7. Clique em Rede e, na seção Interfaces de rede, clique em Adicionar uma interface de rede e defina o seguinte:

    • Rede: consumer-network
    • Sub-rede: consumer-subnet
    • Endereço IPv4 externo: nenhum
  8. Clique em Avançado e insira o script a seguir em Script de inicialização:

    echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &
    

  9. Clique em Criar.

Criar uma VM cliente

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar a instância de VM

  2. Clique em Criar instância.

  3. Defina o Nome como consumer-client-vm.

  4. Defina a região como us-west1.

  5. Defina Zona como us-west1-b.

  6. Defina o Tipo de máquina como e2-micro.

  7. Clique em Rede e, na seção Interfaces de rede, clique em Adicionar uma interface de rede e defina o seguinte:

    • Rede: consumer-network
    • Sub-rede: consumer-subnet
    • Endereço IPv4 externo: nenhum
  8. Clique em Criar.

gcloud

  1. Criar a VM do servidor.

    gcloud compute instances create consumer-server-vm \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=consumer-subnet,no-address" \
        --metadata=startup-script="echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000 &"
    
  2. Criar a VM do cliente.

    gcloud compute instances create consumer-client-vm \
        --image-project=debian-cloud \
        --image-family=debian-11 \
        --machine-type=e2-micro \
        --zone=us-west1-b \
        --network-interface="subnet=consumer-subnet,no-address"
    

Criar uma política de firewall para permitir o tráfego de entrada

Nesta seção, você cria uma política de firewall e adiciona uma regra para permitir o tráfego de entrada para as VMs de consumidor.

Console

  1. No console do Google Cloud , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Clique em Criar política de firewall.

  3. No campo Nome, use consumer-firewall-policy.

  4. Em Escopo da implantação, selecione Global e clique em Continuar.

  5. Clique em Criar regra de firewall, configure os seguintes campos e clique em Criar:

    • Prioridade: 101
    • Direção do tráfego: entrada
    • Ação na correspondência: permitir
    • Filtros de origem > Intervalos de IP: 35.235.240.0/20
    • Protocolos e portas: selecione Protocolos e portas especificados, marque a caixa de seleção TCP e, em Portas, especifique 22.

    O intervalo IPv4 35.235.240.0/20 contém todos os endereços IP que o Identity-Aware Proxy usa para encaminhamento de TCP. Para mais informações, consulte Como preparar seu projeto para encaminhamento TCP com IAP.

  6. Para permitir o tráfego na porta TCP 8000 na VM do servidor, clique em Criar regra de firewall e configure os seguintes campos:

    • Prioridade: 102
    • Direção do tráfego: entrada
    • Ação na correspondência: permitir
    • Filtros de origem > Intervalos de IP: 10.11.0.0/16
    • Protocolos e portas: selecione Protocolos e portas especificados, marque a caixa de seleção TCP e, em Portas, especifique 8000.
    • Clique em Criar.
  7. Para associar a política a uma rede, clique em Continuar e em Associar.

  8. Marque a caixa de seleção consumer-network.

  9. Clique em Continuar.

  10. Clique em Criar.

gcloud

  1. Crie uma política de firewall de rede global.

    gcloud compute network-firewall-policies create consumer-firewall-policy \
        --global
    
  2. Associe a política de firewall à rede do consumidor.

    gcloud compute network-firewall-policies associations create \
        --name=consumer-firewall-policy-assoc \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --network=consumer-network
    
  3. Crie uma regra de permissão de SSH para permitir a conexão SSH com a instância de VM do cliente pelo Identity-Aware Proxy.

    gcloud compute network-firewall-policies rules create 101 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 # Google Cloud IAP range
    

    O intervalo IPv4 35.235.240.0/20 contém todos os endereços IP que o IAP usa para o encaminhamento de TCP. Para mais informações, consulte Como preparar seu projeto para encaminhamento TCP com IAP.

  4. Crie uma regra de firewall para permitir o tráfego na porta TCP 8000 na VM do servidor.

    gcloud compute network-firewall-policies rules create 102 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

Criar grupo de endpoints do consumidor

Nesta seção, você vai criar um grupo de endpoints de espelhamento e uma associação de grupo de endpoints de espelhamento.

Console

  1. No console do Google Cloud , acesse a página Grupos de endpoints.

    Acessar "Grupos de endpoints"

  2. Clique em Criar grupo de endpoints.

  3. Em Nome, insira consumer-endpoint-group.

  4. Em Finalidade, selecione NSI fora de banda.

  5. Em Grupo de implantação, selecione No projeto.

  6. Em Nome do grupo de implantação, insira producer-deployment-group.

  7. Clique em Continuar.

  8. Clique em Adicionar associação de grupo de endpoints.

  9. Em Projeto, selecione o projeto atual.

  10. Em Rede, selecione consumer-network.

  11. Clique em Criar.

gcloud

  1. Crie o grupo de endpoints de espelhamento.

    gcloud network-security mirroring-endpoint-groups create consumer-endpoint-group \
        --location=global \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

    Substitua PROJECT_ID pelo ID do seu projeto.

  2. Crie a associação do grupo de endpoints de espelhamento.

    gcloud network-security mirroring-endpoint-group-associations create consumer-endpoint-group-association \
        --location=global \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --network=consumer-network \
        --no-async
    

Criar um perfil de segurança e um grupo de perfis de segurança

Crie um grupo de perfis de segurança e um perfil de segurança personalizado para espelhar o tráfego.

Console

Criar um perfil de segurança personalizado

  1. No console do Google Cloud , acesse a página Perfis de segurança.

    Acessar Perfis de segurança

  2. No seletor de organização, selecione sua organização.

  3. Na guia Perfis de segurança, clique em Criar perfil.

  4. Em Nome, insira consumer-security-profile.

  5. Em Finalidade, selecione NSI fora de banda.

  6. Em Projeto, selecione o projeto atual.

  7. Em Grupo de endpoints, selecione consumer-endpoint-group.

  8. Clique em Criar.

Criar um grupo de perfis de segurança

  1. No console do Google Cloud , acesse a página Grupos de perfis de segurança.

    Acessar Grupos de perfis de segurança

  2. No seletor de organização, selecione sua organização.

  3. Na guia Grupos de perfis de segurança, clique em Criar grupo de perfis.

  4. Em Nome, insira consumer-security-profile-group.

  5. Em Finalidade, selecione NSI fora de banda.

  6. Em Perfil de espelhamento personalizado, selecione consumer-security-profile.

  7. Clique em Criar.

gcloud

  1. Crie um perfil de segurança de espelhamento personalizado.

    gcloud network-security security-profiles custom-mirroring create consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --billing-project=PROJECT_ID \
        --no-async
    

    Substitua:

    • ORG_ID: o ID da organização. Os perfis de segurança são recursos no nível da organização. Para criar esses perfis, você precisa do papel de administrador de perfil de segurança (networksecurity.securityProfileAdmin) no nível da organização.
    • PROJECT_ID: ID do projeto.
  2. Crie um grupo de perfis de segurança de espelhamento.

    gcloud network-security security-profile-groups create consumer-security-profile-group \
        --location=global \
        --organization=ORG_ID \
        --custom-mirroring-profile=organizations/ORG_ID/locations/global/securityProfiles/consumer-security-profile \
        --billing-project=PROJECT_ID \
        --no-async
    

    Substitua:

    • ORG_ID: o ID da organização. Os grupos de perfis de segurança são recursos no nível da organização. Para criar perfis, você precisa do papel Administrador de perfil de segurança (networksecurity.securityProfileAdmin) no nível da organização.
    • PROJECT_ID: ID do projeto.

Criar uma regra de política de firewall para espelhar o tráfego

Nesta seção, você vai criar uma regra de espelhamento para espelhar o tráfego.

Console

  1. No console do Google Cloud , acesse a página Políticas de firewall.

    Acesse as políticas de firewall

  2. Clique em consumer-firewall-policy.

  3. Clique na guia Regras de espelhamento.

  4. Clique em Criar regra de espelhamento e configure os seguintes campos:

    • Prioridade: 100
    • Direção do tráfego: entrada
    • Ação se houver correspondência: espelhar
    • Grupo de perfis de segurança: consumer-security-profile-group
    • Origem: IPv4
    • Intervalos de IP: 10.11.0.0/16
    • Protocolo e portas: selecione Protocolo e portas especificados, marque a caixa de seleção TCP e, em Portas, especifique 8000.
  5. Clique em Criar.

gcloud

  1. Adicione uma regra de firewall para espelhar o tráfego na porta TCP 8000 na VM do servidor.

    gcloud compute network-firewall-policies mirroring-rules create 100 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=mirror \
        --security-profile-group=organizations/ORG_ID/locations/global/securityProfileGroups/consumer-security-profile-group \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

    Substitua ORG_ID pelo ID da organização.

Testar a conexão

Nesta seção, você envia algum tráfego de rede da instância de VM do cliente consumidor para a instância de VM do servidor consumidor e verifica os registros da instância de VM do produtor para verificar o espelhamento.

  1. Execute o seguinte comando para se conectar à instância de VM do cliente consumidor por SSH e envie uma solicitação à instância de VM do servidor consumidor.

    gcloud compute ssh consumer-client-vm \
        --tunnel-through-iap \
        --zone=us-west1-b \
        --command="curl -m 3 -s http://consumer-server-vm:8000/connection_test || echo fail"
    

    A mensagem success aparece quando você executa o comando anterior. Indica que o tráfego é enviado do cliente para o servidor.

  2. Execute o comando a seguir para verificar os registros da instância de VM do produtor.

    gcloud compute ssh producer-instance \
        --tunnel-through-iap \
        --zone=us-west1-b \
        --command="cat /var/log/syslog | grep 'NSI MIRRORING'"
    

    Você vê uma mensagem semelhante a [NSI MIRRORING] IN=ens4 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=10.10.0.1 DST=10.10.0.2 LEN=136 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=45554 DPT=6081 LEN=116. Isso indica que o tráfego cliente-servidor é espelhado pela instância de VM do produtor.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Excluir os recursos do consumidor

  1. Desassocie a política de firewall da rede do consumidor e exclua a política de firewall.

    Console

    1. No console do Google Cloud , acesse a página Políticas de firewall.

      Acesse as políticas de firewall

    2. Clique na política consumer-firewall-policy.

    3. Clique na guia Associações.

    4. Marque a caixa de seleção da associação consumer-network.

    5. Clique em Remover associação.

    6. Clique em Remover.

    7. No topo da página, clique em Excluir.

    8. Clique em Excluir novamente para confirmar.

    gcloud

    1. Remova a associação.

      gcloud compute network-firewall-policies associations delete \
          --name=consumer-firewall-policy-assoc \
          --firewall-policy=consumer-firewall-policy \
          --global-firewall-policy
      
    2. Exclua a política de firewall.

      gcloud compute network-firewall-policies delete consumer-firewall-policy \
          --global
      
  2. Exclua o grupo de perfis de segurança.

    Console

    1. No console do Google Cloud , acesse a página Perfis de segurança.

      Acessar Perfis de segurança

    2. No seletor de organização, selecione sua organização.

    3. Na guia Grupos de perfis de segurança, selecione o grupo de perfis de segurança consumer-security-profile-group e clique em Excluir.

    4. Clique em Excluir novamente para confirmar.

    gcloud

    gcloud network-security security-profile-groups delete consumer-security-profile-group \
        --location=global \
        --organization=ORG_ID \
        --billing-project=PROJECT_ID \
        --quiet
    

    Substitua:

    • ORG_ID: o ID da organização
    • PROJECT_ID: ID do projeto;
  3. Exclua o perfil de segurança.

    Console

    1. No console do Google Cloud , acesse a página Perfis de segurança.

      Acessar Perfis de segurança

    2. No seletor de organização, selecione sua organização.

    3. Na guia Perfis de segurança, selecione o perfil de segurança consumer-security-profile e clique em Excluir.

    4. Clique em Excluir novamente para confirmar.

    gcloud

    gcloud network-security security-profiles custom-mirroring delete consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --billing-project=PROJECT_ID \
        --quiet
    
  4. Exclua a associação do grupo de endpoints de espelhamento.

    Console

    1. No console do Google Cloud , acesse a página Grupos de endpoints.

      Acessar "Grupos de endpoints"

    2. Clique em consumer-endpoint-group.

    3. Selecione a associação consumer-network e clique em Excluir.

    4. Clique em Excluir novamente para confirmar.

    gcloud

    gcloud network-security mirroring-endpoint-group-associations delete consumer-endpoint-group-association \
        --location=global \
        --no-async
    
  5. Exclua o grupo de endpoints de espelhamento.

    Console

    1. No console do Google Cloud , acesse a página Grupos de endpoints.

      Acessar "Grupos de endpoints"

    2. Selecione consumer-endpoint-group e clique em Excluir.

    3. Clique em Excluir novamente para confirmar.

    gcloud

    gcloud network-security mirroring-endpoint-groups delete consumer-endpoint-group \
        --location=global \
        --no-async
    
  6. Exclua as VMs de servidor e cliente.

    Console

    1. No console do Google Cloud , acesse a página Instâncias de VM.

      Acessar a instância de VM

    2. Marque as caixas de seleção de consumer-client-vm e consumer-server-vm e clique em Excluir.

    3. Clique em Excluir novamente para confirmar.

    gcloud

    1. Exclua a VM do cliente.

      gcloud compute instances delete consumer-client-vm \
          --zone=us-west1-b \
          --quiet
      
    2. Exclua a VM do servidor.

      gcloud compute instances delete consumer-server-vm \
          --zone=us-west1-b \
          --quiet
      
  7. Exclua a rede e a sub-rede do consumidor.

    Console

    1. No console do Google Cloud , acesse a página Redes VPC.

      Acessar redes VPC

    2. Clique em consumer-network.

    3. Na guia Sub-redes, marque a caixa de seleção de consumer-subnet e clique em Excluir.

    4. Clique em Excluir novamente para confirmar.

    5. Clique em Excluir rede VPC.

    6. No campo de texto, digite consumer-network e clique em Excluir.

    gcloud

    1. Exclua a sub-rede.

      gcloud compute networks subnets delete consumer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Exclua a rede VPC.

      gcloud compute networks delete consumer-network \
          --quiet
      

Excluir os recursos do produtor

  1. Desassocie a política de firewall da rede do produtor e exclua a política de firewall.

    Console

    1. No console do Google Cloud , acesse a página Políticas de firewall.

      Acesse as políticas de firewall

    2. Clique na política producer-firewall-policy.

    3. Clique na guia Associações.

    4. Marque a caixa de seleção da associação producer-network.

    5. Clique em Remover associação.

    6. Clique em Remover.

    7. Clique em Excluir.

    8. Clique em Excluir novamente para confirmar.

    gcloud

    1. Remova a associação.

      gcloud compute network-firewall-policies associations delete \
          --name=producer-firewall-policy-assoc \
          --firewall-policy=producer-firewall-policy \
          --global-firewall-policy
      
    2. Exclua a política de firewall.

      gcloud compute network-firewall-policies delete producer-firewall-policy \
          --global
      
  2. Exclua a implantação de espelhamento e o grupo de implantação de espelhamento.

    Console

    1. No console do Google Cloud , acesse a página Grupos de implantação.

      Acessar grupos de implantação

    2. Clique em producer-deployment-group.

    3. Excluir producer-deployment.

      1. Marque a caixa de seleção producer-deployment e clique em Excluir.
      2. Clique em Excluir novamente para confirmar.
    4. Clique no botão Excluir.

    5. Clique em Excluir novamente para confirmar.

    gcloud

    1. Exclua a implantação de espelhamento.

      gcloud network-security mirroring-deployments delete producer-deployment \
          --location=us-west1-b \
          --no-async
      
    2. Exclua o grupo de implantação de espelhamento.

      gcloud network-security mirroring-deployment-groups delete producer-deployment-group \
          --location=global \
          --no-async
      
  3. Exclua os recursos do balanceador de carga.

    Console

    1. No console do Google Cloud , acesse a página Balanceamento de carga.

      Acessar o "Balanceamento de carga"

    2. Marque a caixa de seleção producer-ilb.

    3. Clique no botão Excluir na parte superior da página.

    4. Marque a caixa de seleção producer-health-check e clique em Excluir balanceador de carga e recursos selecionados.

    gcloud

    1. Exclua a regra de encaminhamento.

      gcloud compute forwarding-rules delete producer-ilb-fr \
          --region=us-west1 \
          --quiet
      
    2. Remova o serviço de back-end.

      gcloud compute backend-services delete producer-backend-service \
          --region=us-west1 \
          --quiet
      
    3. Exclua a verificação de integridade.

      gcloud compute health-checks delete producer-health-check \
          --region=us-west1 \
          --quiet
      
  4. Exclua a instância de VM do produtor.

    Console

    1. No console do Google Cloud , acesse a página Instâncias de VM.

      Acessar instâncias de VM

    2. Marque a caixa de seleção de producer-instance e clique em Excluir.

    3. Clique em Excluir novamente para confirmar.

    gcloud

    gcloud compute instances delete producer-instance \
        --zone=us-west1-b \
        --quiet
    
  5. Exclua o grupo de instâncias.

    Console

    1. No console, do Google Cloud , acesse a página Grupos de instâncias.

      Acesse grupo de instâncias

    2. Marque a caixa de seleção producer-instance-group.

    3. Clique em Excluir.

    4. Na janela de confirmação, clique em Excluir.

    gcloud

    gcloud compute instance-groups unmanaged delete producer-instance-group \
        --zone=us-west1-b \
        --quiet
    
  6. Exclua a rede e a sub-rede do produtor.

    Console

    1. No console do Google Cloud , acesse a página Redes VPC.

      Acessar redes VPC

    2. Clique em producer-network.

    3. Na guia Sub-redes, marque a caixa de seleção de producer-subnet e clique em Excluir.

    4. Clique em Excluir novamente para confirmar.

    5. Clique em Excluir rede VPC.

    6. No campo de texto, digite producer-network e clique em Excluir.

    gcloud

    1. Exclua a sub-rede.

      gcloud compute networks subnets delete producer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Exclua a rede.

      gcloud compute networks delete producer-network \
          --quiet
      

A seguir