Resource: aws_route

Provides a resource to create a routing table entry (a route) in a VPC routing table.

Example Usage

resource "aws_route" "r" {
  route_table_id            = aws_route_table.testing.id
  destination_cidr_block    = "10.0.1.0/22"
  vpc_peering_connection_id = "pcx-45ff3dc1"
}

Example IPv6 Usage

resource "aws_vpc" "vpc" {
  cidr_block                       = "10.1.0.0/16"
  assign_generated_ipv6_cidr_block = true
}

resource "aws_egress_only_internet_gateway" "egress" {
  vpc_id = aws_vpc.vpc.id
}

resource "aws_route" "r" {
  route_table_id              = "rtb-4fbb3ac4"
  destination_ipv6_cidr_block = "::/0"
  egress_only_gateway_id      = aws_egress_only_internet_gateway.egress.id
}

Argument Reference

This resource supports the following arguments:

One of the following destination arguments must be supplied:

One of the following target arguments must be supplied:

Note that the default route, mapping the VPC's CIDR block to "local", is created implicitly and cannot be specified.

Attribute Reference

This resource exports the following attributes in addition to the arguments above:

Timeouts

Configuration options:

Import

In Terraform v1.5.0 and later, use an import block to import individual routes using ROUTETABLEID_DESTINATION. Import local routes using the VPC's IPv4 or IPv6 CIDR blocks. For example:

Import a route in route table rtb-656C65616E6F72 with an IPv4 destination CIDR of 10.42.0.0/16:

import {
  to = aws_route.my_route
  id = "rtb-656C65616E6F72_10.42.0.0/16"
}

Import a route in route table rtb-656C65616E6F72 with an IPv6 destination CIDR of 2620:0:2d0:200::8/125:

import {
  to = aws_route.my_route
  id = "rtb-656C65616E6F72_2620:0:2d0:200::8/125"
}

Import a route in route table rtb-656C65616E6F72 with a managed prefix list destination of pl-0570a1d2d725c16be:

import {
  to = aws_route.my_route
  id = "rtb-656C65616E6F72_pl-0570a1d2d725c16be"
}

Using terraform import to import individual routes using ROUTETABLEID_DESTINATION. Import local routes using the VPC's IPv4 or IPv6 CIDR blocks. For example:

Import a route in route table rtb-656C65616E6F72 with an IPv4 destination CIDR of 10.42.0.0/16:

% terraform import aws_route.my_route rtb-656C65616E6F72_10.42.0.0/16

Import a route in route table rtb-656C65616E6F72 with an IPv6 destination CIDR of 2620:0:2d0:200::8/125:

% terraform import aws_route.my_route rtb-656C65616E6F72_2620:0:2d0:200::8/125

Import a route in route table rtb-656C65616E6F72 with a managed prefix list destination of pl-0570a1d2d725c16be:

% terraform import aws_route.my_route rtb-656C65616E6F72_pl-0570a1d2d725c16be