AWS::EC2::Route
Specifies a route in a route table within a VPC.
You must specify either DestinationCidrBlock
or
DestinationIpv6CidrBlock
, plus the ID of one of the target
resources.
If you create a route that references a transit gateway in the same template where you
create the transit gateway, you must declare a dependency on the transit gateway
attachment. The route table cannot use the transit gateway until it has successfully
attached to the VPC. Add a DependsOn
Attribute in the AWS::EC2::Route
resource to explicitly declare a
dependency on the AWS::EC2::TransitGatewayAttachment
resource.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::EC2::Route", "Properties" : { "CarrierGatewayId" :
String
, "DestinationCidrBlock" :String
, "DestinationIpv6CidrBlock" :String
, "EgressOnlyInternetGatewayId" :String
, "GatewayId" :String
, "InstanceId" :String
, "LocalGatewayId" :String
, "NatGatewayId" :String
, "NetworkInterfaceId" :String
, "RouteTableId" :String
, "TransitGatewayId" :String
, "VpcEndpointId" :String
, "VpcPeeringConnectionId" :String
} }
YAML
Type: AWS::EC2::Route Properties: CarrierGatewayId:
String
DestinationCidrBlock:String
DestinationIpv6CidrBlock:String
EgressOnlyInternetGatewayId:String
GatewayId:String
InstanceId:String
LocalGatewayId:String
NatGatewayId:String
NetworkInterfaceId:String
RouteTableId:String
TransitGatewayId:String
VpcEndpointId:String
VpcPeeringConnectionId:String
Properties
CarrierGatewayId
-
The ID of the carrier gateway.
Required: No
Type: String
Update requires: No interruption
DestinationCidrBlock
-
The IPv4 CIDR block used for the destination match.
Required: Conditional
Type: String
Update requires: Replacement
DestinationIpv6CidrBlock
-
The IPv6 CIDR block used for the destination match.
Required: Conditional
Type: String
Update requires: No interruption
EgressOnlyInternetGatewayId
-
The ID of the egress-only internet gateway.
Required: No
Type: String
Update requires: No interruption
GatewayId
-
The ID of an internet gateway or virtual private gateway attached to your VPC.
Required: No
Type: String
Update requires: No interruption
InstanceId
-
The ID of a NAT instance in your VPC.
Required: No
Type: String
Update requires: No interruption
LocalGatewayId
-
The ID of the local gateway.
Required: No
Type: String
Update requires: No interruption
NatGatewayId
-
The ID of a NAT gateway.
Required: No
Type: String
Update requires: No interruption
NetworkInterfaceId
-
The ID of the network interface.
Required: No
Type: String
Update requires: No interruption
RouteTableId
-
The ID of the route table. The routing table must be associated with the same VPC that the virtual private gateway is attached to.
Required: Yes
Type: String
Update requires: Replacement
TransitGatewayId
-
The ID of a transit gateway.
Required: No
Type: String
Update requires: No interruption
VpcEndpointId
-
The ID of a VPC endpoint. Supported for Gateway Load Balancer endpoints only.
Required: No
Type: String
Update requires: No interruption
VpcPeeringConnectionId
-
The ID of a VPC peering connection.
Required: No
Type: String
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the ID of the route.
For more information about using the Ref
function, see Ref.
Examples
Create a route to a gateway
The following example adds a route that is added to an internet gateway.
JSON
"myRoute" : { "Type" : "AWS::EC2::Route", "DependsOn" : "GatewayToInternet", "Properties" : { "RouteTableId" : { "Ref" : "myRouteTable" }, "DestinationCidrBlock" : "0.0.0.0/0", "GatewayId" : { "Ref" : "myInternetGateway" } } }
YAML
myRoute: Type: AWS::EC2::Route DependsOn: GatewayToInternet Properties: RouteTableId: Ref: myRouteTable DestinationCidrBlock: 0.0.0.0/0 GatewayId: Ref: myInternetGateway
Create a route to a carrier gateway
The following example creates a route to a carrier gateway.
JSON
"myCarrierRoute" : { "Type" : "AWS::EC2::Route", "DependsOn" : "GatewayToInternetAndCarrierNetwork", "Properties" : { "RouteTableId" : { "Ref" : "myRouteTable" }, "DestinationCidrBlock" : "0.0.0.0/0", "GatewayId" : { "Ref" : "myCarrierGateway" } } }
YAML
myCarrierRoute: Type: AWS::EC2::Route DependsOn: GatewayToInternetAndCarrierNetwork Properties: RouteTableId: Ref: myRouteTable DestinationCidrBlock: 0.0.0.0/0 GatewayId: Ref: myCarrierGateway
See also
-
CreateRoute in the Amazon EC2 API Reference
-
Route tables in the Amazon VPC User Guide