arrow_back

Introdução à Rede

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Introdução à Rede

Lab 1 hora 15 minutos universal_currency_alt 1 crédito show_chart Introdutório
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP016

Laboratórios autoguiados do Google Cloud

Informações gerais

Neste laboratório prático, você vai aprender a realizar tarefas básicas de rede no Google Cloud (incluindo instâncias do Compute Engine) e descobrir como o Google Cloud pode ser diferente de uma configuração local. Você vai desenvolver uma rede e três sub-redes, resultando neste ambiente de estado final:

O ambiente de estado final consiste de três sub-redes: subnet-us-central, subnet-europe-west e asia-test-01

Os exercícios de laboratório que você vai fazer foram ordenados para refletir uma experiência comum de desenvolvedor de nuvem:

  1. Configure o ambiente de laboratório e aprenda a trabalhar com o ambiente do Google Cloud.
  2. Implante uma rede comum com sub-redes e várias regiões usando ferramentas comuns de código aberto para entender sua rede em todo o mundo.
  3. Teste e monitore a rede e as instâncias.

Conteúdo do laboratório

  • Conceitos básicos da rede do Google Cloud
  • Como são configuradas redes padrão ou criadas pelo usuário
  • Como mensurar o desempenho e a latência
  • Configurações básicas de segurança de acesso, firewall e roteamento

Pré-requisitos

  • Conhecimento básico de Compute Engine
  • Conhecimento básico de TCP/IP e rede
  • Conhecimento básico de linha de comando do Unix/Linux

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

O que são as regiões e zonas

Alguns recursos do Compute Engine estão em regiões ou zonas. As regiões são localizações geográficas específicas onde você pode executar seus recursos. Todas elas têm uma ou mais zonas. Por exemplo, us-central1 indica uma região na área central dos Estados Unidos com as zonas us-central1-a, us-central1-b, us-central1-c e us-central1-f.

Regiões Zonas
Oeste dos EUA us-west1-a, us-west1-b
Central dos EUA us-central1-a, us-central1-b, us-central1-d, us-central1-f
Leste dos EUA us-east1-b, us-east1-c, us-east1-d
Europa Ocidental europe-west1-b, europe-west1-c, europe-west1-d
Ásia Oriental asia-east1-a, asia-east1-b, asia-east1-c

Os recursos que estão em uma zona são chamados de recursos zonais. As instâncias de máquina virtual e os discos permanentes ficam em uma zona. Para anexar um disco permanente a uma instância de máquina virtual, esses dois recursos precisam estar na mesma zona. Da mesma forma, para atribuir um endereço IP estático a uma instância, os dois precisam estar na mesma região.

Para saber mais sobre regiões e zonas, além de conferir uma lista completa com todas elas na página do Compute Engine, acesse Documentação de regiões e zonas.

Conceitos sobre rede no Google Cloud

No Google Cloud Platform, as redes fornecem conexões de dados de entrada e saída para seus recursos de nuvem, principalmente em instâncias do Compute Engine. Manter as redes seguras é essencial para proteger seus dados e controlar o acesso aos seus recursos.

O Google Cloud Platform é compatível com projetos, redes e sub-redes para oferecer um isolamento flexível e lógico de recursos não relacionados.

Projetos - Redes - Janela de sub-redes

Os projetos funcionam como uma estrutura mais abrangente e são usados para agrupar recursos que têm a mesma relação de confiança. Muitos desenvolvedores mapeiam projetos para equipes, porque cada projeto tem uma política de acesso (IAM) e uma lista de membros própria. Eles também servem como um coletor de dados de faturamento e de cota ao refletir o consumo de recursos. Os projetos contêm redes que incluem sub-redes, regras de firewall e rotas. Confira o diagrama a seguir para mais detalhes.

Mapa do projeto

As redes estabelecem uma conexão direta entre seus recursos e o mundo exterior. Ao usar firewalls, elas também armazenam políticas de acesso para conexões de entrada e de saída. As redes podem ser globais ou regionais. Enquanto as globais oferecem escalonabilidade horizontal entre diversas regiões, as regionais oferecem baixa latência em uma única região.

