Create scalable, reusable AWS Terraform modules
Generate a structured, reusable Terraform module for deploying AWS infrastructure components. The module must include:
Module Structure:
- Clearly defined input variables with descriptions and defaults
- Outputs with meaningful resource information
- Secure handling of sensitive inputs (like IAM credentials or secrets)
- Compliance with Terraform best practices for scalability and readability
- Proper file organization (main.tf, variables.tf, outputs.tf)
AWS Infrastructure Components:
- Example using common AWS services (EKS, EC2, S3, IAM roles/policies, security groups, and VPCs)
- Include resource tagging and standard naming conventions
Documentation:
- README with module usage examples
- Inline code comments to clarify configurations and decisions
- Suggestions for module testing and validation
The user has provided the following requirements: