Get a free AWS Well-Architected Assessment ->

Microsoft Azure

Route Table

Azure Route Table is a networking service that allows users to control and manage the routing of network traffic within their virtual networks. It provides a way to specify which virtual network subnets, internet-facing virtual appliances, and virtual machines should route network traffic. Azure Route Tables consist of a collection of rules, called routes, that specify the path that network traffic should take. These routes can be added, removed, or modified as needed. Each route consists of a destination prefix, a next hop type, and a next hop address.‍
aws cost
Direct Cost
Indirect Cost
No items found.
Terraform Name
Route Table

The following arguments are supported:

  • name - (Required) The name of the route table. Changing this forces a new resource to be created.
  • resource_group_name - (Required) The name of the resource group in which to create the route table. Changing this forces a new resource to be created.
  • location - (Required) Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
  • route - (Optional) List of objects representing routes. Each object accepts the arguments documented below.


Since route can be configured both inline and via the separate azurerm_route resource, we have to explicitly set it to empty slice ([]) to remove it.

  • disable_bgp_route_propagation - (Optional) Boolean flag which controls propagation of routes learned by BGP on that route table. True means disable.
  • tags - (Optional) A mapping of tags to assign to the resource.

A route block support:

  • name - (Required) The name of the route.
  • address_prefix - (Required) The destination to which the route applies. Can be CIDR (such as or Azure Service Tag (such as ApiManagement, AzureBackup or AzureMonitor) format.
  • next_hop_type - (Required) The type of Azure hop the packet should be sent to. Possible values are VirtualNetworkGateway, VnetLocal, Internet, VirtualAppliance and None.
  • next_hop_in_ip_address - (Optional) Contains the IP address packets should be forwarded to. Next hop values are only allowed in routes where the next hop type is VirtualAppliance.

Associating resources with a
Route Table
Resources do not "belong" to a
Route Table
Rather, one or more Security Groups are associated to a resource.
Route Table
via Terraform:
The following HCL manages a route table

resource "azurerm_resource_group" "example" {
 name     = "example-resources"
 location = "West Europe"

resource "azurerm_route_table" "example" {
 name                          = "example-route-table"
 location                      = azurerm_resource_group.example.location
 resource_group_name           =
 disable_bgp_route_propagation = false

 route {
   name           = "route1"
   address_prefix = ""
   next_hop_type  = "VnetLocal"

 tags = {
   environment = "Production"

Route Table
via CLI:

az network route-table route create --name
                                   [--next-hop-type {Internet, None, VirtualAppliance, VirtualNetworkGateway, VnetLocal}]
                                   [--no-wait {0, 1, f, false, n, no, t, true, y, yes}]


az network route-table route create -g MyResourceGroup --route-table-name MyRouteTable -n MyRoute --next-hop-type VirtualAppliance --address-prefix --next-hop-ip-address

Best Practices for
Route Table

Categorized by Availability, Security & Compliance and Cost

No items found.
Explore all the rules our platform covers
Related blog posts