Use as sub-redes para agrupar recursos relacionados, como instâncias do Compute Engine, em espaços de endereço privados da RFC1918. As sub-redes só podem ser regionais. E cada uma delas pode estar no modo automático ou personalizado.

  • Uma rede no modo automático tem uma sub-rede por região, cada uma com um intervalo de IP e gateway predefinidos. Quando você cria a rede no modo automático, as sub-redes são criadas automaticamente com o mesmo nome da rede geral.
  • Quando a rede de modo personalizado é criada, não são criadas sub-redes. Para criar uma instância em uma rede no modo personalizado, crie uma sub-rede nessa região e especifique o intervalo de IP. Uma rede nesse modo pode ter nenhuma, uma ou várias sub-redes por região.

Configure sua região e zona

Alguns recursos do Compute Engine estão em regiões e zonas. As regiões são localizações geográficas específicas onde você executa seus recursos. Todas elas têm uma ou mais zonas.

Execute os comandos gcloud a seguir no console do Cloud para definir a região e a zona padrão do laboratório:

gcloud config set compute/zone "{{{project_0.startup_script.primary_zone | Zone}}}" export ZONE=$(gcloud config get compute/zone) gcloud config set compute/region "{{{project_0.startup_script.primary_region | Region}}}" export REGION=$(gcloud config get compute/region)

Tarefa 1. Verificar a rede padrão

Quando um novo projeto é criado, uma configuração de rede padrão fornece a cada região uma rede automática de sub-redes. Você pode criar até quatro redes adicionais em um projeto. As redes adicionais podem ser redes automáticas de sub-redes, redes personalizadas de sub-rede ou redes legadas.

A cada instância criada na sub-rede é atribuído um endereço IPv4 do intervalo dessa sub-rede.

  • Revise sua rede. Clique no menu de navegação > Rede VPC.

Página da rede VPC mostrando uma lista de redes, incluindo as informações associadas, por exemplo, intervalo de endereços IP e gateways

Firewalls

Para mais informações sobre como usar as regras de firewall para isolar sub-redes, consulte sub-redes e regras de firewall.

Cada rede tem um firewall padrão que bloqueia todo o tráfego de entrada nas instâncias. Para permitir que o tráfego entre em uma instância, você precisa criar regras de "permissão" para o firewall. Além disso, o firewall padrão permite o tráfego de instâncias, a menos que você o configure para bloquear conexões de saída usando uma configuração de firewall de "saída". Portanto, por padrão, é possível criar regras de "permissão" para o tráfego ao qual você quer permitir a entrada e regras de "negação" para o tráfego ao qual você quer restringir a saída. Você também pode criar uma política de negação padrão para a saída e proibir totalmente as conexões externas.

Em geral, é recomendável configurar a regra de firewall menos permissiva que suportará o tipo de tráfego que você está tentando transmitir. Por exemplo, se você precisar permitir que o tráfego atinja algumas instâncias, mas impedir que o tráfego atinja outras, crie regras que permitam o tráfego apenas para as instâncias pretendidas. Essa configuração mais restritiva é mais previsível que uma regra de firewall ampla que permite o tráfego para todas as instâncias. Se quiser que as regras de "negação" substituam certas regras de "permissão", você poderá definir níveis de prioridade em cada regra. Assim, a regra que tiver a prioridade de numeração mais baixa será avaliada primeiro. A criação de conjuntos grandes e complexos de regras de substituição pode permitir ou bloquear um tráfego que não é o pretendido.

A rede padrão criou automaticamente regras de firewall, que são mostradas abaixo. Redes criadas manualmente, de qualquer tipo, não têm regras de firewall criadas automaticamente. Em todas as redes, exceto a rede padrão, é preciso criar as regras de firewall que forem necessárias.

As regras de firewall de entrada criadas automaticamente para a rede padrão são as seguintes:

default-allow-internal

Permite conexões de rede de qualquer protocolo e porta entre instâncias na rede.

default-allow-ssh

Permite conexões SSH de qualquer origem para qualquer instância na rede pela porta TCP 22.

default-allow-rdp

Permite conexões RDP de qualquer origem para qualquer instância na rede pela porta TCP 3389.

default-allow-icmp

Permite tráfego ICMP de qualquer origem para qualquer instância na rede.

  • Para verificar as regras padrão de firewall, no console, clique em menu de navegação > rede VPC > Firewall.

