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!



