Objetivos
Nesta seção, mostramos como concluir as seguintes tarefas:
- Criar uma rede VPC personalizada com duas sub-redes em regiões diferentes.
- Criar uma instância de máquina virtual (VM) em cada uma das seguintes regiões: EUA e Singapura.
- Criar um Cloud Router e um gateway do Cloud NAT para permitir que a VM dos EUA acesse a Internet pública.
- Criar uma política de firewall de rede global e adicionar uma regra de firewall para ativar o Identity-Aware Proxy (IAP).
- Instalar o servidor Apache na VM de Singapura.
- Adicionar uma regra de firewall para bloquear o tráfego para geolocalizações específicas.
- Testar a regra de firewall de geolocalização.
O diagrama a seguir mostra o tráfego entre VMs nas regiões us-central1
e asia-southeast1
em uma rede VPC personalizada.
Uma política de firewall de rede global bloqueia o tráfego de saída para uma geolocalização específica. A VM na região us-central1
usa o Cloud Router e um Cloud NAT para acesso à Internet, sem usar um endereço IP externo.
A VM na região us-central1
usa o endereço IP externo da VM na região asia-southeast1
para testar a regra de firewall.
Antes de começar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Verifique se você tem o papel de administrador de rede do Compute (
roles/compute.networkAdmin
). -
Enable the Compute Engine and Identity-Aware Proxy (IAP) APIs.
- 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: caso você ainda não tenha executado a CLI do Google Cloud, inicialize o diretório da gcloud CLI executando o comando
gcloud init
.
Criar uma rede VPC personalizada com sub-redes
Crie uma rede VPC de modo personalizado com duas sub-redes IPv4.
Console
No Console do Google Cloud, acesse a página Redes VPC.
Clique em Criar rede VPC.
Em Nome, insira
vpc-geo-location
.Em Modo de criação da sub-rede, selecione Personalizado.
Na seção Nova sub-rede, especifique os parâmetros de configuração a seguir para uma sub-rede:
- Name:
subnet-1-us
- Região:
us-central1
- Intervalo IPv4:
10.0.0.0/24
- Name:
Clique em Concluído.
Clique em Adicionar sub-rede e especifique os seguintes parâmetros de configuração:
- Name:
subnet-2-sg
- Região:
asia-southeast1
- Intervalo IPv4:
192.168.200.0/24
- Name:
Clique em Concluído.
Clique em Criar.
gcloud
- Para abrir o terminal, clique em Ativar o Cloud Shell.
Para criar uma rede VPC, execute o seguinte comando:
gcloud compute networks create vpc-geo-location \ --subnet-mode=custom
Na caixa de diálogo Autorizar o Cloud Shell, clique em Autorizar.
Para criar uma sub-rede, execute o comando a seguir.
gcloud compute networks subnets create subnet-1-us \ --network=vpc-geo-location \ --region=us-central1 \ --range=10.0.0.0/24
Para criar outra sub-rede, execute o seguinte comando:
gcloud compute networks subnets create subnet-2-sg \ --network=vpc-geo-location \ --region=asia-southeast1 \ --range=192.168.200.0/24
Criar VMs
Nesta seção, você criará duas VMs nas sub-redes configuradas na seção anterior.
Criar uma VM na região us-central1
Crie uma VM na região us-central1
sem um endereço IP externo.
Console
Para criar uma VM na região us-central1
, siga estas etapas:
No Console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
instance-1-us
.Em Região, selecione
us-central1 (Iowa)
.Expanda Opções avançadas e depois Rede.
Na seção Interfaces de rede, expanda padrão e especifique os seguintes parâmetros de configuração:
- Rede:
vpc-geo-location
- Sub-rede:
subnet-1-us IPv4 (10.0.0.0/24)
- Endereço IPv4 externo: nenhum
- Rede:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar uma VM na região us-central1
, execute o seguinte comando:
gcloud compute instances create instance-1-us \ --network=vpc-geo-location \ --zone=us-central1-a \ --stack-type=IPV4_ONLY \ --no-address \ --subnet=subnet-1-us
Criar uma VM na região asia-southeast1
Console
Para criar uma VM na região asia-southeast1
, siga estas etapas:
No Console do Google Cloud, acesse a página Criar uma instância.
Em Nome, insira
instance-2-sg
.Em Região, selecione
asia-southeast1 (Singapore)
.Expanda as Opções avançadas e depois Rede.
Na seção Interfaces de rede, expanda padrão e especifique os seguintes parâmetros de configuração:
- Rede:
vpc-geo-location
- Sub-rede:
subnet-2-sg IPv4 (192.168.200.0/24)
- Rede:
Clique em Concluído.
Clique em Criar.
gcloud
Para criar uma VM na região asia-southeast1
, execute o seguinte comando:
gcloud compute instances create instance-2-sg \ --network=vpc-geo-location \ --zone=asia-southeast1-b \ --subnet=subnet-2-sg \ --stack-type=IPV4_ONLY
Criar um Cloud Router e um gateway NAT do Cloud
Na seção anterior, você criou duas VMs, instance-1-us
e asia-southeast1
. Para permitir que as VMs instance-1-us
acessem a Internet pública, crie um Cloud Router e um gateway do Cloud NAT.
Console
No Console do Google Cloud, acesse a página do Cloud NAT.
Clique em Primeiros passos ou Criar gateway Cloud NAT.
Em Nome do gateway, digite
nat-gateway
.Em Tipo de NAT, selecione Public.
Na seção Selecionar o Cloud Router, especifique os seguintes parâmetros de configuração:
- Rede:
vpc-geo-location
- Região:
us-central1
- Cloud Router: criar novo roteador.
- Em Nome, insira
router-fw-rules
. - Clique em Criar.
- Em Nome, insira
- Rede:
Clique em Criar.
No console do Google Cloud, acesse a página Endereços IP.
Clique na guia Endereços IP externos e, em seguida, copie o endereço IP do Cloud NAT (
nat-auto-ip
). Esse endereço IP é usado quando você valida a conexão entre as VMsinstance-1-us
einstance-2-sg
.
gcloud
Para criar um Cloud Router, execute o seguinte comando:
gcloud compute routers create router-fw-rules \ --network=vpc-geo-location \ --region=us-central1
Para criar um gateway do Cloud NAT, execute o seguinte comando:
gcloud compute routers nats create nat-gateway \ --router=router-fw-rules \ --region=us-central1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges
Para ver o endereço IP do Cloud NAT, execute o seguinte comando:
gcloud compute routers get-nat-ip-info \ router-fw-rules \ --region=us-central1
Lembre-se de copiar o endereço IP do Cloud NAT (
natIp
). Esse endereço IP é usado quando você valida a conexão entre as VMsinstance-1-us
einstance-2-sg
.
Criar uma política de firewall de rede global para ativar o IAP
Nesta seção, você criará uma política de firewall de rede global e adicionará uma regra de firewall para ativar o IAP. O IAP tem acesso administrativo às instâncias de VM.
A regra de firewall tem as seguintes características.
- Tráfego de entrada do intervalo de IP
35.235.240.0/20
. Esse intervalo contém todos os endereços IP que o IAP usa para o encaminhamento de TCP. Uma conexão com todas as portas que você quer que estejam acessíveis usando o encaminhamento de TCP do IAP. Por exemplo, a porta
22
para SSH.
Console
Para permitir o acesso do IAP a todas as instâncias de VM na rede vpc-geo-location
, siga estas etapas:
No Console do Google Cloud, acesse a página políticas de Firewall.
Clique em Criar política de firewall.
Na seção Configurar política, em Nome da política, digite
fw-policy
.Em Escopo da implantação, selecione Global e clique em Continuar.
Para criar regras para sua política, na seção Adicionar regras, clique em Adicionar regra.
- Em Prioridade, digite
100
. - Em Direção de tráfego, selecione Entrada.
- Em Ação se houver correspondência, selecione Permitir.
- Em Registros, selecione Ativado.
- Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
- Na seção Origem, em Intervalos de IP, insira
35.235.240.0/20
. - Na seção Protocolo e portas, selecione Portas e protocolos especificados.
- Marque a caixa de seleção TCP e, em Portas, insira
22
. - Clique em Criar.
- Em Prioridade, digite
Clique em Continuar.
Para associar uma rede VPC à política, na seção Associar política a redes VPC, clique em Associar.
Marque a caixa de seleção
vpc-geo-location
e clique em Associar.Clique em Continuar.
Clique em Criar.
gcloud
Para permitir o acesso do IAP a todas as instâncias de VM na rede vpc-geo-location
, execute o seguinte comando:
Para criar uma política de firewall, execute o seguinte comando:
gcloud compute network-firewall-policies create fw-policy \ --global
Para criar uma regra de firewall que permita o tráfego para todos os destinos e ative os registros, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy=fw-policy \ --direction=INGRESS \ --action=ALLOW \ --layer4-configs=tcp:22 \ --src-ip-ranges=35.235.240.0/20 \ --global-firewall-policy \ --enable-logging
Para associar a política de firewall à rede VPC, execute o seguinte comando:
gcloud compute network-firewall-policies associations create \ --firewall-policy=fw-policy \ --network=vpc-geo-location \ --name=pol-association-fw-rules \ --global-firewall-policy
Criar uma regra de firewall
Nesta seção, você criará uma regra de firewall para permitir a conexão de entrada na VM instance-2-sg
.
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique em
fw-policy
.Clique em Criar regra.
Em Prioridade, digite
500
.Em Direção de tráfego, selecione Entrada.
Em Ação se houver correspondência, selecione Permitir.
Em Registros, selecione Ativado.
Na seção Destino, em Tipo de destino, selecione Todas as instâncias na rede.
Na seção Origem, em Intervalos de IP, insira NAT_IP_ADDRESS.
Substitua
NAT_IP_ADDRESS
pelo endereço IP atribuído ao Cloud NAT. Para mais informações, consulte Criar um Cloud Router e um gateway do Cloud NAT.Clique em Criar.
gcloud
Para atualizar a política de firewall, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 500 \ --firewall-policy=fw-policy \ --direction=INGRESS \ --action=ALLOW \ --src-ip-ranges=NAT_IP_ADDRESS \ --layer4-configs=all \ --global-firewall-policy \ --enable-logging
Substitua NAT_IP_ADDRESS
pelo endereço IP atribuído ao Cloud NAT. Para mais informações, consulte Criar um Cloud Router e um gateway do Cloud NAT.
Instalar o servidor Apache
Nesta seção, você instalará o servidor Apache na VM instance-2-sg
.
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna Conectar da VM
instance-2-sg
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Execute este comando para atualizar as listas de pacotes na instância:
sudo apt-get update
Quando o processo é concluído, ele gera a seguinte mensagem:
Reading package lists... Done.
Para instalar o pacote
apache2 HTTP Server
, execute o seguinte comando no prompt de comando:sudo apt-get install apache2 php7.0
Enquanto o processo está em andamento, ele gera a seguinte mensagem:
After this operation, 56.0 MB of additional disk space will be used. Do you want to continue? [Y/n]
Pressione Y para confirmar e depois Enter.
Para substituir a página da Web padrão do servidor da Web Apache, execute o seguinte comando:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
Feche a caixa de diálogo SSH no navegador.
gcloud
Para usar o SSH para se conectar à VM
instance-2-sg
, execute o seguinte comando:gcloud compute ssh instance-2-sg \ --zone=asia-southeast1-b \ --tunnel-through-iap
Quando solicitado, pressione Y para confirmar e depois Enter.
Execute este comando para atualizar as listas de pacotes na instância:
sudo apt-get update
Quando o processo é concluído, ele gera a seguinte mensagem:
Reading package lists... Done.
Para instalar o pacote
apache2 HTTP Server
, execute o seguinte comando no prompt de comando:sudo apt-get install apache2 php7.0
Enquanto o processo está em andamento, ele gera a seguinte mensagem:
After this operation, 56.0 MB of additional disk space will be used. Do you want to continue? [Y/n]
Pressione Y para confirmar e depois Enter.
Para substituir a página da Web padrão do servidor da Web Apache, execute o seguinte comando:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
Para fechar o SSH no navegador, digite
exit
.
Validar a conexão
Depois de instalar o servidor Apache na VM instance-2-sg
, conecte-se à VM instance-1-us
pela VM instance-2-sg
usando o endereço IP externo da VM instance-2-sg
.
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna IP externo da VM
instance-2-sg
, copie o endereço IP externo da VM.Na coluna Conectar da VM
instance-1-us
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para verificar a conexão, execute o seguinte comando:
curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo endereço IP da VMinstance-2-sg
.A mensagem da resposta esperada é esta:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Feche a caixa de diálogo SSH no navegador.
gcloud
Para ver o endereço IP externo da VM
instance-2-sg
, execute o seguinte comando:gcloud compute instances describe instance-2-sg \ --zone=asia-southeast1-b \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
Quando solicitado, pressione Y para confirmar e depois Enter. Anote o endereço IP externo da VM
instance-2-sg
.Para usar o SSH para se conectar à VM
instance-1-us
, execute o seguinte comando:gcloud compute ssh instance-1-us \ --zone=us-central1-a \ --tunnel-through-iap
Para verificar a conexão, execute o seguinte comando:
curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo endereço IP da VMinstance-2-sg
.A mensagem da resposta esperada é esta:
<!doctype html><html><body><h1>Hello World!</h1></body></html>
Para fechar o SSH no navegador, digite
exit
.
Adicionar uma regra de firewall para bloquear o tráfego para geolocalizações específicas
Nesta seção, você adicionará uma regra de firewall para a VPC vpc-geo-location
a fim de bloquear o tráfego de saída para a Itália, Polônia e Singapura.
Console
Para adicionar uma nova regra na fw-policy
criada na seção Criar uma política de firewall de rede global, siga estas etapas:
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique em
fw-policy
.Clique em Criar regra.
Em Prioridade, digite
200
.Em Direção do tráfego, selecione Saída.
Em Ação se houver correspondência, selecione Negar.
Em Registros, selecione Ativado.
Na seção Destino, em Geolocalizações, selecione Singapura (SG), Polônia (PL) e Itália (IT).
Clique em OK.
Clique em Criar.
gcloud
Para adicionar uma nova regra na fw-policy
criada na seção Criar uma política de firewall de rede global, execute o seguinte comando:
gcloud compute network-firewall-policies rules create 200 \ --firewall-policy=fw-policy \ --direction=EGRESS \ --action=DENY \ --dest-region-codes=SG,PL,IT \ --layer4-configs=all \ --global-firewall-policy \ --enable-logging
Testar a regra de firewall de geolocalização
Console
Depois de adicionar a regra para bloquear o tráfego de saída para a Itália (IT), Polônia (PL) e Singapura (SG), siga estas etapas para testar a regra:
No console do Google Cloud, acesse a página Instâncias de VMs.
Na coluna IP externo da VM
instance-2-sg
, copie o endereço IP externo da VM.Na coluna Conectar da VM
instance-1-us
, clique em SSH.Na caixa de diálogo SSH no navegador, clique em Autorizar e aguarde a conexão ser estabelecida.
Para verificar se o tráfego de saída para a VM
instance-2-sg
está bloqueado, execute o seguinte comando:curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo endereço IP da VMinstance-2-sg
.A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar o tráfego externo da VM dos EUA para a VM de Singapura.Para verificar se o tráfego de saída para a Polônia está bloqueado, execute o seguinte comando:
curl `https://www.gov.pl` -m 2
A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar tráfego externo ao site da Polônia.Para verificar se o tráfego de saída para a Itália está bloqueado, execute o seguinte comando:
curl `https://www.esteri.it/it/` -m 2
A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar tráfego externo ao site da Itália.Feche a caixa de diálogo SSH no navegador.
gcloud
Depois de adicionar a regra para bloquear o tráfego de saída para a Itália (IT), Polônia (PL) e Singapura (SG), execute o seguinte comando para testar a regra:
Para ver o endereço IP externo da VM
instance-2-sg
, execute o seguinte comando:gcloud compute instances describe instance-2-sg \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
Quando solicitado, pressione Y para confirmar e depois Enter. Anote o endereço IP externo da VM
instance-2-sg
.Para usar o SSH para se conectar à VM
instance-1-us
, execute o seguinte comando:gcloud compute ssh instance-1-us \ --zone=us-central1-a \ --tunnel-through-iap
Para verificar se o tráfego de saída para Singapura está bloqueado, execute o seguinte comando:
curl EXTERNAL_IP -m 2
Substitua
EXTERNAL_IP
pelo endereço IP da VMinstance-2-sg
.A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar o tráfego externo da VM dos EUA para a VM de Singapura.Para verificar se o tráfego de saída para a Polônia está bloqueado, execute o seguinte comando:
curl https://www.gov.pl -m 2
A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar tráfego externo do site da Polônia.Para verificar se o tráfego de saída para a Itália está bloqueado, execute o seguinte comando:
curl https://www.esteri.it/it/ -m 2
A mensagem
Connection timed out
é esperada porque você criou uma regra de firewall para negar tráfego externo ao site da Itália.Para fechar a caixa de diálogo SSH no navegador, digite
exit
.
Visualize os registros
Para verificar se as regras de firewall foram aplicadas ao tráfego de saída, acesse os registros. Para ver o registro, siga estas etapas:
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique no nome
fw-policy
.Clique em
Opções de exibição de coluna.Na caixa de diálogo Colunas exibidas, selecione Contagem de ocorrências e clique em OK.
Na coluna Contagem de ocorrências, selecione o número da regra que você criou durante Criar uma política de firewall da rede global. A página Análise de registros abre.
Para ver a regra de firewall aplicada ao tráfego de saída, expanda o registro individual. É possível ver os detalhes da conexão, disposição e do local remoto.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Nesta seção, você vai excluir os recursos criados neste tutorial.
Excluir a política de firewall
Console
No Console do Google Cloud, acesse a página políticas de Firewall.
Na seção Políticas de firewall de rede, clique no nome
fw-policy
.Clique na guia Associações.
Marque a caixa de seleção de
vpc-geo-location
e clique em Remover associação.Na caixa de diálogo Remover uma associação de política de firewall, clique em Remover.
Ao lado do título
fw-policy
, clique em Excluir.Na caixa de diálogo Excluir uma política de firewall, clique em Excluir.
gcloud
Remova a associação entre a política de firewall e a rede VPC.
gcloud compute network-firewall-policies associations delete \ --name=pol-association-fw-rules \ --firewall-policy=fw-policy \ --global-firewall-policy
Exclua a política de firewall.
gcloud compute network-firewall-policies delete fw-policy \ --global
Quando solicitado, pressione Y para confirmar e depois Enter.
Excluir as VMs
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Marque as caixas de seleção das VMs
instance-1-us
einstance-2-sg
.Clique em Excluir.
Na caixa de diálogo Excluir 2 instâncias?, clique em Excluir.
gcloud
Para excluir a VM
instance-1-us
, execute o seguinte comando:gcloud compute instances delete instance-1-us \ --zone=us-central1-a
Quando solicitado, pressione Y para confirmar e depois Enter.
Para excluir a VM
instance-2-sg
, execute o seguinte comando:gcloud compute instances delete instance-2-sg \ --zone=asia-southeast1-b
Quando solicitado, pressione Y para confirmar e depois Enter.
Excluir o gateway do Cloud NAT e o Cloud Router
Console
No Console do Google Cloud, acesse a página do Cloud Routers.
Marque a caixa de seleção
router-fw-rules
Clique em Excluir.
Na caixa de diálogo Delete router-fw-rules, clique em Delete.
Quando você exclui um Cloud Router, o gateway do Cloud NAT associado também é excluído.
gcloud
Para excluir o Cloud Router router-fw-rules
, execute o seguinte comando:
gcloud compute routers delete router-fw-rules \ --region=us-central1
Quando solicitado, pressione Y para confirmar e depois Enter.
Quando você exclui um Cloud Router, o gateway do Cloud NAT associado também é excluído.
Excluir a rede VPC e as sub-redes dela
Console
No Console do Google Cloud, acesse a página Redes VPC.
Na coluna Nome, clique em
vpc-geo-location
.Clique em Excluir rede VPC.
Na caixa de diálogo Excluir uma rede, clique em Excluir.
Quando você exclui uma VPC, as sub-redes dela também são excluídas.
gcloud
Para excluir a sub-rede
subnet-1-us
da rede VPCvpc-geo-location
, execute o seguinte comando:gcloud compute networks subnets delete subnet-1-us \ --region=us-central1
Quando solicitado, pressione Y para confirmar e depois Enter.
Para excluir a sub-rede
subnet-2-sg
da rede VPCvpc-geo-location
, execute o seguinte comando:gcloud compute networks subnets delete subnet-2-sg \ --region=asia-southeast1
Quando solicitado, pressione Y para confirmar e pressione Enter.
Para excluir a rede VPC
vpc-geo-location
, execute o seguinte comando:gcloud compute networks delete vpc-geo-location
Quando solicitado, pressione Y para confirmar e depois Enter.
A seguir
- Para informações conceituais sobre políticas de firewall, consulte este link.
- Para informações conceituais sobre as regras da política de firewall, consulte este link.
- Para criar, atualizar, monitorar e excluir regras de firewall da VPC, consulte Usar regras de firewall da VPC.
- Para determinar os custos, consulte Preços do Cloud NGFW.