In the dynamic landscape of cloud computing, the ability to provision and manage infrastructure efficiently is crucial for organizations seeking agility and scalability. One of the powerful tools that have gained widespread adoption for this purpose is Terraform, an open-source Infrastructure as Code (IaC) tool by HashiCorp. This project explores how Terraform can be used to automate the provisioning of AWS resources, with a focus on key concepts like Terraform modules, handling multiple environments, implementing Terraform layering for large infrastructures, and integrating Continuous Integration and Continuous Deployment (CICD) processes.