Usar rotas
Veja nesta página como criar e gerenciar rotas para redes de nuvem privada virtual (VPC) no Google Cloud. Nesta página, presumimos que você conhece os diferentes tipos de rotas do Google Cloud e as características delas, conforme descrito em Rotas.
Cada nova rede tem dois tipos de rotas geradas pelo sistema: uma rota padrão, que pode ser removida ou substituída, e uma rota de sub-rede para cada uma das respectivas sub-redes. Não é possível remover uma rota de sub-rede, a menos que você exclua a sub-rede correspondente.
Além das rotas geradas pelo sistema, é possível criar outras rotas estáticas personalizadas.
Listar rotas para uma rede VPC
Use a Google Cloud CLI ou a API para listar e visualizar detalhes sobre os seguintes tipos de rotas:
Nem os comandos da CLI gcloud nem os métodos de API mostram os seguintes tipos de rotas:
Para ver a rota completa, use o console do Google Cloud. Para listar e descrever rotas com base em políticas, consulte Usar rotas com base em políticas.
Console
No Console do Google Cloud, acesse a página Rotas.
Na guia Rotas efetivas, faça o seguinte:
- Escolha uma rede VPC.
- Escolha uma região.
Clique em Visualizar.
É possível filtrar por propriedades como o tipo de rota, o intervalo de IP de destino e o tipo do próximo salto.
Opcional: ative a opção Mostrar rotas suprimidas para exibir rotas suprimidas. Para visualizar o motivo pelo qual uma rota for suprimida, confira o ícone na coluna Status.
gcloud
Para listar e visualizar detalhes das rotas, use os comandos gcloud compute
routes
. Rotas de sub-rede e
rotas estáticas da rede VPC local e todas as
redes VPC com peering são exibidas. Outros tipos de trajeto não são
exibidos. Para conferir todas as rotas, use o console do Google Cloud.
Para listar rotas, faça o seguinte:
gcloud compute routes list \ --filter="network=NETWORK_NAME" \ --project=PROJECT_ID
Para ver detalhes de uma rota, faça o seguinte:
gcloud compute routes describe ROUTE_NAME \ --format="flattened()" \ --project=PROJECT_ID
Substitua:
NETWORK_NAME
: o nome da rede VPC.PROJECT_ID
: o ID do projeto que contém sua rede VPC.ROUTE_NAME
: o nome da rota.
API
Para listar e visualizar detalhes das rotas, use os métodos routes.list e routes.get. Rotas de sub-rede e rotas estáticas da rede VPC local e todas as redes VPC com peering são exibidas. Outros tipos de trajeto não são exibidos. Para conferir todas as rotas, use o console do Google Cloud.
Para listar rotas, faça o seguinte:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes?filter=network="NETWORK_URL
Para ver detalhes de uma rota, faça o seguinte:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Substitua:
PROJECT_ID
: o ID do projeto que contém sua rede VPC.NETWORK_URL
: o URL da rede VPC.ROUTE_NAME
: o nome da rota.
Listar rotas aplicáveis à interface de rede de uma VM
É possível usar o Console do Google Cloud para ver rotas aplicáveis para a interface de rede de uma VM. Essa visualização restringe a lista de rotas que podem ser usadas para o tráfego de saída.
Para ver as rotas aplicáveis para uma interface de rede específica de uma VM, siga estas etapas.
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Localize uma instância de VM na lista. No menu
Mais ações no final da linha, selecione Ver detalhes da rede.Se uma instância tiver várias interfaces de rede, na seção Detalhes da interface de rede, selecione a interface de rede que você quer ver.
Na seção Detalhes de firewall e rotas, clique na guia Rotas para ver todas as rotas que se aplicam à interface de rede, classificadas por nome de rota.
Adicionar e remover rotas estáticas
É possível adicionar ou remover rotas estáticas e com base em políticas locais para sua rede VPC. Nesta seção, descrevemos como adicionar e excluir rotas estáticas locais. Para mais informações sobre como adicionar e remover rotas com base em políticas, consulte Usar rotas com base em políticas.
As rotas de sub-rede são adicionadas e excluídas automaticamente quando você adiciona ou exclui uma sub-rede. Para mais informações sobre como adicionar e remover sub-redes, consulte Trabalhar com sub-redes.
Todas as rotas em uma rede VPC conectadas por peering de rede VPC precisam ser manipuladas na rede VPC que exporta essas rotas. Para mais informações, consulte Opções de troca de rota.
Antes de adicionar uma rota estática
Antes de adicionar uma rota estática, considere o seguinte:
- Entenda os diferentes tipos de próximos saltos que as rotas estáticas podem usar. Para informações sobre os diferentes tipos de próximos saltos de rota estática, incluindo quais oferecem suporte a destinos IPv6, consulte Próximos saltos e recursos.
- A menos que você use sub-redes híbridas, uma rota estática não pode ter um intervalo de destino que corresponda ou seja mais específico do que o intervalo de destino de uma sub-rede ou rota de sub-rede de peering. Para mais detalhes, consulte Interações com rotas estáticas personalizadas na visão geral de Rotas e Interações de sub-rede e rota estática na documentação do Peering de redes VPC.
- Para evitar conflitos ao usar uma rede de modo automático, não crie rotas estáticas
com destinos que caibam dentro de
10.128.0.0/9
. Revise os intervalos IPv4 do modo automático para saber detalhes. - Destinos para rotas estáticas personalizadas não podem se sobrepor a nenhum intervalo interno alocado.
- Verifique se você tem familiaridade com instâncias como próximos saltos antes de criar uma rota estática personalizada que use uma VM como seu próximo salto. O Google Cloud só confirma que uma VM existe quando você cria a rota, se você escolher uma instância de próximo salto.
- Se você criar uma rota usando uma tag de rede, somente as VMs com essa tag receberão essa rota. No entanto, as VMs com tags ainda recebem todas as rotas sem tag de rede.
Adicionar uma rota estática
Adicione uma rota estática a uma rede. Para mais informações sobre os diferentes tipos de próximos saltos de rota estática, incluindo quais oferecem suporte a destinos IPv6, consulte Próximos saltos e recursos.
Console
No Console do Google Cloud, acesse a página Rotas.
Clique na guia Gerenciamento de rotas.
Clique em Criar rota.
Especifique um nome e uma descrição para a rota.
Na lista Rede, selecione uma rede para a rota.
Na lista Tipo de rota, selecione Rota estática.
Na lista Versão do IP, selecione a versão do IP necessária:
- Para criar uma rota estática IPv4, selecione IPv4.
- Para criar uma rota IPv6 estática, selecione IPv6.
Especifique um intervalo de IP de destino. O maior destino possível é
0.0.0.0/0
para IPv4 ou::/0
para IPv6.Especifique uma prioridade para a rota. A prioridade pode ser de
0
(a prioridade mais alta) a65535
(a menor prioridade).Para tornar a rota aplicável somente para selecionar instâncias com tags de rede correspondentes, especifique-as no campo Tags da instância. Deixe o campo em branco para tornar a rota aplicável a todas as instâncias na rede.
Selecione um próximo salto para a rota:
- Gateway de Internet padrão: entrega pacotes para a Internet e para APIs e serviços do Google.
- Especificar uma instância: entrega pacotes para a interface de rede de uma instância de VM. Especifique a instância de VM por nome e zona. Se o destino da rota for um endereço IPv6, a instância da VM precisará ser pilha dupla.
- Especificar o endereço IP de uma instância: especifique o endereço IP de uma instância atual na rede VPC. Para rotas estáticas IPv6 (pré-lançamento), a instância precisa ser dual-stack. Para conferir restrições importantes para endereços IP de próximo salto válidos, consulte próximos saltos da rota estática.
- Especificar túnel VPN: entrega pacotes para um túnel VPN clássica usando roteamento estático.
- Especificar uma regra de encaminhamento de um balanceador de carga de rede de passagem interna: entrega pacotes a um balanceador de carga de rede de passagem interna que é especificado pelo próprio balanceador nome e região da regra de encaminhamento.
Clique em Criar.
gcloud
Crie uma nova rota estática personalizada com o comando da CLI gcloud a seguir:
gcloud compute routes create ROUTE_NAME \ --network=NETWORK \ --destination-range=DESTINATION_RANGE \ --priority=PRIORITY \ NEXT_HOP_SPECIFICATION
Substitua:
ROUTE_NAME
: o nome da rotaNETWORK
: o nome da rede VPC que contém a rotaDESTINATION_RANGE
: os endereços IPv4 ou IPv6 de destino a que essa rota se aplica. O maior destino possível é0.0.0.0/0
para IPv4 ou::/0
para IPv6.PRIORITY
: a prioridade da rota, que pode ser de0
(a prioridade mais alta) a65535
(a prioridade mais baixa).NEXT_HOP_SPECIFICATION
: o próximo salto da rota estática. Use um dos parâmetros ou uma combinação de parâmetros a seguir:--next-hop-gateway=default-internet-gateway
: entrega pacotes para a Internet e as APIs e os serviços do Google.--next-hop-instance=INSTANCE_NAME
e--next-hop-instance-zone=ZONE
: entregam pacotes para a interface de rede de uma instância de VM. Especifique a instância de VM por nome e zona. Se o destino da rota for um endereço IPv6, a instância da VM precisará ser pilha dupla.--next-hop-address=ADDRESS
: especifique um endereço IP de uma instância atual na rede VPC. Para rotas estáticas IPv6 (pré-lançamento), a instância precisa ser dual-stack. Para conferir restrições importantes para endereços IP de próximo salto válidos, consulte Próximos saltos e recursos.--next-hop-vpn-tunnel=VPN_TUNNEL_NAME
e--next-hop-vpn-tunnel-region=REGION
: enviam pacotes para um túnel da VPN clássica usando roteamento estático.--next-hop-ilb=FORWARDING_RULE
e--next-hop-ilb-region=REGION
: entregam pacotes para um balanceador de carga de rede de passagem interna. Especifique a instância de VM pelo nome da regra de encaminhamento interna (ou endereço IPv4) e pela região.
Para fazer com que a rota estática personalizada se aplique somente a seleções de VMs por tag de rede, adicione a sinalização
--tags
e especifique uma ou mais tags de rede. Para saber mais informações sobre como as tags de rede e as rotas estáticas personalizadas funcionam juntas, consulte Rotas aplicáveis na visão geral de rotas. É possível usar tags com qualquer rota estática personalizada.
Para mais informações sobre a sintaxe da CLI gcloud, consulte a documentação do SDK.
API
Crie uma nova rota estática personalizada.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "name": "ROUTE_NAME", "network": "NETWORK_NAME", "destRange": "DESTINATION_RANGE", "priority": PRIORITY, "NEXT_HOP_SPECIFICATION" }
Substitua:
PROJECT_ID
: o ID do projeto em que sua rota é criada.ROUTE_NAME
: o nome da rotaNETWORK
: o nome da rede VPC que contém a rotaDESTINATION_RANGE
: o intervalo de endereços IPv4 ou IPv6 de destino a que esta rota se aplica. O maior destino possível é0.0.0.0/0
para IPv4 ou::/0
para IPv6.PRIORITY
: a prioridade da rota, que pode ser de0
(a prioridade mais alta) a65535
(a prioridade mais baixa).NEXT_HOP_SPECIFICATION
: o próximo salto da rota estática. Use um dos parâmetros a seguir ou uma combinação deles:nextHopGateway: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/gateways/default-internet-gateway
: entrega pacotes para a Internet e as APIs e os serviços do Google.nextHopInstance: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
: envia pacotes para a interface de rede de uma instância de VM. Especifique a instância da VM por nome e zona. Se o destino da rota for um endereço IPv6, a instância da VM precisará ser pilha dupla.nextHopIp: ADDRESS
: especifique um endereço IP de uma instância atual na rede VPC. Para rotas estáticas IPv6 (pré-lançamento), a instância precisa ser dual-stack. Para restrições importantes de URLs endereços IP do próximo salto, consulte Próximos saltos e .nextHopVpnTunnel: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/vpnTunnels/VPN_TUNNEL_NAME
: envia pacotes a um túnel da VPN clássica usando roteamento estático.nextHopIlb: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/FORWARDING_RULE
: envia pacotes para um balanceador de carga de rede de passagem interna. Especifique a instância de VM pelo nome da regra de encaminhamento interna (ou endereço IPv4) e pela região.
Para fazer com que a rota estática personalizada se aplique somente às VMs selecionadas por tag de rede, adicione o campo tags
e especifique uma ou mais tags de rede. Para saber mais informações sobre como as tags de rede e as rotas estáticas personalizadas funcionam juntas, consulte Rotas aplicáveis na visão geral de rotas. É possível usar tags com qualquer rota estática personalizada.
Para mais informações, consulte o
método routes.insert
.
Terraform
É possível criar uma rota estática usando um módulo Terraform.
Essa rota estática cria uma rota padrão para a Internet.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Go
Java
Python
Adicionar uma rota padrão do IPv4
A rota estática padrão IPv4 (0.0.0.0/0
) com o next-hop-gateway
definido como default-internet-gateway
é configurada automaticamente para cada rede VPC. Use estas etapas para recriar essa rota, se
necessário.
Console
No Console do Google Cloud, acesse a página Rotas.
Clique na guia Gerenciamento de rotas.
Clique em Criar rota.
Especifique um nome e uma descrição para a rota.
Selecione uma rede para a rota.
Em Intervalo de IP de destino, insira
0.0.0.0/0
.Especifique uma prioridade para a rota. A prioridade pode ser de
0
(a prioridade mais alta) a65535
(a menor prioridade).Em Próximo salto, selecione Gateway de Internet padrão.
Clique em Criar.
gcloud
Recrie a rota padrão do IPv4 para uma rede.
gcloud compute routes create ROUTE_NAME \ --destination-range=0.0.0.0/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Substitua:
ROUTE_NAME
: um nome para a rotaNETWORK
: o nome da rede VPC que contém a rota
API
Recrie a rota padrão do IPv4 para uma rede.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "0.0.0.0/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Substitua:
PROJECT_ID
: o ID do projeto em que sua rota é criada.ROUTE_NAME
: um nome para a rotaNETWORK_NAME
: o nome da rede VPC que contém a rota
Adicionar uma rota padrão do IPv6
A rota estática padrão do IPv6 (::/0
) com o next-hop-gateway
definido como default-internet-gateway
é automaticamente configurada para a rede VPC quando você cria uma sub-rede de pilha dupla com o elemento externo Tipo de acesso IP. É possível excluir a rota para bloquear todo o tráfego IPv6 de VMs para a Internet. É possível recriar a rota se necessário.
Console
No Console do Google Cloud, acesse a página Rotas.
Clique na guia Gerenciamento de rotas.
Clique em Criar rota.
Especifique um nome e uma descrição para a rota.
Selecione uma rede para a rota.
Em Intervalo de IP de destino, insira
::/0
.Especifique uma prioridade para a rota. A prioridade pode ser de
0
(a prioridade mais alta) a65535
(a menor prioridade).Em Próximo salto, selecione Gateway de Internet padrão.
Clique em Criar.
gcloud
Recrie a rota padrão do IPv6 para uma rede.
gcloud compute routes create ROUTE_NAME \ --destination-range=::/0 \ --network=NETWORK \ --next-hop-gateway=default-internet-gateway
Substitua:
ROUTE_NAME
: um nome para a rota.NETWORK
: o nome da rede VPC que contém a rota
API
Recrie a rota padrão do IPv6 para uma rede.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes { "destRange": "::/0", "name": "ROUTE_NAME", "network": "NETWORK_NAME", "nextHopGateway": "projects/PROJECT_ID/global/gateways/default-internet-gateway" }
Substitua:
PROJECT_ID
: o ID do projeto em que sua rota é criada.ROUTE_NAME
: um nome para a rotaNETWORK_NAME
: o nome da rede VPC que contém a rota
Modificar uma rota estática
Não é possível editar ou atualizar uma rota estática depois de criá-la. Para modificar uma rota estática personalizada, é preciso excluí-la e criar uma substituição.
Excluir uma rota estática
Para excluir uma rota, faça o seguinte.
Console
No Console do Google Cloud, acesse a página Rotas.
Clique na guia Gerenciamento de rotas.
Marque a caixa de seleção ao lado da regra que você quer excluir.
Clique em
Excluir.Clique em Excluir novamente para confirmar.
gcloud
Exclua uma rota estática personalizada usando o seguinte comando da CLI gcloud:
gcloud compute routes delete ROUTE_NAME
Substitua ROUTE_NAME
pelo nome da rota
que você quer excluir.
API
Exclua uma rota estática personalizada para removê-la da rede
VPC usando o
método routes.delete
:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/routes/ROUTE_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que sua rota está localizada.ROUTE_NAME
: o nome da rota a ser excluída.
Go
Java
Python
Propagação de alterações de rota
Quando você adiciona ou exclui uma rota estática, ela é propagada para todas as regiões
e instâncias de VM na sua rede VPC. Um status
de operação de rota de PENDING
ou RUNNING
indica que a alteração de rota está na fila.
Depois de enfileirar, o status da operação de rota muda para DONE
. Pode
levar mais 30 segundos para que todas as instâncias de VM na
sua rede VPC e em redes de peering de rede VPC
usem uma nova rota ou parem de usar uma antiga.
Se você adicionar ou remover várias rotas estáticas simultaneamente, as alterações poderão ser aplicadas em qualquer ordem. Não há garantia de que a ordem em que você envia as alterações de rota será a ordem em que elas serão processadas. Instâncias diferentes podem se tornar conscientes das mudanças em momentos distintos.
Se você precisar fazer alterações de rota que dependam umas das outras, será necessário fazer essas
alterações em sequência realizando alterações subsequentes somente após o status
da alteração anterior ser DONE
e depois de mais 30 segundos.
Ativar o encaminhamento de IP para instâncias
Por padrão, o encaminhamento de IP fica desativado, e o Google Cloud realiza uma verificação rigorosa de endereço de origem. Sujeita à configuração efetiva do firewall de saída, uma VM pode emitir pacotes com as seguintes origens:
- O endereço IPv4 interno principal da interface de rede (NIC) de uma instância.
- Qualquer intervalo de IP de alias configurado na NIC de uma instância.
- Se um intervalo de endereços IPv6 estiver configurado na sub-rede e a instância for de pilha dupla, qualquer um dos endereços IPv6 atribuídos à NIC.
- Um endereço IP interno ou externo associado a uma regra de encaminhamento, para balanceamento de carga de passagem ou encaminhamento de protocolo, se a instância for um back-end de um balanceador de carga de rede de passagem interna, um balanceador de carga de rede de passagem externa ou é referenciado por uma instância de destino.
Para usar uma VM como próximo salto de uma rota, a VM precisa encaminhar pacotes com origens que não correspondam a um dos endereços ou intervalos de IP na lista anterior. Para encaminhar pacotes com endereços de origem arbitrários, é preciso ativar o encaminhamento de IP:
- Ao criar ou atualizar uma VM, ative o encaminhamento de IP seguindo as instruções nesta seção. A ativação do encaminhamento de IP se aplica a todas as NICs na VM.
- Além das etapas nesta seção, ative o encaminhamento de IP
no sistema operacional convidado da VM. Para fazer isso no Linux, defina o valor de
um ou dos dois parâmetros de kernel a seguir como
1
:net.ipv4.ip_forward
(para IPv4) ounet.ipv6.conf.all.forwarding
(para IPv6).
Para ativar o encaminhamento de IP ao criar uma VM, conclua as etapas a seguir.
Console
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique em Criar instância.
Na seção Opções avançadas, expanda Rede, discos, segurança, gerenciamento, locatário único.
Expanda a seção Rede.
Na seção Encaminhamento de IP, marque a caixa de seleção Ativar.
gcloud
Ao criar uma instância, adicione a sinalização --can-ip-forward
ao seu comando:
gcloud compute instances create ... --can-ip-forward
API
Ao criar uma instância, use o campo canIpForward
para ativar o encaminhamento
de IP:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "canIpForward": true, ...other fields }
Substitua:
PROJECT_ID
: o ID do projeto que contém a instância.ZONE
: a zona do Google Cloud que contém a instância.
Para mais informações, consulte o
método instances.insert
.
Terraform
Use o recurso Terraform para criar uma instância de VM com o encaminhamento de IP ativado.
Neste exemplo, os argumentos do Terraform receberam valores que você pode alterar.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Depois de ativar o encaminhamento de IP, prossiga com o processo de criação da VM.
Para ativar o encaminhamento de IP em uma VM atual, atualize a propriedade da instância
canIpForward
.
A seguir
- Para mais informações sobre rotas, consulte Rotas.
- Para informações sobre as redes VPC do Google Cloud, consulte a Visão geral da nuvem privada virtual (VPC).
- Para instruções sobre como criar e modificar redes VPC, consulte Criar e gerenciar redes VPC.