DEV Community

Do Ngoc Tuan Duy
Do Ngoc Tuan Duy

Posted on Edited on

Installing Terraform and Setting Up EC2 Environment for Ubuntu24.04

More AWS Guides

In this guide, we will walk through the step-by-step process of installing Terraform and preparing your local environment for infrastructure automation.

What You'll Learn

  • Install Terraform on Linux
  • Install AWS CLI
  • Configure AWS credentials
  • Verify your setup

Step 1: Install Terraform

# Update package list
sudo apt-get update

# Install required packages
sudo apt-get install -y gnupg software-properties-common wget gpg

# Add HashiCorp GPG key
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint

# Add HashiCorp repository
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

# Update and install Terraform
sudo apt-get update
sudo apt-get install -y terraform
Enter fullscreen mode Exit fullscreen mode

Verify Installation

terraform version
Enter fullscreen mode Exit fullscreen mode

Expected Output

Step 2: Install AWS CLI (Recommended)

# Download AWS CLI installer
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

# Install unzip if not present
sudo apt-get install -y unzip

# Unzip the installer
unzip awscliv2.zip

# Run the installer
sudo ./aws/install

#Check version
aws --version

# Clean up
rm -rf aws awscliv2.zip
Enter fullscreen mode Exit fullscreen mode

Step 3: Create IAM User for Terraform

In AWS Console:

  1. Go to IAM → Users → Create User
  2. Username: terraform (or your preferred name)
  3. Select "Provide user access to the AWS Management Console" (optional)
  4. Attach policies: AdministratorAccess (for learning; use restricted policies in production)
  5. Create user
  6. Go to Security Credentials → Create Access Key
  7. Select "Command Line Interface (CLI)"
  8. Download or copy:
  9. Access Key ID
  10. Secret Access Key

Step 4: Configure AWS Credentials

aws configure
Enter fullscreen mode Exit fullscreen mode

You'll be prompted for:

AWS Access Key ID [None]: <YOUR_ACCESS_KEY_ID>
AWS Secret Access Key [None]: <YOUR_SECRET_ACCESS_KEY>
Default region name [None]: ap-southeast-1 (or your preferred region)
Default output format [None]: json
Enter fullscreen mode Exit fullscreen mode

Verify Configuration

aws sts get-caller-identity
Enter fullscreen mode Exit fullscreen mode

Step 5: Set Up Your Working Directory

# Create project directory
mkdir -p ~/terraform-projects
cd ~/terraform-projects

# Create your first project folder
mkdir my-first-terraform
cd my-first-terraform
Enter fullscreen mode Exit fullscreen mode

Step 6: Test Your Setup

Create a simple test file with nano test.tf:

terraform {
  required_version = ">= 1.0"
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = "ap-southeast-1"
}

# This is just a test - we won't create any resources yet
output "account_id" {
  value = data.aws_caller_identity.current.account_id
}

data "aws_caller_identity" "current" {}
Enter fullscreen mode Exit fullscreen mode

Run Terraform commands:

# Initialize Terraform
terraform init

# Validate configuration
terraform validate

# See what would happen (no resources created)
terraform plan
Enter fullscreen mode Exit fullscreen mode

Expected Output:

Terraform has been successfully initialized!
Success! The configuration is valid.
Changes to Outputs:
  + account_id = "300374333197"
Enter fullscreen mode Exit fullscreen mode

Clean up test file:

rm test.tf
rm -rf .terraform .terraform.lock.hcl
Enter fullscreen mode Exit fullscreen mode

Top comments (0)