# 📘  Terraform Series – Day 2

### Terraform Setup on AWS EC2 & Local (Ubuntu , window )

In Day 1, we understood the fundamentals of Terraform and Infrastructure as Code (IaC).  
Now, in Day 2, we will set up Terraform in real environments.

This guide covers installation on:

*   AWS EC2 (Ubuntu)
    
*   Local Ubuntu Machine
    
*   Windows (using Chocolatey)
    

### 🎯 Objective

*   Install Terraform in different environments
    
*   Follow secure installation practices
    
*   Verify installation properly
    

### <mark class="bg-yellow-200 dark:bg-yellow-500/30">☁️ Part 1: Setup on AWS EC2 (Ubuntu)</mark>

### 🧱 Step 1: Create EC2 Instance

*   Go to AWS EC2 Dashboard
    
*   Click **Launch Instance**
    
*   Select:
    
    *   OS → Ubuntu
        
    *   Instance Type → t2.micro (Free Tier)
        
*   Create key pair
    
*   Launch instance
    

### 🔐 Step 2: Connect via SSH

```plaintext
ssh -i your-key.pem ubuntu@your-ec2-public-ip
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/6fc32909-6fcd-4f15-9950-c0047ddce544.png align="center")

### 📦 Step 3: Update System

```plaintext
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/53f9989b-0108-4539-948d-f8b6a0584ead.png align="center")

### 🔑 Step 4: Add HashiCorp GPG Key

```plaintext
wget -O- https://apt.releases.hashicorp.com/gpg | \
gpg --dearmor | \
sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/74851202-a799-4aa3-a932-420e96edc12d.png align="center")

### ✅ Step 5: Verify GPG Key

```plaintext
gpg --no-default-keyring \
--keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
--fingerprint
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/367597fb-f49b-46a7-8a2e-f95e40bc41e3.png align="center")

👉 Ensures authenticity and security

### 📁 Step 6: Add Repository

```plaintext
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
sudo tee /etc/apt/sources.list.d/hashicorp.list
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/9fed7f68-a778-4a1a-9a9b-d4942afdffa7.png align="center")

### 🔄 Step 7: Update Packages

```plaintext
sudo apt-get update
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/dd524921-cce0-4198-b4a6-13e9c7aa6ffd.png align="center")

### ⚙️ Step 8: Install Terraform

```plaintext
sudo apt-get install terraform
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/d8dedd16-9507-4a19-9486-b6029474a30c.png align="center")

### 🔍 Step 9: Verify Installation

```plaintext
terraform --version
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/fa254ee3-fb6a-40a0-a8d8-4d78f6416512.png align="center")

### 💻 Part 2: Local Installation (Ubuntu)

👉 Follow the **same steps as EC2**

No changes required — works exactly the same.

### 🪟 Part 3: Terraform Installation on Windows

### 📦 Step 1: Install using Chocolatey

```plaintext
choco install terraform
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/64341917-39e1-4b4d-b2c2-76e83a44fb1f.png align="center")

👉 Make sure **Chocolatey is installed** on your system

### 🔍 Step 2: Verify Installation

Open a new terminal (CMD/PowerShell):

```plaintext
terraform -help
```

Expected output:

```plaintext
Usage: terraform [global options] <subcommand> [args]
```

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/a5bbdf15-e299-49ff-8b38-aa625b9985fd.png align="center")

👉 Shows all available Terraform commands

### ⚡ Enable Autocomplete (Optional but Recommended)

### 🐧 Bash

```plaintext
touch ~/.bashrc
terraform -install-autocomplete
```

### 🐚 Zsh

```plaintext
touch ~/.zshrc
terraform -install-autocomplete
```

👉 Restart terminal after this step

![](https://cdn.hashnode.com/uploads/covers/685cdc0d5ca95e55fac3ab09/70cab01c-dd28-4ad3-95e7-ae402a5a215a.png align="center")

### 📘 Alternative Installation Method

You can also install Terraform using the official HashiCorp documentation depending on your OS and requirements.

[Terraform official Documentation](https://developer.hashicorp.com/terraform)

## **👨‍💻 About the Author**

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1751797710818/123a7231-3dca-4273-ad68-7bd026f69b95.png?auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp&auto=compress,format&format=webp align="center")

<mark class="bg-yellow-200 dark:bg-yellow-500/30">“This Kubernetes series focuses on building a strong foundation by understanding real Kubernetes concepts step by step.”</mark>

### **📬 Let's Stay Connected**

*   📧 **Email**: [**gujjarapurv181@gmail.com**](mailto:gujjarapurv181@gmail.com)
    
*   🐙 **GitHub**: [**github.com/ApurvGujjar07**](http://github.com/ApurvGujjar07)
    
*   💼 **LinkedIn**: [**linkedin.com/in/apurv-gujjar**](http://linkedin.com/in/apurv-gujjar)
