How you can Create a Transit Gateway with Attachments in Terraform


The next instance Terraform code snippet creates a Transit Gateway with VPC and VPN attachments:

supplier "aws" {
  area = "us-west-2"
}

# Create a transit gateway
useful resource "aws_ec2_transit_gateway" "instance" {
  description = "Instance transit gateway"
}

# Create a VPC attachment
useful resource "aws_ec2_transit_gateway_vpc_attachment" "example_vpc_attachment" {
  subnet_ids         = ["subnet-abc123", "subnet-def456"]  # IDs of the subnets within the VPC to connect
  transit_gateway_id = aws_ec2_transit_gateway.instance.id
  vpc_id             = "vpc-xyz789"  # ID of the VPC to connect
}

# Create a VPN attachment
useful resource "aws_ec2_transit_gateway_vpn_attachment" "example_vpn_attachment" {
  transit_gateway_id = aws_ec2_transit_gateway.instance.id
  vpn_connection_id  = "vpn-123456"  # ID of the VPN connection to connect
}

On this instance, we’re utilizing the aws_ec2_transit_gateway useful resource sort to create a transit gateway within the us-west-2 area. We’re specifying an outline parameter to offer an outline for the transit gateway.

We’re additionally utilizing the aws_ec2_transit_gateway_vpc_attachment and aws_ec2_transit_gateway_vpn_attachment useful resource varieties to create VPC and VPN attachments, respectively. For the VPC attachment, we’re specifying the IDs of the subnets within the VPC to connect with the subnet_ids parameter, and the ID of the VPC to connect with the vpc_id parameter. For the VPN attachment, we’re specifying the ID of the VPN connection to connect with the vpn_connection_id parameter.

Be aware that in each circumstances, we’re referencing the id attribute of the transit gateway useful resource created earlier with the aws_ec2_transit_gateway.instance.id syntax, which ensures that the attachments are created on the proper transit gateway.

Leave a Reply