Skip to main content

Command Palette

Search for a command to run...

1. Why Learn on the AWS Console First Before Using Terraform?

Updated
2 min read
1. Why Learn on the AWS Console First Before Using Terraform?

Introduction

Infrastructure as Code (IaC) has transformed how cloud infrastructure is managed, making deployments more scalable, reproducible, and efficient. However, before jumping into automation with Terraform, it's essential to first learn how to create and manage resources using the cloud provider's console. This approach builds a strong foundation and helps avoid common pitfalls when transitioning to IaC.

Why Start with the Cloud Console?

1. Understanding Cloud Services and Dependencies

  • Cloud providers offer a variety of services like compute, networking, and databases.

  • Creating resources manually helps you understand how different components interact.

2. Troubleshooting and Debugging

  • When things go wrong in Terraform, knowledge of the console helps diagnose issues.

  • Knowing where to check logs, security settings, and dependencies is crucial.

3. Building an Intuitive Mental Model

  • Seeing the configurations in the UI makes it easier to relate them to Terraform code.

  • Helps in understanding default values, required parameters, and best practices.

4. Avoiding the "Black Box" Effect

  • Jumping straight into Terraform might lead to blindly copying configurations without truly understanding them.

  • Manual creation ensures you grasp how things work before automating them.

Step-by-Step: Manually Deploying an EC2 Instance

Let's walk through creating an EC2 instance manually in AWS to understand the process before automating it with Terraform.

1. Navigate to EC2 in the AWS Console

  • Log into your AWS account.

  • Go to the EC2 Dashboard and click on Launch Instance.

2. Choose an Amazon Machine Image (AMI)

  • Select an OS (e.g., Amazon Linux, Ubuntu, Windows Server).

  • Understand why certain AMIs are better suited for specific workloads.

3. Select an Instance Type

  • Choose a type based on compute power and memory needs (e.g., t2.micro for free-tier usage).

  • Learn about CPU, memory, and performance trade-offs.

4. Configure Instance Details

  • Set networking options (VPC, subnets, auto-assignment of public IPs).

  • Enable monitoring, IAM roles, and placement strategies.

5. Add Storage

  • Define storage size, type (GP2, GP3 SSD, Magnetic, etc.), and encryption settings.

6. Configure Security Groups

  • Set inbound and outbound rules.

  • Understand why limiting access is crucial for security.

7. Launch and Connect to the Instance

  • Connect via SSM.

Key Takeaways

  • Learning via the console helps you grasp cloud concepts, dependencies, and security settings.

  • Manual creation builds confidence before automating with Terraform.

  • Debugging Terraform issues becomes easier when you know how things work in the UI.

What’s Next?

In the next article, we’ll take what we’ve learned and automate the deployment of an EC2 instance using Terraform. Stay tuned!