Criando uma rota

É possível controlar o fluxo de tráfego de rede em seu VPC configurando rotas. Use as rotas de VPC para especificar o próximo hop para pacotes, com base em seus endereços de destino.

Várias tabelas de roteamento podem existir para cada zona em sua VPC. No caso do tráfego de saída, quando um pacote sai de uma sub-rede, o sistema compara seu destino com a tabela de roteamento da zona da sub-rede para determinar para onde o pacote deve ser enviado em seguida. Cada VPC tem uma tabela de roteamento padrão anexada a cada sub-rede, a menos que a sub-rede tenha sido explicitamente anexada a outra pelo usuário.

Uma rota personalizada da VPC possui quatro componentes principais:

  • CIDR de destino: Especifica o intervalo de endereços IP de destino ao qual a rota se aplica.

  • Próximo salto: Especifica o endereço IP para o qual o tráfego correspondente é encaminhado quando a ação da rota é “ Deliver ”.

    É possível editar o endereço IP do próximo hop para as rotas existentes

  • Zona: Especifica a zona em que a rota é avaliada. No caso das rotas de saída, a zona geralmente se refere à zona de onde o tráfego de origem se origina. Para rotas de entrada, a zona refere-se à zona onde o tráfego de entrada é processado e onde o próximo salto deve estar localizado.

  • Ação: Especifica como o tráfego correspondente é tratado, seja por meio de encaminhamento, delegação ou descarte do tráfego.

Qualquer tráfego que se origine na zona especificada da VPC e tenha um endereço de destino dentro do CIDR de destino especificado é roteado para o próximo hop. Se o endereço de destino estiver dentro do CIDR de destino para múltiplas rotas de VPC, a rota mais específica será usada. Se a VPC tiver duas ou mais rotas igualmente específicas, o tráfego será em round-robin distribuído entre cada rota.

Cada rota tem uma propriedade de destino, que inclui um comprimento de prefixo (/24 em 10.2.0.0/24). O número de comprimentos de prefixo exclusivo que são suportados por tabela de roteamento customizado é 14. Várias rotas com o mesmo prefixo contam como apenas um prefixo único.

Os prefixos de endereço da VPC não são mais restritos a endereços RFC-1918. Agora, você deve configurar as VPCs que utilizam endereços non-RFC-1918 e possuem conectividade pública (endereços IP flutuantes ou gateways públicos) por meio de uma rota personalizada que contenha a nova ação Delegate-VPC. É necessário especificar essa ação para CIDRs de destino que estejam em conformidade com o padrão “ non-RFC-1918 ” e que também estejam fora da VPC, como, por exemplo, destinos acessíveis por meio de “ Direct Link ”, “ Transit Gateway ” ou acesso clássico à VPC. Para obter mais informações sobre quando usar a ação Delegate-VPC, consulte Considerações de roteamento para designações de IP registradas no IANA.

A ação Delegate-VPC será necessária se as duas situações forem verdadeiras:

  • A VPC usa endereços não RFC-1918
  • A VPC tem conectividade pública

A ação Delegate-VPC NÃO será necessária se:

  • A VPC usar somente endereços RFC-1918
  • A VPC não tiver conectividade pública

Antes de criar rotas personalizadas, consulte a seção “Sobre tabelas de roteamento e rotas” para entender o comportamento do roteamento de entrada e saída.

É possível criar uma rota para um serviço do IBM Cloud usando o console, a CLI, a API ou o Terraform.

Criando uma rota no console

Para criar uma rota no console, siga estas etapas:

  1. Assegure-se de revisar Limitações e diretrizes.

  2. No console IBM Cloud, selecione o menu Navegação ícone Menu de navegação e clique em Ícone VPC de infraestrutura > Rede > Tabelas de roteamento. Aparece a página Tabelas de roteamento para VPC.

  3. Selecione a VPC associada à tabela de roteamento que você deseja visualizar. Em seguida, clique no nome da tabela de roteamento para mostrar seus detalhes.

  4. Role para a seção Rotas e clique em Criar.

  5. No painel lateral “Criar rota”, insira as seguintes informações:

    • Zona-Selecione uma zona de disponibilidade para sua rota.

    • Nome- Digite um nome para a nova rota.

    • CIDR de destino-O CIDR de destino da rota (por exemplo, 10.0.0.0/16).

    • Prioridade-Insira uma prioridade de 0 para 4 O valor padrão é 2. Para obter mais informações, consulte Determinando a preferência de rota.

    • Ação — A ação a ser executada com um pacote que corresponda à rota. Os valores são:

      • Delegar - Roteia o pacote usando a tabela de roteamento do sistema.
      • Delegate-VPC - delega às rotas integradas do sistema, ignorando as rotas ligadas à Internet. Necessária se a VPC usar endereços não RFC-1918 e também tiver conectividade pública. Consulte Considerações sobre roteamento para designações de IP registradas pela IANA para obter detalhes.
      • Entregar - roteia o pacote para o próximo destino de hop. É possível incluir várias rotas com o mesmo prefixo de endereço. O roteador virtual executa o roteamento de caminhos múltiplos de igual custo (ECMP) usando os diferentes endereços IP do próximo hop.
      • Descartar - Descarta o pacote.

    O tráfego de saída de uma sub-rede usa a tabela de roteamento customizada associada à sub-rede. Se nenhuma rota de correspondência for localizada em uma tabela de roteamento customizado, o roteamento continuará usando a tabela de roteamento do sistema de VPC. É possível evitar esse comportamento com uma rota padrão de tabela de roteamento customizado com uma ação Descartar.

    • Tipo- Selecione “Endereço IP ” ou “Conexão VPN ”.

    • Próximo hop (endereço IP)-Insira o próximo hop.

      É possível modificar o endereço IP do próximo hop para as rotas existentes

    • Advertise-Anuncie em uma origem de ingresso Atualmente, Direct Link e Transit Gateway são suportados. Opcional.

  6. Clique em Salvar para salvar a nova rota. A rota aparece na página Detalhes da tabela de roteamento.

