Overview
Terraform modules provide reusable, standardized infrastructure components that simplify deployment and ensure consistency across environments. This section covers the official and community-maintained modules for cloud networking infrastructure, along with best practices for module usage and customization.Official Aviatrix Modules
Core Infrastructure Modules
Multi-Cloud Transit Module
Purpose: Deploy transit infrastructure across multiple cloud providers Use Cases: Enterprise multi-cloud architectures, hybrid cloud connectivity Supported Providers: AWS, Azure, Google Cloud, Oracle CloudSpoke Gateway Module
Purpose: Deploy spoke gateways for application connectivity Use Cases: Application segmentation, workload isolation, secure connectivityFireNet Module
Purpose: Deploy next-generation firewall integration Use Cases: Advanced threat protection, centralized security policy enforcementSpecialized Modules
User VPN Module
Purpose: Deploy and configure user VPN services Features: SSL VPN, user management, policy enforcementSite2Cloud Module
Purpose: Establish site-to-site VPN connections Use Cases: Branch office connectivity, partner network integrationCommunity Modules
AWS-Specific Modules
AWS Transit Gateway Integration
Repository:terraform-aws-modules/transit-gateway/aws
Purpose: Integrate with native AWS Transit Gateway
Best For: AWS-native deployments with Aviatrix enhancement
AWS Security Groups Module
Repository:terraform-aviatrix-modules/aws-security-groups/aviatrix
Purpose: Manage security groups for Aviatrix gateways
Azure-Specific Modules
Azure Virtual WAN Integration
Repository:terraform-aviatrix-modules/azure-vwan/aviatrix
Purpose: Integrate with Azure Virtual WAN
Google Cloud Modules
GCP Network Connectivity Center
Repository:terraform-aviatrix-modules/gcp-ncc/aviatrix
Purpose: Integrate with Google Cloud Network Connectivity Center
Module Best Practices
Version Management
Pinning Module Versions
Version Upgrade Strategy
Module Composition Patterns
Layered Architecture
Environment-Specific Modules
Security Considerations
Sensitive Data Management
Resource Tagging
Custom Module Development
Module Structure
Example Custom Module
Module Testing
Module Registry and Distribution
Private Module Registry
Git-based Modules
Troubleshooting Common Issues
Module Dependency Issues
State Management
Version Conflicts
Resources and Documentation
Official Resources
- Terraform Registry: registry.terraform.io/namespaces/terraform-aviatrix-modules
- GitHub Organization: github.com/terraform-aviatrix-modules
- Documentation: Terraform Provider Documentation
Community Resources
- Terraform Community Forum: Discussion and troubleshooting
- Aviatrix Community Slack: Real-time support and collaboration
- Example Repositories: Complete deployment examples and patterns
Learning Resources
- Module Development Guide: Best practices for creating custom modules
- Testing Framework: Tools and patterns for module testing
- CI/CD Integration: Automated testing and deployment pipelines