
Discover how Terraform, powered by the HashiCorp Configuration Language, enables infrastructure as code to define and deploy resources with code, using providers like AWS, and track changes with version control.
Install Terraform on Linux and macOS, showing Ubuntu/Debian installation methods, downloading from terraform.io, and using brew or Homebrew to check the Terraform version.
Install Terraform on Windows by downloading the 64-bit version, extracting the zip, moving the executable, adding its folder to the system path, and verifying with Terraform --version in PowerShell.
Set up and connect your local Terraform workspace to an AWS account, learning how to create and configure infrastructure as code in the AWS cloud.
Create a new AWS account, sign in as root, and enable multi-factor authentication while exploring the free tier and initial region settings in the management console.
Learn how to enable multi-factor authentication for the AWS root user using an authenticator app, scan a QR code, and enter codes to secure your account.
Create an AWS budget to monitor spend and receive email alerts when costs exceed a threshold, noting that budgets only notify and do not disable resources.
Create an admin IAM user and group, grant administrator full access to AWS services, enable console access, and avoid using the root account for resource management.
Learn how to set up an IAM user with programmatic access, generate and secure access keys, install and configure the AWS CLI to manage resources from the command line.
Launch a free tier eligible EC2 instance with Ubuntu, set up an SSH key pair, connect via SSH or EC2 Instance Connect, and terminate when finished.
Install Visual Studio Code, an integrated development environment that speeds up Terraform, Python, Ansible, and YAML workflows with autocompletion and highlighting.
Install the official HashiCorp Terraform extension in VSCode to enable syntax highlighting and auto completion. Explore the extensions panel, compare options, and prepare to start working with Terraform.
Set up a dedicated Terraform workspace in VS Code, configure the AWS provider, and save a provider block with region details for your cloud resources.
Initialize a new Terraform workspace by setting up the backend and provider plugins, install the AWS provider, create a Terraform log, and download binaries into a hidden folder.
Build your first cloud server with Terraform by defining an AWS EC2 resource, using an Ubuntu AMI ID, and choosing a free-tier T2 micro with the name Marek first server.
Use terraform plan to preview AWS resource creation before applying changes. Run terraform apply to create a virtual server and confirm the instance runs and matches the declared state.
Learn how to manage infrastructure with Terraform by destroying and re-creating AWS instances using terraform destroy and terraform apply, including destroy plan and state.
Terraform teaches you to create a custom AWS VPC and subnets, replacing the default VPC, by defining resources and planning before applying in Terraform.
Create a subnet in a VPC using Terraform, wiring the subnet to the VPC through a dependency tree and references to the VPC id, with CIDR and availability zone settings.
Explore how Terraform orchestrates AWS VPC, subnets, and network interfaces, showing dependency resolution and creation order from VPC to subnet to network interface to server.
Learn how Terraform manages cloud state with the tfstate file, use an S3 backend for remote storage, enable versioning, and implement locking to prevent concurrent edits.
Learn how to use variables in Terraform's HCL to replace repeated values with var references, set defaults, and simplify scalable infrastructure configuration.
Use a tfvars file to manage variables separately and override defaults, keeping sensitive values like passwords secure in a vault rather than in Git.
Discover how to scale Terraform with the count meta-argument to create 100 AWS instances, use count.index for unique names, and manage the VPC and subnets.
Explore how to use Terraform with Google Cloud provider and other providers by following the official documentation, understanding resources, modules, and meta arguments like count.
Welcome to Terraform Zero to Hero Course!
In this Terraform training for beginners we will learn how to deploy infrastructure using Terraform.
This Terraform tutorial will help you understand the fundamentals of Terraform and its architecture.
You will also learn HCL - HashiCorp Configuration Language and many other topics in just 2 hours!
You will learn all you need to start working with Terraform, for example:
What is Terraform and IaC (Infrastructure as a Code)
What is Terraform installation process on Linux and Mac
Terraform installation on Windows
Where can you create infrastructure? How to use IaC - Infrastructure as a Code?
How to create AWS account and log on as a root user
AWS CLI installation and API access keys configuration
AWS Free Tier, SSH keys and 'manual' EC2 server configuration
VSCode installation
VSCode Terraform extension installation
How to create Workspace and configure terraform provider
Terraform init and lock file explained
Build first server using terraform
terraform plan and terraform apply commands
terraform destroy command
Create AWS VPC using Terraform
How to add subnet and terraform dependency explained
Create server, vpc and subnet plus more about dependency
Terraform tfstate file
Terraform Variables
Terraform tfvars file explained
How to create 100 servers or other resources with 'count' meta-argument
How to use Terraform with GCP, Azure or other providers
Let's get started!