Visão geral
Neste laboratório, você vai implementar o Acesso Privado do Google e o Cloud NAT em uma instância de VM que não tem um endereço IP externo. Depois você vai confirmar o acesso aos endereços IP públicos de APIs e serviços do Google, além de outras conexões com a Internet.
As instâncias de VM sem endereços IP externos são isoladas das redes externas. Usando o Cloud NAT, essas instâncias podem acessar a Internet para atualizações, patches e até inicialização, em alguns casos. Como um serviço gerenciado, o Cloud NAT oferece alta disponibilidade sem a necessidade de intervenção nem de gerenciamento de usuários.
Objetivos
Neste laboratório, você vai aprender o seguinte:
- Configurar uma instância de VM sem um endereço IP externo
- Conectar-se a uma instância de VM usando um túnel do Identity-Aware Proxy (IAP)
- Ativar o Acesso Privado do Google em uma sub-rede
- Configurar um gateway do Cloud NAT
- Confirmar o acesso aos endereços IP públicos de APIs e serviços do Google e a outras conexões com a Internet
Configuração e requisitos
Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período sem custo financeiro.
-
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ê vai encontrar o seguinte:
- O botão Abrir console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer login em outra guia.
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.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Nome de usuário"}}}
Você também encontra o Nome de usuário no painel Detalhes do laboratório.
-
Clique em Seguinte.
-
Copie a Senha abaixo e cole na caixa de diálogo de boas-vindas.
{{{user_0.password | "Senha"}}}
Você também encontra a Senha no painel Detalhes do laboratório.
-
Clique em Seguinte.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
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 Google Cloud será aberto nesta guia.
Observação: para acessar uma lista de produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo ou digite o nome do serviço ou produto no campo Pesquisar.
Tarefa 1: criar a instância de VM
Crie uma rede VPC com algumas regras de firewall e uma instância de VM que não tenha um endereço IP externo e depois se conecte à instância usando um túnel do IAP.
Criar uma rede VPC e regras de firewall
Primeiro crie uma rede VPC para a instância de VM e uma regra de firewall que permita acesso SSH.
-
No console do Google Cloud, acesse o menu de navegação (
) e clique em Rede VPC > Redes VPC.
-
Selecione Criar rede VPC.
-
Em Nome, digite privatenet.
-
Em Modo de criação da sub-rede, clique em Personalizado.
-
Em Nova sub-rede, não mude as configurações restantes e especifique os valores a seguir:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Nome |
privatenet-us |
| Região |
|
| Intervalo IPv4 |
10.130.0.0/20 |
Observação: não ative o Acesso Privado do Google ainda.
-
Clique em Concluído.
-
Clique em Criar e aguarde a criação da rede.
-
No painel esquerdo, clique em Firewall.
-
Clique em Criar regra de firewall.
-
Especifique o seguinte e não mude as outras configurações:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Nome |
privatenet-allow-ssh |
| Rede |
privatenet |
| Destinos |
Todas as instâncias na rede |
| Filtro de origem |
Intervalos IPv4 |
| Intervalos IPv4 de origem |
35.235.240.0/20 |
| Portas e protocolos |
Portas e protocolos especificados |
-
Em TCP, clique na caixa de seleção e especifique a porta 22.
-
Selecione Criar.
Observação: para se conectar à instância privada usando SSH, abra a porta adequada no firewall. As conexões do IAP são parte de um conjunto específico de endereços IP (35.235.240.0/20). Portanto, é possível limitar a regra a esse intervalo CIDR.
Criar a instância de VM sem um endereço IP público
-
No console do Google Cloud, acesse o menu de navegação (
) e clique em Compute Engine > Instâncias de VM.
-
Selecione Criar instância.
-
Na página Configuração da máquina, especifique as informações a seguir e mantenha as outras configurações no padrão:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Nome |
vm-internal |
| Região |
|
| Zona |
|
| Série |
E2 |
| Tipo de máquina |
e2-standard-2 (2 vCPUs, 1 núcleo, 8 GB de memória) |
-
Clique em SO e armazenamento.
-
Se a Imagem mostrada não for Debian GNU/Linux 12 (bookworm), clique em Alterar, selecione Debian GNU/Linux 12 (bookworm) e clique em Selecionar.
-
Clique em Rede.
-
Em Interfaces de rede, edite a interface de rede especificando o seguinte:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Rede |
privatenet |
| Sub-rede |
privatenet-us |
| Endereço IPv4 externo |
Nenhum |
Observação: a instância de VM tem como padrão um endereço IP externo temporário. É possível alterar essa configuração com uma restrição de política no âmbito da organização ou do projeto. Para saber mais sobre como controlar endereços IP externos em instâncias de VM, confira a
documentação sobre endereços IP externos.
- Clique em Concluído.
- Clique em Criar e aguarde a criação da instância de VM.
- Na página Instâncias de VM, verifique se o IP externo de vm-internal está definido como Nenhum.
Clique em Verificar meu progresso para conferir o objetivo.
Criar a instância de VM
Acessar vm_internal via SSH para testar o túnel do IAP
-
No console do Cloud, clique em Ativar o Cloud Shell (
).
-
Se for solicitado, clique em Continuar.
-
Se for preciso autorizar, clique em Autorizar.
-
Execute o seguinte comando no Cloud Shell para configurar a autenticação sem abrir um navegador.
gcloud auth login --no-launch-browser
Se aparecer [Y/n], pressione Y e depois ENTER.
Essa ação vai gerar um link para ser aberto no navegador. Abra o link no mesmo navegador que você está usando para acessar a conta do qwiklabs. Após o login, você vai receber um código de verificação para copiar. Cole esse código no Cloud Shell.
-
Para se conectar a vm-internal, execute o seguinte comando:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
- Digite Y para continuar, se necessário.
- Quando uma senha longa for solicitada, pressione ENTER.
- Quando for solicitada a mesma senha longa, pressione ENTER.
- Para testar a conectividade externa de vm-internal, execute o seguinte comando:
ping -c 2 www.google.com
Essa operação não vai funcionar porque vm-internal não tem um endereço IP externo.
- Espere o comando
ping terminar.
- Para voltar à instância do Cloud Shell, execute o seguinte comando:
exit
Observação: as instâncias sem endereços IP externos só podem ser acessadas por outras instâncias na rede usando um gateway VPN gerenciado ou um túnel do Cloud IAP. O Cloud IAP ativa o acesso baseado no contexto para as VMs via SSH e RDP sem Bastion Hosts. Se quiser saber mais, confira o post Cloud IAP ativa o acesso a VMs com base no contexto usando SSH e RDP sem Bastion Hosts (em inglês).
Tarefa 2: ativar o Acesso Privado do Google
As instâncias de VM que não têm endereços IP externos podem usar o Acesso Privado do Google para acessar endereços IP externos de APIs e serviços do Google. Por padrão, o Acesso Privado do Google está desativado em uma rede VPC.
Criar um bucket do Cloud Storage
Crie um bucket do Cloud Storage para testar o acesso a APIs e serviços do Google.
-
No console do Google Cloud, acesse o menu de navegação (
) e clique em Cloud Storage > Buckets.
-
Clique em +Criar.
-
Especifique o seguinte e não mude as outras configurações:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Nome |
Digite um nome globalmente exclusivo |
| Tipo de local |
Multirregional |
-
Selecione Criar. Se precisar ativar a prevenção contra acessos públicos, confira se essa opção está ativada e clique em Confirmar.
Anote o nome do bucket de armazenamento.
-
Armazene o nome do seu bucket em uma variável de ambiente:
export MY_BUCKET=[enter your bucket name here]
- Verifique usando o comando "echo":
echo $MY_BUCKET
Copiar um arquivo de imagem para o bucket
Copie uma imagem de um bucket público do Cloud Storage para seu próprio bucket.
- No Cloud Shell, execute este comando:
gcloud storage cp gs://cloud-training/gcpnet/private/access.svg gs://$MY_BUCKET
- No console do Cloud, clique no nome do bucket para verificar se a imagem foi copiada.
É possível clicar no nome da imagem no console do Cloud para ver um exemplo de implementação do Acesso Privado do Google.
Acessar a imagem na sua instância de VM
- No Cloud Shell, execute o comando a seguir para copiar a imagem do bucket:
gcloud storage cp gs://$MY_BUCKET/*.svg .
Essa operação vai funcionar porque o Cloud Shell tem um endereço IP externo.
- Para se conectar a vm-internal, execute o seguinte comando:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
-
Se for solicitado, digite Y para continuar.
-
Armazene o nome do seu bucket em uma variável de ambiente:
export MY_BUCKET=[enter your bucket name here]
- Verifique usando o comando "echo":
echo $MY_BUCKET
- Tente copiar a imagem para vm-internal com o comando a seguir:
gcloud storage cp gs://$MY_BUCKET/*.svg .
Essa operação não vai funcionar porque vm-internal só pode enviar tráfego dentro da rede VPC. Isso acontece porque o Acesso Privado do Google está desativado (por padrão).
- Pressione Ctrl+C para interromper a solicitação.
Ativar o Acesso Privado do Google
O Acesso Privado do Google é ativado no âmbito da sub-rede. Depois disso, as instâncias na sub-rede que tiverem apenas endereços IP privados poderão enviar tráfego para APIs e serviços do Google pela rota padrão (0.0.0.0/0) com um próximo salto para o gateway de Internet padrão.
- No console do Cloud, acesse o menu de navegação (
) e clique em Rede VPC > Redes VPC.
- Clique em privatenet para abrir a rede.
- Clique em Sub-redes e em privatenet-us.
- Clique em Editar.
- Em Acesso Privado do Google, selecione Ativado.
- Clique em Salvar.
Clique em Verificar meu progresso para conferir o objetivo.
Criar um bucket do Cloud Storage e ative o Acesso Privado do Google
Observação para ativar o Acesso Privado do Google, selecione Ativado na sub-rede.
- Execute este comando no Cloud Shell de vm-internal e tente copiar a imagem para vm-internal.
gcloud storage cp gs://$MY_BUCKET/*.svg .
Essa operação vai funcionar porque o Acesso Privado do Google está ativado para a sub-rede de vm-internal.
- Para voltar à instância do Cloud Shell, execute o seguinte comando:
exit
Observação: para conferir as APIs e serviços que você pode usar com o Acesso Privado do Google, acesse
Guia de opções de acesso particular para serviços.
Tarefa 3: configurar um gateway do Cloud NAT
Agora vm-internal pode acessar determinados serviços e APIs do Google sem um endereço IP externo, mas a instância ainda não pode acessar a Internet para receber atualizações e patches. Configure um gateway do Cloud NAT para permitir que vm-internal acesse a Internet.
Tentar atualizar as instâncias de VM
- No Cloud Shell, execute o seguinte comando para sincronizar novamente o índice de pacotes:
sudo apt-get update
O resultado deve ser parecido com este (exemplo de resposta):
...
Reading package lists... Done
Essa operação vai funcionar porque o Cloud Shell tem um endereço IP externo.
- Para se conectar a vm-internal, execute o seguinte comando:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
- Se for solicitado, digite Y para continuar.
- Execute o seguinte comando para sincronizar novamente o índice de pacotes de vm-internal:
sudo apt-get update
Essa operação vai funcionar apenas para pacotes do Google Cloud porque vm-internal só tem acesso a APIs e serviços do Google.
- Pressione Ctrl+C para interromper a solicitação.
Configurar um gateway do Cloud NAT
O Cloud NAT é um recurso regional. Ele pode ser configurado para permitir o tráfego de todos os intervalos de sub-redes de uma região, de determinadas sub-redes ou de intervalos de CIDR primários e secundários específicos.
-
Na barra de título do console do Google Cloud, digite Serviços de rede no campo de pesquisa e clique em Serviços de rede na seção Produtos e página.
-
Em Serviço de rede, clique em Fixar ao lado desse item.
-
Clique em Cloud NAT.
-
Selecione Comece agora para configurar um gateway do NAT.
-
Especifique o seguinte:
| Propriedade |
Valor (digite o valor ou selecione a opção conforme especificado) |
| Nome do gateway |
nat-config |
| Rede |
privatenet |
| Região |
|
-
Em Cloud Router, selecione Criar novo roteador.
-
Em Nome, digite nat-router.
-
Selecione Criar.
Observação: na seção "Mapeamento NAT", é possível escolher as sub-redes que serão associadas ao gateway NAT. Também é possível atribuir manualmente os endereços IP estáticos que serão usados na operação NAT. Não altere a configuração de mapeamento NAT neste laboratório.
- Selecione Criar.
- Espere o status do gateway mudar para Em execução.
Clique em Verificar meu progresso para conferir o objetivo.
Configurar um gateway do Cloud NAT
Verificar o gateway do Cloud NAT
Pode levar até três minutos para a configuração NAT ser propagada na VM. Espere pelo menos um minuto antes de tentar acessar a Internet novamente.
- No Cloud Shell de vm-internal, execute o comando abaixo para tentar sincronizar novamente o índice de pacotes de vm-internal:
sudo apt-get update
O resultado deve ser parecido com este (exemplo de resposta):
...
Reading package lists... Done
Essa operação vai funcionar porque vm-internal está usando o gateway do NAT.
- Para voltar à instância do Cloud Shell, execute o seguinte comando:
exit
Observação: o gateway do Cloud NAT implementa apenas NAT de saída, não de entrada. Isso quer dizer que os hosts fora da rede VPC respondem a conexões iniciadas pelas instâncias, mas não estabelecem novas conexões com elas usando NAT.
Tarefa 4: configurar e visualizar registros com a geração de registros do Cloud NAT
A geração de registros do Cloud NAT permite registrar erros e conexões NAT. Quando esse recurso está ativado, uma entrada de registro pode ser gerada para cada um dos seguintes cenários:
- Quando uma conexão de rede que usa NAT é criada.
- Quando um pacote é descartado porque nenhuma porta estava disponível para NAT.
É possível registrar os dois tipos de eventos ou apenas um deles. Os registros criados são enviados para o Cloud Logging.
Como ativar a geração de registros
Se a geração de registros estiver ativada, todos os registros coletados serão enviados ao Cloud Logging por padrão. É possível filtrá-los para que somente determinados registros sejam enviados.
Você também pode especificar esses valores ao criar ou editar um gateway do NAT. As instruções a seguir mostram como ativar a geração de registros para um gateway do NAT.
-
No console do Google Cloud, acesse o menu de navegação (
) e clique em Serviços de rede > Cloud NAT.
-
Selecione o gateway nat-config e depois Editar.
-
Clique no menu suspenso Configurações avançadas para abrir essa seção.
-
Em Logging, selecione Tradução e erros e clique em Salvar.
Geração de registros do NAT no Cloud Logging
Agora que você configurou a geração de registros do Cloud NAT para o gateway nat-config, veja onde encontrar os registros.
-
Clique em nat-config para ver os detalhes. Em seguida, clique em Ver na Análise de registros.
-
Uma nova guia da Análise de registros será aberta.
Como esse recurso acabou de ser ativado para o gateway, ainda não há registros.
Observação: mantenha esta guia aberta e retorne para a outra guia do console do Google Cloud.
Como gerar registros
Não se esqueça de que os registros do Cloud NAT são gerados para as seguintes sequências:
- Quando uma conexão de rede que usa NAT é criada.
- Quando um pacote é descartado porque nenhuma porta estava disponível para NAT.
Agora conecte o host novamente à VM interna para ver se algum registro é gerado.
- No Cloud Shell de vm-internal, execute o comando abaixo para tentar sincronizar novamente o índice de pacotes de vm-internal:
gcloud compute ssh vm-internal --zone {{{project_0.default_zone|ZONE}}} --tunnel-through-iap
- Se for solicitado, digite Y para continuar.
- Execute o seguinte comando para sincronizar novamente o índice de pacotes de vm-internal:
sudo apt-get update
O resultado deve ser parecido com este (exemplo de resposta):
...
Reading package lists... Done
- Para voltar à instância do Cloud Shell, execute o seguinte comando:
exit
Agora veja se a conexão revelou algo novo nos registros.
Como visualizar os registros
- Retorne à guia da Análise de registros e, no menu de navegação, clique em Análise de registros.
Dois novos registros gerados vão aparecer após a conexão com a VM interna.
Observação: talvez seja necessário aguardar alguns minutos. Se ainda assim os registros não aparecerem, repita as etapas 1 a 4 da seção Como gerar registros e depois atualize a página de geração de registros.
Os registros incluem detalhes sobre a rede VPC conectada e o método usado para isso. Se quiser, expanda os rótulos e os detalhes para ver as informações.
Tarefa 5: revisão
Você criou a instância vm-internal sem um endereço IP externo e se conectou a ela de modo seguro usando um túnel do IAP. Depois você ativou o Acesso Privado do Google, configurou um gateway do NAT e confirmou que vm-internal pode acessar APIs e serviços do Google, além de outros endereços IP públicos.
As instâncias de VM sem endereços IP externos são isoladas das redes externas. Usando o Cloud NAT, essas instâncias podem acessar a Internet para atualizações, patches e até inicialização, em alguns casos. Como um serviço gerenciado, o Cloud NAT oferece alta disponibilidade sem a necessidade de intervenção nem de gerenciamento de usuários.
O IAP usa os papéis e permissões atuais do projeto quando você se conecta às instâncias de VM. Por padrão, os proprietários da instância são os únicos que têm o papel Usuário do túnel protegido pelo IAP.
Para saber como permitir que outros usuários acessem suas VMs usando o encapsulamento do IAP, confira o Guia sobre como conceder acesso a mais usuários no Centro de arquitetura do Cloud.
Finalize o laboratório
Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.
Você vai poder avaliar sua experiência no 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.
Copyright 2020 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.