Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/faizan35/3-tier-custom-terraform-module
This project demonstrates the deployment of a 3-tier architecture on Amazon Web Services (AWS) using Terraform modules.
https://github.com/faizan35/3-tier-custom-terraform-module
aws terraform terraform-module vpc
Last synced: about 1 month ago
JSON representation
This project demonstrates the deployment of a 3-tier architecture on Amazon Web Services (AWS) using Terraform modules.
- Host: GitHub
- URL: https://github.com/faizan35/3-tier-custom-terraform-module
- Owner: faizan35
- License: mit
- Created: 2024-02-28T11:46:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-02-29T10:54:28.000Z (10 months ago)
- Last Synced: 2024-02-29T13:34:18.439Z (10 months ago)
- Topics: aws, terraform, terraform-module, vpc
- Language: HCL
- Homepage:
- Size: 150 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 3 Tier Custom Terraform AWS VPC Module
This project demonstrates the deployment of a 3-tier architecture on Amazon Web Services (AWS) using Terraform modules.
## Project Video
###### <--- Comming Soon --->
## Architectural Diagram
## Overview
The `3-Tier-Project` directory contains the main Terraform configuration for provisioning the infrastructure. It includes modules for configuring the application load balancer, EC2 instances, RDS instances, security groups, and VPC settings.
### Modules
- **app-lb:** Configures the application load balancer.
- **ec2-instance:** Defines EC2 instances with associated configurations and user data scripts.
- **rds:** Sets up RDS instances for database requirements.
- **sg:** Manages security groups to control traffic access.
- **vpc:** Configures the Virtual Private Cloud (VPC) settings.## State Backend
The `state-backend` directory contains configurations for the Terraform state backend, including setting up an S3 bucket and DynamoDB table for state management and locking.
Ensure that Terraform has the necessary permissions to access the S3 bucket and DynamoDB table for storing and locking the state file securely.
## Requirements
| Name | Version |
| ------------------------------------------------------ | ------- |
| [aws](#requirement_aws) | 5.38.0 |## Modules
| Name | Source | Version |
| ----------------------------------------------------------------------- | ---------------------- | ------- |
| [app_lb](#module_app_lb) | ./modules/app-lb | n/a |
| [ec2-instance](#module_ec2-instance) | ./modules/ec2-instance | n/a |
| [rds](#module_rds) | ./modules/rds | n/a |
| [sg](#module_sg) | ./modules/sg | n/a |
| [vpc](#module_vpc) | ./modules/vpc | n/a |## Inputs
| Name | Description | Type | Default | Required |
| --------------------------------------------------------------------------------------- | --------------------- | -------- | ------- | :------: |
| [allocated_storage](#input_allocated_storage) | DB Storage | `number` | n/a | yes |
| [ami](#input_ami) | AMI for EC2 | `string` | n/a | yes |
| [cidr_vpc](#input_cidr_vpc) | CIDR for VPC. | `string` | n/a | yes |
| [count_of_instance](#input_count_of_instance) | number of instance | `number` | n/a | yes |
| [instance_class](#input_instance_class) | Class Of Instance | `string` | n/a | yes |
| [instance_type](#input_instance_type) | Type of Instance | `string` | n/a | yes |
| [password](#input_password) | DB Password | `string` | n/a | yes |
| [private_cidr_vpc](#input_private_cidr_vpc) | Private CIDR for VPC. | `string` | n/a | yes |
| [private_cidr_vpc-2](#input_private_cidr_vpc-2) | Private CIDR for VPC. | `string` | n/a | yes |
| [public_cidr_vpc](#input_public_cidr_vpc) | public CIDR for VPC. | `string` | n/a | yes |
| [username](#input_username) | DB Username | `string` | n/a | yes |## Outputs
| Name | Description |
| -------------------------------------------------------------------------------------------- | ----------- |
| [SG_ID](#output_SG_ID) | n/a |
| [instance-ID](#output_instance-ID) | n/a |
| [internet_gateway](#output_internet_gateway) | n/a |
| [private_subnet_id](#output_private_subnet_id) | n/a |
| [private_subnet_id-2](#output_private_subnet_id-2) | n/a |
| [public_subnet_id](#output_public_subnet_id) | n/a |
| [vpc_id](#output_vpc_id) | n/a |## Maintenance
Ensure to keep your Terraform configurations up-to-date with any changes or updates to your infrastructure requirements. Periodically review and audit your resources to optimize costs, security, and performance.
## Contributions
Feel free to contribute to this project by submitting pull requests, reporting issues, or suggesting enhancements.
## License
This project is licensed under the [MIT License](LICENSE).