https://github.com/olymahmudmugdho/aws-terraform-workshop
This repository contains the hands-on exercises and code samples from a comprehensive workshop on Terraform and AWS. The workshop covers fundamental to advanced topics in Infrastructure as Code (IaC) using Terraform, along with practical implementations on AWS.
https://github.com/olymahmudmugdho/aws-terraform-workshop
amazon-web-services aws cloud-computing iac infrastructure-as-code terraform
Last synced: 2 months ago
JSON representation
This repository contains the hands-on exercises and code samples from a comprehensive workshop on Terraform and AWS. The workshop covers fundamental to advanced topics in Infrastructure as Code (IaC) using Terraform, along with practical implementations on AWS.
- Host: GitHub
- URL: https://github.com/olymahmudmugdho/aws-terraform-workshop
- Owner: OlyMahmudMugdho
- Created: 2025-02-16T14:21:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-02T16:55:57.000Z (about 1 year ago)
- Last Synced: 2025-04-02T17:45:43.768Z (about 1 year ago)
- Topics: amazon-web-services, aws, cloud-computing, iac, infrastructure-as-code, terraform
- Language: HCL
- Homepage:
- Size: 1.94 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Terraform and AWS Workshop
## Introduction
This repository contains the hands-on exercises and code samples from a comprehensive workshop on **Terraform and AWS**. The workshop covers fundamental to advanced topics in **Infrastructure as Code (IaC)** using Terraform, along with practical implementations on AWS.
## Workshop Modules
### 1. Introduction to Terraform and AWS
- Get acquainted with the fundamentals of **Terraform** and **AWS**.
- Connect your AWS instance with Terraform and deploy a basic **EC2 instance**.
- Understand the core principles of **Infrastructure as Code (IaC)** and its significance in modern cloud environments.
### 2. Setting up Terraform with AWS
- Learn about the importance of **Terraform state** and how to leverage AWS cloud for state storage.
- Securely store credentials in AWS and retrieve them using Terraform.
### 3. Writing Terraform Configurations
- Explore **HashiCorp Configuration Language (HCL)** and write real-world Terraform configurations.
- Use **variables and outputs** in infrastructure code to manage AWS resources.
- Create **Terraform modules** for reusable and scalable infrastructure.
### 4. Managing Terraform State
- Understand the significance of **state management** in Terraform.
- Utilize **remote state storage**, state locking, state migration, and resolve state conflicts.
- Follow best practices in managing and securing Terraform state files.
### 5. Advanced Terraform Features
- Implement **workspaces** to manage multiple environments efficiently.
- Leverage **data sources and provisioners** to enhance Terraform capabilities.
### 6. Automating AWS Deployments with Terraform
- Set up **CI/CD pipelines** on AWS using Terraform.
- Automate application deployment on **Elastic Beanstalk** using **AWS CodePipeline** and Terraform configurations.
### 7. Troubleshooting and Debugging Terraform Configurations
- Learn best practices for troubleshooting common Terraform issues.
- Understand error messages, logging, and debugging techniques to maintain configurations efficiently.
### 8. Final Project: Deploying Secure EC2 Instances with a Shared RDS Database
- Apply everything learned in a comprehensive **final project**.
- Deploy secure **EC2 instances** sharing a centralized **RDS database**.
## Folder Structure
```
📂 terraform-aws-workshop
├── 📂 part-1 # Introduction to Terraform and AWS
├── 📂 part-2 # Setting up Terraform with AWS
├── 📂 part-3 # Writing Terraform Configurations
├── 📂 part-4 # Managing Terraform State
├── 📂 part-5 # Advanced Terraform Features
├── 📂 part-6 # Automating AWS Deployments with Terraform
├── 📂 part-7 # Troubleshooting and Debugging
├── 📂 part-8 # Final Project: Secure EC2 with RDS
```
## Prerequisites
Before using the code, ensure you have the following installed:
- [Terraform](https://www.terraform.io/downloads)
- [AWS CLI](https://aws.amazon.com/cli/)
- AWS IAM credentials with necessary permissions
## Getting Started
1. Clone this repository:
```bash
git clone https://github.com/OlyMahmudMugdho/your-repository-name.git
```
2. Navigate to the specific module you want to work with:
```bash
cd part-1 # Change as needed
```
3. Follow the instructions in the corresponding `README` file
## Author
[M. Oly Mahmud](https://github.com/OlyMahmudMugdho)