Página do Firewall mostrando uma lista de regras, incluindo os respectivos tipos, valores, filtros, protocolo/portas, prioridade e rede

Rota da rede

Todas as redes têm rotas automaticamente criadas para a Internet (rota padrão) e para os intervalos de IP na rede. Os nomes das rotas são gerados automaticamente e serão diferentes em cada projeto.

  • Para verificar as rotas padrão, clique em menu de navegação > Rede VPC > Rotas.

Página de Rotas mostrando uma lista de rotas e a respectiva descrição, intervalo de IP de destino, nível de prioridade e rede

Tarefa 2. Criar uma rede personalizada

Crie uma nova rede com intervalos personalizados de sub-redes

Na atribuição manual de intervalos de sub-redes, crie primeiro uma rede personalizada de sub-redes. Depois crie as sub-redes desejadas em uma região. Não é necessário especificar sub-redes para todas as regiões imediatamente, ou a qualquer momento, mas não é possível criar instâncias em regiões que não tenham uma sub-rede definida.

Quando você cria uma nova sub-rede, o nome precisa ser único nesse projeto para essa região, mesmo nas redes. O mesmo nome pode aparecer duas vezes em um projeto, contanto que em regiões diferentes. Como se trata de uma sub-rede, não há nenhum intervalo IPv4 ou IP de gateway no nível de rede, por isso nada será exibido.

Você pode criar sua rede personalizada com o Console ou com o Cloud Shell. Mostraremos ambos os métodos, mas você precisa decidir qual método usar durante o laboratório. Por exemplo, não é possível usar as instruções para o console em uma seção e, em seguida, usar a linha de comando gcloud na mesma seção.

Tarefa 3. Criar uma rede personalizada com o console

Observação: se preferir usar a linha de comando, pule esta seção e continue em Criar uma rede personalizada com o Cloud Shell.
  1. Para criar uma rede personalizada, clique em menu de navegação > Rede VPC.

  2. Clique em Criar rede VPC e nomeie a rede como taw-custom-network.

  3. Na guia Personalizada, crie:

    • Nome da sub-rede: subnet-
    • Região:
    • Intervalo de endereços IP: 10.0.0.0/16
  4. Clique em Concluído.

    Caixa de diálogo de &quot;Criar uma rede VPC&quot; preenchida

  5. Agora, clique em Adicionar sub-rede e inclua duas sub-redes às respectivas regiões:

    • sub-rede-, , 10.1.0.0/16
    • subrede-, , 10.2.0.0/16
  6. Clique em Criar para finalizar.

Nesse ponto, a rede tem rotas para a Internet e para as instâncias que você criar. Mas ela não tem regras de firewall que permitam acesso a instâncias, mesmo de outras instâncias. Para permitir o acesso, é preciso criar regras de firewall.

Siga para a seção Como adicionar regras de firewall.

Tarefa 4. Criar uma rede personalizada com o Cloud Shell

Observação: se você tiver acabado de criar uma rede usando o console, não realize o mesmo exercício usando o Cloud Shell. Repita o laboratório para praticar o uso da linha de comando gcloud.
  • Digite o seguinte comando no Cloud Shell para criar a rede personalizada:
gcloud compute networks create taw-custom-network --subnet-mode custom

Saída:

NAME MODE IPV4_RANGE GATEWAY_IPV4 taw-custom-network custom As instâncias nesta rede não estarão acessíveis até que as regras de firewall sejam criadas. Como exemplo, é possível permitir o tráfego interno entre as instâncias e o tráfego SSH, RDP e ICMP executando: $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp,udp,icmp --source-ranges $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp:22,tcp:3389,icmp

Agora crie sub-redes para a nova rede personalizada. Crie três delas.

  1. Crie a sub-rede- com um prefixo IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.primary_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.primary_region | Region}}} \ --range 10.0.0.0/16

Saída:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.primary_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.primary_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.primary_region | Region}}} {{{project_0.startup_script.primary_region | Region}}} taw-custom-network 10.0.0.0/16
  1. Crie a sub-rede- com um prefixo IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.secondary_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.secondary_region | Region}}} \ --range 10.1.0.0/16

