Usar rotas

Nesta página, descrevemos 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

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

    Acessar a página Rotas

  2. Na guia Rotas efetivas, faça o seguinte:

    • Escolha uma rede VPC.
    • Escolha uma região.
  3. Clique em Visualizar.

  4. É possível filtrar por propriedades como o tipo de rota, o intervalo de IP de destino e o tipo do próximo salto.

  5. 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 de sub-rede e rotas estáticas, use os comandos gcloud compute routes. Esses comandos não mostram outros tipos de trajetos. 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 de sub-rede e rotas estáticas, use os métodos routes.list e routes.get. Esses métodos não mostram outros tipos de rotas. 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 Google Cloud para visualizar 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

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

    Acessar instâncias de VM

  2. Localize uma instância de VM na lista. No menu Mais ações no final da linha, selecione Ver detalhes da rede.

  3. 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.

  4. 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ó valida a existência de uma VM no momento da criação da 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

  1. No console do Google Cloud , acesse a página "Rotas".

    Acessar a página Rotas

  2. Clique na guia Gerenciamento de rotas.

  3. Clique em Criar rota.

  4. Especifique um nome e uma descrição para a rota.

  5. Na lista Rede, selecione uma rede para a rota.

  6. Na lista Tipo de rota, selecione Rota estática.

  7. 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.
  8. Especifique um intervalo de IP de destino. O maior destino possível é 0.0.0.0/0 para IPv4 ou ::/0 para IPv6.

  9. Especifique uma prioridade para a rota. A prioridade pode ser de 0 (a prioridade mais alta) a 65535 (a menor prioridade).

  10. 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.

  11. 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 ou somente IPv6.
    • 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, a instância precisa ser dual-stack ou somente IPv6. 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. A regra de encaminhamento pode ter um endereço IPv4 ou IPv6. A versão do IP da regra de encaminhamento especificada precisa corresponder à versão do IP da rota estática criada.
  12. 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 rota
  • NETWORK: o nome da rede VPC que contém a rota
  • DESTINATION_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 de 0 (a prioridade mais alta) a 65535 (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 ou somente IPv6.
    • --next-hop-address=ADDRESS: especifique um endereço IP de uma instância atual na rede VPC. Para rotas estáticas IPv6, a instância precisa ser dual-stack ou somente IPv6. Para restrições importantes de 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 regra de encaminhamento pelo nome (ou endereço IPv4 ou IPv6) e pela região. A versão do IP da regra de encaminhamento especificada precisa corresponder à versão do IP da rota estática criada. Para mais informações sobre como configurar rotas estáticas para balanceadores de carga de rede de passagem interna, consulte Criar rotas estáticas.

    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 rota
  • NETWORK: o nome da rede VPC que contém a rota
  • DESTINATION_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 de 0 (a prioridade mais alta) a 65535 (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 ou somente IPv6.
    • nextHopIp: ADDRESS: especifique um endereço IP de uma instância atual na rede VPC. Para rotas estáticas IPv6, a instância precisa ser dual-stack ou somente IPv6. Para conferir restrições importantes para endereços IP de próximo salto válidos, consulte Próximos saltos e recursos.
    • 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 regra de encaminhamento pelo nome (ou endereço IPv4 ou IPv6) e pela região. A versão do IP da regra de encaminhamento especificada precisa corresponder à versão do IP da rota estática criada.

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.

module "google_compute_route" {
  source       = "../../modules/routes" #adding local path
  project_id   = var.project_id         # Replace this with your project ID in quotes
  network_name = "default"

  routes = [
    {
      name              = "egress-internet"
      description       = "route through IGW to access internet"
      destination_range = "0.0.0.0/0"
      tags              = ["egress-inet"]
      next_hop_internet = true
    }
  ]
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.

Go

import (
	"context"