A Terraform module for provisioning and managing AWS Transit Gateway resources with VPC attachments and multi-account sharing.
terraform-aws-transit-gateway is a Terraform module that automates the provisioning and management of AWS Transit Gateway resources. It solves the problem of manually configuring complex hub-and-spoke network architectures by providing a declarative, reusable way to create Transit Gateways, attach VPCs, configure routing, and share resources across AWS accounts.
Cloud engineers and DevOps professionals managing multi-VPC or multi-account AWS environments who need scalable, centralized networking solutions using infrastructure-as-code.
Developers choose this module because it abstracts the complexity of raw AWS Transit Gateway resources into a clean, configurable interface, reducing boilerplate Terraform code and ensuring consistent, repeatable deployments with built-in support for advanced features like RAM sharing.
Terraform module to create AWS Transit Gateway resources 🇺🇦
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Manages all key TGW aspects including ASN, DNS support, multicast, and VPC attachments with subnet routing, as shown in the input variables and usage example.
Seamlessly integrates with AWS RAM for sharing TGW across accounts, demonstrated by the ram_principals input and multi-account examples.
Follows IaC best practices, reducing boilerplate with configurable inputs like create_tgw and conditional resources, evident in the module's philosophy.
Supports detailed route management with TGW routes, associations, and propagations, as seen in the vpc_attachments map and route table inputs.
With over 30 input variables and nested structures like vpc_attachments, setting up can be error-prone and requires deep understanding of TGW concepts.
Tightly coupled to AWS services and Terraform, limiting flexibility for hybrid or multi-cloud environments or other IaC tools.
Requires specific Terraform and AWS provider versions (>=1.5.7 and >=6.28), which might cause compatibility issues in constrained environments.