Saída:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.secondary_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.secondary_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.1.0.0/16
  1. Crie a sub-rede- com um prefixo IP:
gcloud compute networks subnets create subnet-{{{project_0.startup_script.third_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.startup_script.third_region | Region}}} \ --range 10.2.0.0/16

Saída:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.startup_script.third_region | Region}}}/subnetworks/subnet-{{{project_0.startup_script.third_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.2.0.0/16
  1. Liste as redes:
gcloud compute networks subnets list \ --network taw-custom-network

Se você tiver criado uma rede automática de sub-redes na seção anterior, essas sub-redes também estarão na lista.

Saída:

NAME REGION NETWORK RANGE subnet-{{{project_0.startup_script.third_region | Region}}} {{{project_0.startup_script.third_region | Region}}} taw-custom-network 10.1.0.0/16 subnet-{{{project_0.startup_script.secondary_region | Region}}} {{{project_0.startup_script.secondary_region | Region}}} taw-custom-network 10.2.0.0/16 subnet-{{{project_0.startup_script.primary_region | Region}}} {{{project_0.startup_script.primary_region | Region}}} taw-custom-network 10.0.0.0/16

Nesse ponto, a rede tem rotas para a Internet e para as instâncias que você criar. Mas ela não tem regras de firewall que permitam acesso a instâncias, mesmo de outras instâncias. Para permitir o acesso, é preciso criar regras de firewall.

Tarefa 5. Adicionar regras de firewall

Para permitir o acesso a instâncias de VM, você precisa aplicar regras de firewall. Usaremos uma tag da instância para aplicar a regra de firewall às suas instâncias de VM. A regra de firewall será aplicada a qualquer VM que use a mesma tag da instância.

Observação: as tags da instância são usadas por redes e firewalls para aplicar certas regras a instâncias de VM com tag. Por exemplo, quando houver várias instâncias que executam a mesma tarefa, como a disponibilização de um site de grandes proporções, use uma tag com uma palavra ou termo compartilhado nessas instâncias. Depois, use essa tag para conceder acesso HTTP às instâncias em questão com uma regra de firewall.

Como as tags também são refletidas no servidor de metadados, você pode usá-las nos aplicativos em execução nas suas instâncias.
  • Comece abrindo o firewall para permitir solicitações HTTP na Internet e, em seguida, adicione mais regras de firewall. As regras de firewall podem ser adicionadas com o Console ou o Cloud Shell.

Adicione regras de firewall por meio do console

  1. No console, navegue até rede VPC com o menu e clique na rede taw-custom-networking:

taw-custom-networking destacada na página de redes VPC

  1. Clique na guia Firewalls e em Adicionar regra de firewall.

Guia &quot;Regras de firewall&quot; e o botão &quot;Adicionar regra de firewall&quot; destacados na página de detalhes da rede VPC

  1. Digite as seguintes informações:

Campo

Valor

Comentários

Name

nw101-allow-http

É o nome da nova regra.

Targets

Tags de destino especificadas

Quais instâncias às quais a regra de firewall se aplica.

Target tags

http

A tag que criamos

Filtro de origem

Intervalos IPv4

Abriremos o firewall para qualquer endereço IP da Internet.

Intervalos IPv4 de origem

0.0.0.0/0

Você abrirá o firewall para qualquer endereço IP da Internet.

Protocolos e portas

Selecione Protocolos e portas especificados. Em seguida, verifique a caixa tcp e digite 80.

Somente HTTP

A tela ficará assim:

Caixa de diálogo &quot;Criar um regra de firewall&quot; preenchida

  1. Clique em Criar e aguarde o comando ser executado. Em seguida, você criará as regras adicionais de firewall necessárias.

Adicione regras de firewall usando o Cloud Shell

Observação: se você tiver acabado de criar uma rede usando o console, não realize o mesmo exercício usando o Cloud Shell. Repita o laboratório para praticar o uso da linha de comando gcloud.
  • Execute o código a seguir para criar regras de firewall no Cloud Shell:
gcloud compute firewall-rules create nw101-allow-http \ --allow tcp:80 --network taw-custom-network --source-ranges 0.0.0.0/0 \ --target-tags http

Saída:

Saída em que o nome é nw101-allow-http, a rede é taw-custom-network, a direção é ingress, o nível de prioridade é 1000 e o status de permissão é tcp:80

Crie regras extras de firewall

Essas regras de firewall extras vão permitir ICMP, comunicação interna, SSH e RDP. É possível criá-las usando o console (ou o Cloud Shell). Lembre-se de usar um dos métodos para cada tipo de regra de firewall, não é possível usar os dois.

  • ICMP

Campo

Valor

Comentários

Name

nw101-allow-icmp

É o nome da nova regra.

Targets

Tags de destino especificadas

Selecione as opções na lista suspensa "Targets".

Target tags

regras

tag

Filtro de origem

Intervalos IPv4

Vamos abrir o firewall para qualquer endereço IP nesta lista.

Intervalos IPv4 de origem

0.0.0.0/0

Abriremos o firewall para qualquer endereço IP da Internet.

Protocolos e portas

Selecione Protocolos e portas especificados, Outros protocolos e, em seguida, digite icmp.

Indica as portas e os protocolos em que o firewall é aplicado.

(Comandos do Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-icmp" --allow icmp --network "taw-custom-network" --target-tags rules
  • Comunicação interna

Campo

Valor

Comentários

Name

nw101-allow-internal

É o nome da nova regra.

Targets

Todas as instâncias na rede

Selecione as opções na lista suspensa "Targets".

Filtro de origem

Intervalos IPv4

É o filtro usado para aplicar a regra a origens de tráfego específicas.

Intervalos IPv4 de origem

10.0.0.0/16,

10.1.0.0/16,

10.2.0.0/16

Abriremos o firewall para qualquer endereço IP da Internet.

Protocolos e portas

Selecione Protocolos e portas especificados, tcp e digite 0-65535. Marque udp e digite 0-65535. Marque Outros protocolos e digite icmp.

Permite Tcp:0-65535, udp:0-65535,icmp.

(Comandos do Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-internal" --allow tcp:0-65535,udp:0-65535,icmp --network "taw-custom-network" --source-ranges "10.0.0.0/16","10.2.0.0/16","10.1.0.0/16"
  • SSH

Campo

Valor

Comentários

Name

nw101-allow-ssh

É o nome da nova regra.

Targets

Tags de destino especificadas

ssh

Target tags

ssh

Indica as instâncias em que a regra de firewall é aplicada.

Filtro de origem

Intervalos IPv4

É o filtro usado para aplicar a regra a origens de tráfego específicas.

Intervalos IPv4 de origem

0.0.0.0/0

Abriremos o firewall para qualquer endereço IP da Internet.

Protocolos e portas

Selecione Protocolos e portas especificados, marque a caixa tcpe, em seguida, digite 22.

Permite tcp:22.

(Comandos do Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-ssh" --allow tcp:22 --network "taw-custom-network" --target-tags "ssh"
  • RDP

Campo

Valor

Comentários

Name

nw101-allow-rdp

É o nome da nova regra.

Targets

Todas as instâncias na rede

Selecione as opções na lista suspensa "Targets".

Filtro de origem

Intervalos IPv4

É o filtro dos endereços IP.

Intervalos IPv4 de origem

0.0.0.0/0

Abriremos o firewall para qualquer endereço IP da Internet.

Protocolos e portas

Selecione Protocolos e portas especificados, marque o tcp e, em seguida, digite 3389.

Permite Tcp:3389

(Comandos do Cloud Shell)

gcloud compute firewall-rules create "nw101-allow-rdp" --allow tcp:3389 --network "taw-custom-network"
  • Use o console para analisar as regras de firewall na sua rede. Ele será parecido com o seguinte:

Página com a guia &quot;Regras de firewall&quot; na caixa de diálogo de detalhes da rede VPC

Observação: e essas rotas que aparecem no console de rede?

A rede do Google Cloud usa rotas para direcionar pacotes entre sub-redes e para a Internet. Sempre que uma sub-rede é criada (ou pré-criada) na sua rede, as rotas são criadas automaticamente em cada região para permitir que os pacotes sejam roteados entre as sub-redes. Elas não podem ser modificadas.

Rotas adicionais podem ser criadas para enviar tráfego para uma instância, um gateway de VPN ou gateway de Internet padrão. Essas rotas podem ser modificadas para adaptar a arquitetura de rede desejada. As rotas e os firewalls trabalham juntos para garantir que o tráfego chegue aos locais necessários.

Clique em Verificar meu progresso para conferir o objetivo.

Crie uma rede personalizada, sub-redes e regras de firewall.

Tarefa 6. Conectar-se às VMs do laboratório e verificar a latência

  • Clique em redes VPC no menu da esquerda para ver toda a rede. A taw-custom-network tem três sub-redes e as regras de firewall aplicadas.

Você vai observar isto:

Página da rede VPC mostrando uma lista de redes e as respectivas sub-redes, modo, intervalos de endereços IP, gateways, regras de firewall e status do roteamento dinâmico global

Siga as próximas etapas para criar uma VM em cada sub-rede e verificar se é possível se conectar a elas.

Crie uma VM em cada zona

Para esta seção do laboratório, você vai trabalhar no Cloud Shell.

  1. Execute estes comandos para criar uma instância chamada us-test-01na sub-rede subnet-:
gcloud compute instances create us-test-01 \ --subnet subnet-{{{project_0.startup_script.primary_region | Region}}} \ --zone {{{project_0.startup_script.primary_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules

Anote o IP externo para uso posterior neste laboratório.

Saída:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/zones/{{{project_0.startup_script.primary_zone | ZONE}}}/instances/us-test-01]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS us-test-01 {{{project_0.startup_script.primary_zone | ZONE}}} e2-standard-2 10.0.0.2 104.198.230.22 RUNNING
  1. Agora, faça as VMs us-test-02 e us-test-03 nas sub-redes correlacionadas:
gcloud compute instances create us-test-02 \ --subnet subnet-{{{project_0.startup_script.secondary_region | REGION}}} \ --zone {{{project_0.startup_script.secondary_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules gcloud compute instances create us-test-03 \ --subnet subnet-{{{project_0.startup_script.third_region | REGION}}} \ --zone {{{project_0.startup_script.third_zone | ZONE}}} \ --machine-type e2-standard-2 \ --tags ssh,http,rules

Clique em Verificar meu progresso para conferir o objetivo.

Crie três instâncias em zonas especificadas para Traceroute e testes de desempenho.

Verifique se você pode se conectar à VM

Agora realize alguns exercícios para testar a conexão com as VMs.

  1. Volte para o console e navegue até o Compute Engine.

  2. Clique no botão SSH correspondente à instância us-test-01. Isso abre uma conexão SSH com a instância em uma nova janela.

  3. Na janela SSH de us-test-01, digite os seguintes comandos para usar um eco do ICMP em us-test-02, adicionando o endereço IP externo para cada VM em linha:

ping -c 3 <us-test-02-external-ip-address> Observação: localize o IP externo das suas máquinas virtuais na guia do navegador do Compute Engine no campo IP externo.

Coluna &quot;IP externo&quot; destacada mostrando três endereços IP

Seu endereço IP será diferente da imagem.
  1. Execute este comando para usar um eco do ICMP em us-test-03, adicionando o endereço IP da VM em linha:
ping -c 3 <us-test-03-external-ip-address>

Exemplo de saída:

PING 35.187.149.67 (35.187.149.67) 56(84) bytes of data. 64 bytes from 35.187.149.67: icmp_seq=1 ttl=76 time=152 ms 64 bytes from 35.187.149.67: icmp_seq=2 ttl=76 time=152 ms 64 bytes from 35.187.149.67: icmp_seq=3 ttl=76 time=152 ms
  1. Agora, verifique se o SSH também funciona para as instâncias us-test-02 e us-test-03. Tente um eco do ICMP na us-test-01.

Use o ping para medir a latência

Use o ping para medir a latência entre instâncias entre todas as regiões.

  • Para observar a latência da região central dos EUA até a região da Europa Ocidental, execute o seguinte comando depois de abrir uma janela do SSH em us-test-01:
ping -c 3 us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}

Resposta ao comando:

PING us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2) 56(84) bytes of data. 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=1 ttl=64 time=105 ms 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=2 ttl=64 time=104 ms 64 bytes from us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}}.c.cloud-network-module-101.internal (10.2.0.2): icmp_seq=3 ttl=64 time=104 ms

A latência que você recebe é o tempo de retorno (RTT, na sigla em inglês): o tempo que o pacote leva para ir de us-test-01 para us-test-02.

Para testar a conectividade, o ping usa as mensagens de solicitação e de resposta de eco do ICMP.

Observação: questões a serem consideradas

Qual é a latência percebida entre as regiões? O que você esperaria em condições ideais? O que há de especial na conexão entre us-test-02 e us-test-03?
Observação: DNS interno: como o DNS é fornecido para instâncias de VM?

Cada instância tem um servidor de metadados que também atua como resolvedor de DNS. As buscas DNS são feitas com os nomes das instâncias. O servidor de metadados armazena todas as informações de DNS relacionadas à rede local e consulta os endereços fora da rede local nos servidores DNS públicos do Google.

Um nome de domínio totalmente qualificado interno (FQDN, na sigla em inglês) de uma instância é semelhante a este: hostName.[ZONE].c.[PROJECT_ID].internal.

Você sempre pode se conectar de uma instância a outra usando esse FQDN. Se você quiser se conectar a uma instância usando apenas hostName, vai precisar de informações do resolvedor de DNS interno que é fornecido como parte do Compute Engine.

Tarefa 7. Traceroute e testes de desempenho

Exercício opcional

O traceroute é uma ferramenta que rastreia o caminho entre dois hosts. Ele pode ser útil para começar a descobrir vários tipos de problemas de rede. Os engenheiros de suporte ou de rede costumam pedir um traceroute ao diagnosticar problemas de rede.

Observação: funcionalidade

O traceroute mostra todos os saltos da camada 3 (de roteamento) entre os hosts. Isso é conseguido através do envio de pacotes para o destino remoto com o aumento do valor de time to live (TTL) (começando em 1). O campo TTL é um campo no pacote IP que é reduzido em um em cada roteador. Quando o TTL atinge zero, o pacote é descartado e uma mensagem do ICMP de "TTL excedido" é retornada ao remetente. Essa abordagem é usada para evitar repetições de roteamento. Os pacotes não podem sofrer repetições contínuas porque o campo TTL diminuirá para 0. Por padrão, o SO define o valor do TTL como um valor alto (64, 128, 255 ou similar). Portanto, ele será alcançado apenas em situações anormais.

Portanto, o traceroute envia pacotes primeiro com o valor de TTL 1, depois 2 e assim por diante, para que eles expirem em cada roteador do caminho. Em seguida, ele recebe o IP/host de origem da mensagem retornada de TTL excedido do ICMP para mostrar o nome/IP do salto intermediário. Quando o TTL estiver alto o suficiente, o pacote chegará ao destino e o destino responderá.

O tipo de pacote enviado varia de acordo com a implementação. No Linux, os pacotes UDP são enviados para uma porta alta e não utilizada. Assim, o destino final responde com uma mensagem de porta ICMP inacessível. Por padrão, o Windows e a ferramenta mtr usam as solicitações de eco do ICMP (como o ping), e os destinos finais enviam uma resposta de eco do ICMP.

Agora, tente configurar um traceroute em uma das máquinas virtuais.

  1. Para esta etapa, volte a usar a VM us-test-01 e a VM us-test-02 e o SSH em ambas.

  2. Instale estas ferramentas de desempenho na janela do SSH para us-test-01:

sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege traceroute www.icann.org
  1. Agora tente alguns outros destinos e também de outras fontes:

    • VMs na mesma região ou em outra região (eu1-vm, asia1-vm, w2-vm)
    • www.wikipedia.org
    • www.adcash.com
    • bad.horse (funciona melhor se você aumentar o TTL máximo, então traceroute -m 255 bad.horse)
    • qualquer outra opção em que você possa pensar
  2. Para interromper o traceroute, pressione Ctrl-c na janela do SSH e retorne para a linha de comando.

Observação: questões a serem consideradas

O que você observou nos diferentes traceroutes?

Tarefa 8. Usar o iperf para testar o desempenho

Entre dois hosts

Exercício opcional

Quando você usa o iperf para testar o desempenho entre dois hosts, um lado precisa ser configurado como o servidor iperf para aceitar conexões.

Observação: os comandos a seguir transferem gigabytes de tráfego entre as regiões, o que é cobrado nas taxas de saída da Internet. Esteja ciente disso ao usá-los. Se você não estiver em um projeto na lista de permissões, ou no teste, pode pular ou apenas dar uma olhada nesta seção. Os custos precisam ser inferiores a US$ 1.

Faça um teste bem simples:

  1. Use SSH para se conectar à us-test-02 e instale as ferramentas de desempenho:
sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege
  1. Use SSH para se conectar à us-test-01 e execute:
iperf -s #run in server mode
  1. Na conexão SSH à us-test-02 executa este iperf:
iperf -c us-test-01.{{{project_0.startup_script.primary_zone | ZONE}}} #run in client mode

Você vai observar este tipo de saída:

Client connecting to eu-vm, TCP port 5001 TCP window size: 45.0 KByte (default) [ 3] local 10.20.0.2 port 35923 connected with 10.30.0.2 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 298 MBytes 249 Mbits/sec
  1. Em us-test-01, use Ctrl+c para interromper a sessão no lado do servidor quando terminar.

Entre VMs dentro de uma região

Exercício opcional

Agora, você vai implantar outra instância (us-test-04) em uma zona diferente de us-test-01. Você vai observar que a largura de banda dentro de uma região têm o limite de saída de 2 Gbit/s por núcleo.

  1. No Cloud Shell, crie us-test-04:
gcloud compute instances create us-test-04 \ --subnet subnet-{{{project_0.startup_script.primary_region | REGION}}} \ --zone {{{project_0.startup_script.primary_zone_1 | ZONE}}} \ --tags ssh,http
  1. Use SSH para se conectar à us-test-04 e instale as ferramentas de desempenho:
sudo apt-get update sudo apt-get -y install traceroute mtr tcpdump iperf whois host dnsutils siege

Você alcança limites muito mais baixos entre as regiões, principalmente devido aos limites no tamanho da janela do TCP e no desempenho do stream único. É possível aumentar a largura de banda entre hosts usando outros parâmetros, como o UDP.

  1. Na janela do SSH para us-test-02execute:
iperf -s -u #iperf server side
  1. Na janela do SSH para us-test-01 execute:
iperf -c us-test-02.{{{project_0.startup_script.secondary_zone | ZONE}}} -u -b 2G #iperf client side - send 2 Gbits/s

Isso vai aumentar a velocidade entre a UE e os EUA. Velocidades ainda mais altas podem ser alcançadas executando-se um grupo de iperfs do TCP em paralelo. Vamos fazer um teste.

  1. Na janela do SSH para us-test-01, execute:
iperf -s
  1. Na janela do SSH para us-test-02, execute:
iperf -c us-test-01.{{{project_0.startup_script.primary_zone | ZONE}}} -P 20

A largura de banda combinada precisa estar muito próxima da largura máxima alcançável.

  1. Teste mais algumas combinações. Se você usa Linux no seu laptop, pode testar nele também. Você também pode testar o iperf3, que está disponível para muitos SOs, mas isso não faz parte do laboratório.

Como você observa, para atingir a largura de banda máxima, a execução de apenas um stream do TCP (por exemplo, cópia de arquivo) não é suficiente. É preciso ter várias sessões do TCP em paralelo. Os motivos são: parâmetros do TCP como Window Size e funções como Slow Start.

Para mais informações sobre isso e todos os outros assuntos de TCP/IP, consulte Explicações sobre TCP/IP.

As ferramentas, como o bbcp, podem ajudar você a copiar arquivos o mais rápido possível carregando as transferências em paralelo e usando o tamanho de janela configurável.

Tarefa 9. Testar seus conhecimentos

Finalize o laboratório

Após concluir o laboratório, clique em Terminar o laboratório. Sua conta e os recursos que você utilizou serão removidos da plataforma do laboratório.

Você poderá classificar sua experiência neste laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Comece o próximo laboratório

Continue aprendendo sobre redes no Cloud com Várias redes VPC ou confira estas sugestões:

Quando puder, experimente a Quest Networking in the Google Cloud.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 11 de setembro de 2023

Laboratório testado em 11 de setembro de 2023

Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.