Skip to main content

Como Gerenciar Rotas na Tabela de Roteamento da VPC

Disponibilidade limitada

O gerenciamento de Tabelas de Roteamento está disponível a partir da CLI e do Terraform na região br-se1. O suporte no Console e na região br-ne1 está previsto para uma próxima versão.

A Tabela de Roteamento de uma VPC permite definir caminhos específicos para o tráfego de rede, determinando para onde os pacotes devem ser encaminhados com base no CIDR de destino. Com ela, você tem controle centralizado sobre o fluxo de comunicação entre sub-redes, serviços gerenciados e recursos externos, sem depender de configurações manuais em cada instância.

Cada rota define dois elementos principais:

  • Destino (cidr_destination): O bloco de endereços IP de destino do tráfego (ex: 172.20.0.0/16).
  • Próximo salto (port_id): A porta de rede (VNIC) da VM ou appliance que irá receber e encaminhar esse tráfego.

Casos de Uso

A criação de rotas customizadas é indicada para arquiteturas que exigem controle granular do tráfego, como:

  • Arquiteturas Multi-tenant com VPN Site-to-Site: Direcionar o tráfego de cada tenant para a VM de firewall responsável pela VPN correspondente, sem depender de configuração manual em cada instância.
  • Acesso externo para Serviços Gerenciados (DBaaS): Como serviços gerenciados não permitem acesso ao sistema operacional, a rota na VPC é o único mecanismo para direcionar o tráfego desses serviços por um gateway ou firewall.
  • Segmentação de Tráfego por Camada: Separar o fluxo de produção, staging e desenvolvimento, garantindo que cada ambiente siga seu próprio caminho de rede.
  • Appliances Virtuais (Firewalls e Proxies): Forçar que todo tráfego de uma sub-rede passe por uma VM intermediária para inspeção ou filtragem antes de sair para a internet.
  • Comunicação entre Sub-redes na Mesma VPC: Habilitar o roteamento direto entre sub-redes de uma mesma VPC ou zonas de disponibilidade distintas.

Pré-requisitos

Antes de criar uma rota, certifique-se de que os seguintes recursos estejam provisionados:

  1. Uma VPC existente com ao menos uma sub-rede configurada.
  2. Uma Porta (VNIC) criada na VPC, que será usada como próximo salto (port_id). O IP privado da porta será resolvido automaticamente como next_hop.
  3. CLI MGC instalada e autenticada, ou o Provider Terraform para MGC configurado.
Obtendo o Port ID

Para listar as portas disponíveis na sua VPC e obter o port_id correto, utilize:

mgc network vpcs ports list --vpc-id="[ID_DA_SUA_VPC]"

Operações Disponíveis

Criando uma Rota

Use o comando abaixo para adicionar uma nova rota à tabela de roteamento da VPC. Substitua os valores entre colchetes pelos identificadores do seu ambiente.

mgc network vpcs route-table routes create [ID_DA_SUA_VPC] \
--cidr-destination="172.20.0.0/16" \
--port-id="[ID_DA_PORTA_NEXT_HOP]" \
--description="Rota para rede interna do tenant A"

Parâmetros do comando:

ParâmetroObrigatórioDescrição
[vpc-id]✅ SimID da VPC onde a rota será criada.
--cidr-destination✅ SimBloco CIDR de destino do tráfego (ex: 172.20.0.0/16).
--port-id✅ SimID da porta (VNIC) que atuará como próximo salto.
--description❌ NãoTexto livre para identificar a finalidade da rota.
Resultado Esperado

O comando retornará o id da rota criada e seu status inicial (geralmente processing). A rota estará ativa quando o status mudar para created.

{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "pending"
}
Atenção ao CIDR de Destino
  • O CIDR deve ser um bloco de rede válido no formato x.x.x.x/x.
  • Evite sobreposição com rotas já existentes na mesma VPC para prevenir conflitos de roteamento.
  • Cada rota é única por combinação de vpc_id + cidr_destination.

Listando Rotas da VPC

Para visualizar todas as rotas configuradas em uma VPC, utilize o comando abaixo:

mgc network vpcs route-table routes list --vpc-id="[ID_DA_SUA_VPC]"

