Skip to content

TransitGatewayRoute ​

The TransitGatewayRoute resource allows you to manage AWS EC2 Transit Gateway Routes. This resource is essential for controlling the routing of traffic between multiple VPCs and on-premises networks via a Transit Gateway.

Minimal Example ​

Create a basic Transit Gateway Route with required properties.

ts
import AWS from "alchemy/aws/control";

const transitGatewayRoute = await AWS.EC2.TransitGatewayRoute("basicRoute", {
  TransitGatewayRouteTableId: "tgw-rtb-0a1b2c3d4e5f6g7h8",
  DestinationCidrBlock: "10.0.0.0/16",
  TransitGatewayAttachmentId: "tgw-attach-0a1b2c3d4e5f6g7h8", // Optional but common
  Blackhole: false // Default false: Route is active
});

Advanced Configuration ​

Configure a Transit Gateway Route with additional options such as enabling blackhole routing.

ts
const advancedRoute = await AWS.EC2.TransitGatewayRoute("advancedRoute", {
  TransitGatewayRouteTableId: "tgw-rtb-0a1b2c3d4e5f6g7h8",
  DestinationCidrBlock: "192.168.1.0/24",
  Blackhole: true, // Enable blackhole routing for traffic
  TransitGatewayAttachmentId: "tgw-attach-0a1b2c3d4e5f6g7h8"
});

Adopting Existing Resources ​

If you want to adopt an existing Transit Gateway Route instead of creating a new one, use the adopt property.

ts
const adoptedRoute = await AWS.EC2.TransitGatewayRoute("adoptedRoute", {
  TransitGatewayRouteTableId: "tgw-rtb-0a1b2c3d4e5f6g7h8",
  DestinationCidrBlock: "172.16.0.0/12",
  adopt: true // Enable adoption of existing resource
});

Practical Use Case: Interconnecting VPCs ​

Create a route to interconnect two VPCs through a Transit Gateway.

ts
const interconnectRoute = await AWS.EC2.TransitGatewayRoute("interconnectRoute", {
  TransitGatewayRouteTableId: "tgw-rtb-0a1b2c3d4e5f6g7h8",
  DestinationCidrBlock: "10.1.0.0/16",
  TransitGatewayAttachmentId: "tgw-attach-0a1b2c3d4e5f6g7h8"
});