Criação de uma rota pela CLI

Antes de iniciar, configure o seu ambiente da CLI.

Para criar uma rota de VPC pela CLI, execute o seguinte comando:

ibmcloud is vpc-routing-table-route-create VPC ROUTING_TABLE --zone ZONE_NAME --destination DESTINATION_CIDR [--action delegate_vpc | delegate | deliver | drop] [--priority PRIORITY] [--next-hop NEXT_HOP [--vpngw VPNGW]][--advertise true | false] [--name NAME] [--output JSON] [-q, --quiet]

Em que:

VPC
O ID ou o nome da VPC.
ROUTING_TABLE
O ID ou o nome da tabela de roteamento da VPC.
--zone
O nome da zona.
--destination
O CIDR de destino da rota. No máximo, duas rotas por zona em uma tabela podem ter o mesmo destino, e somente se ambas as rotas tiverem a ação “ deliver ”.
--action
A ação a ser executada com um pacote que corresponde à rota. Um dos seguintes: delegate_vpc, delegate, deliver, drop. Padrão: deliver
--priority
A prioridade da rota. Um de: 0, 1, 2, 3, 4. Padrão: 2. Valores inferiores têm prioridade mais alta. Se uma tabela de roteamento personalizado contiver rotas com o mesmo destino, a rota com a prioridade mais alta (valor mais baixo) será selecionada.
--next-hop
Se a ação for “ deliver ”, insira o endereço IP ou o ID da conexão VPN do próximo salto para o qual os pacotes devem ser roteados.
--vpngw
O nome do gateway da VPN.
--advertise
Anuncie para um link direto, um gateway de trânsito ou ambas as origens de ingresso Um dos sites true, false.
--name
O nome da tabela de roteamento da VPC.
--output
O formato de saída. Um de: json.
--q, quiet
Suprimir a saída detalhada.

Exemplo da CLI

  • Crie uma rota especificando o nome da zona, o CIDR de destino e o próximo salto como endereço IP:

    ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 10.0.0.2 --name my-vpc-route
    
  • Crie uma rota especificando o nome da zona, o CIDR de destino e o próximo salto como o ID da conexão VPN:

    ibmcloud is vpc-routing-table-route-create r134-b754e387-8b06-43be-a5ea-909595a50676 r134-6cfaceb8-99d6-4743-bee8-ebbcbba6a563 --zone us-south-1 --destination 10.2.2.0/24 --action deliver --priority 1 --next-hop 02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6 --name my-vpc-route
    

Criação de uma rota com a API

Para criar uma rota de destino usando a API, siga estas etapas:

  1. Configure o seu Ambiente de API.

  2. Armazene valores para as variáveis a seguir a serem usadas no comando da API:

    export VpcId=<your_vpc_id>
    export RoutingTableId=<your_routing_table_id>
    
  3. Crie uma rota especificando next_hop como endereço IP ou ID de conexão VPN:

    curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -d '{
         "name": "my-new-route",
         "zone": {"name": "us-south-2"},
         "action": "deliver",
         "destination": "10.10.10.0/24",
         "next_hop": {"address": "10.0.0.3"}
       }'
    
    curl -X POST "$vpc_api_endpoint/v1/vpcs/$VpcId/routing_tables/$RoutingTableId/routes?version=$api_version&generation=2" \
    -H "Authorization: Bearer $iam_token" \
    -d '{
         "name": "my-new-route",
         "zone": {"name": "us-south-2"},
         "action": "deliver",
         "destination": "10.10.10.0/24",
         "next_hop": {"id": "02h7-1cf20e69-e2ce-400b-b070-0897521e2eb6"}
       }'
    

Para obter mais informações e parâmetros opcionais, consulte Criar uma rota em uma tabela de roteamento VPC na Referência da API VPC.

Criando uma rota com o Terraform

Para criar uma rota com o Terraform, siga estas etapas:

  1. Configure seu ambiente do Terraform.

  2. Crie uma rota:

    resource "ibm_is_vpc_routing_table_route" "example" {
      vpc           = ibm_is_vpc.example.id
      routing_table = ibm_is_vpc_routing_table.example.routing_table
      zone          = "us-south-1"
      name          = "custom-route-2"
      destination   = "192.168.4.0/24"
      action        = "deliver"
      next_hop      = ibm_is_vpn_gateway_connection.example.gateway_connection // Example value "10.0.0.4"
    }
    

Para obter mais informações sobre o ibm_is_vpc_routing_table_route recurso, consulte o Registro do Terraform.