Filtrando e ordenando os resultados:

# Filtrar por zona de disponibilidade
mgc network vpcs route-table routes list \
--vpc-id="[ID_DA_SUA_VPC]" \
--zone="a"

# Ordenar por CIDR de destino (crescente)
mgc network vpcs route-table routes list \
--vpc-id="[ID_DA_SUA_VPC]" \
--sort="cidr_destination:asc"

# Paginação: exibir a segunda página com 20 itens por página
mgc network vpcs route-table routes list \
--vpc-id="[ID_DA_SUA_VPC]" \
--page=2 \
--items-per-page=20

Parâmetros opcionais:

ParâmetroDescrição
--zoneFiltra rotas por zona de disponibilidade (ex: a, b).
--sortOrdena os resultados. Campos válidos: id, port_id, description, cidr_destination, type, status. Direção: asc ou desc.
--pageNúmero da página (padrão: 1, mínimo: 1).
--items-per-pageQuantidade de itens por página (padrão: 10, máximo: 100).

Consultando uma Rota Específica

Para inspecionar os detalhes completos de uma rota, incluindo seu next_hop resolvido e status atual:

mgc network vpcs route-table routes get \
--vpc-id="[ID_DA_SUA_VPC]" \
--route-id="[ID_DA_ROTA]"

Exemplo de resposta:

{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"vpc_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"port_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"cidr_destination": "172.20.0.0/16",
"description": "Rota para rede interna do tenant A",
"next_hop": "10.10.20.53",
"type": "default",
"status": "created"
}

O campo next_hop contém o endereço IP privado resolvido automaticamente a partir da porta informada no momento da criação.

Excluindo uma Rota

Para remover uma rota da tabela de roteamento:

mgc network vpcs route-table routes delete \
--vpc-id="[ID_DA_SUA_VPC]" \
--route-id="[ID_DA_ROTA]"
Atenção antes de excluir

A exclusão de uma rota pode impactar imediatamente o tráfego de rede que depende dela. Antes de remover:

  • Confirme que nenhuma instância ou serviço gerenciado depende desta rota para comunicação.
  • Em ambientes de produção, planeje uma janela de manutenção.

A operação não pode ser desfeita.

Status de Exclusão

A rota passará pelo status deleting antes de ser removida permanentemente. A deleção é confirmada quando a rota deixar de aparecer na listagem da VPC.


Ciclo de Vida de uma Rota

As rotas possuem os seguintes estados possíveis durante seu ciclo de vida:

StatusDescrição
pendingA rota foi aceita e está aguardando processamento.
processingA rota está sendo provisionada na infraestrutura.
createdA rota está ativa e o tráfego já está sendo roteado.
errorOcorreu uma falha durante o provisionamento. Verifique os parâmetros e tente novamente.
deletingA rota está em processo de exclusão.
deletedA rota foi removida com sucesso.

Exemplo Completo: Arquitetura com Firewall Virtual

O exemplo a seguir demonstra como configurar uma rota para direcionar o tráfego de uma rede interna através de uma VM que atua como firewall.

Cenário: Direcionar todo o tráfego destinado à rede 10.100.0.0/24 (ambiente on-premise acessível via VPN) para a porta de rede da VM de firewall.

# 1. Obtenha o ID da VPC
mgc network vpcs list

# 2. Identifique a porta da VM de firewall
mgc network vpcs ports list --vpc-id="vpc-xxxxxxxx"

# 3. Crie a rota apontando para a porta do firewall
mgc network vpcs route-table routes create "vpc-xxxxxxxx" \
--cidr-destination="10.100.0.0/24" \
--port-id="port-xxxxxxxx" \
--description="Tráfego on-premise via firewall virtual"

# 4. Confirme que a rota está ativa
mgc network vpcs route-table routes list --vpc-id="vpc-xxxxxxxx"

Console

Funcionalidade Indisponível no Console

O gerenciamento de rotas na Tabela de Roteamento está disponível apenas via CLI e Terraform neste momento.

O suporte via Console da Magalu Cloud está previsto para uma próxima versão. Utilize as abas de CLI ou consulte o guia de Gerenciamento via Terraform para realizar esta configuração.


Próximos Passos