
Explore hands-on Terraform foundations. Build remote development environment with eight EC2 instances, VPC gateway, and security groups, bootstrapped via user data and local exec provisioner for access from voice code.
Build a minimal developer environment with Terraform by provisioning a VPC, subnet, internet gateway, public route table, security group, and an EC2 instance, and enable VS Code remote SSH access.
Set up Visual Studio Code with the IWC toolkit extension, create credentials and a profile, configure a region, install the Terraform syntax highlighting extension, and create a Terraform working directory.
Since I'm keeping this course under two hours to keep it free on Udemy (their rules), I decided that the easiest way to instruct everyone to install Terraform on their system of choice is to just provide Hashicorp Learn documentation. They explain very well and there's no sense in me recording it again, so check it out and reach out if you have any questions!
in this lesson, we're going to configure the AWS provider and run a Terraform Init to initialize terraform and get it ready to deploy AWS resources, so let's get started
Create and apply a VPC using Terraform, configuring CIDR 10.0.0.0/16, enable DNS support and DNS hostnames, name the resource for easy future reference, and run plan and apply.
Deploy a public subnet in your vpc with terraform, enabling public ips on launch, referencing the vpc id from state, and tagging the subnet for a dev public environment.
Create an internet gateway for a VPC, format the Terraform configuration with Terraform fmt, then plan and apply to deploy and verify the resource with tags.
Create a route table and a separate route to send all subnet traffic to the internet gateway via a default 0.0.0.0/0 route. Validate the setup with terraform plan and apply.
Create a root table association to link the dev public subnet with its root route table using Terraform, then run plan and apply to verify the association in VPC console.
Create a secure key pair and reference it with a Terraform aws_key_pair resource, loading the public key via the file function for EC2 access.
Deploy an EC2 instance with Terraform by scaffolding the resource, using a data source for the AMI, and configuring security groups, subnets, and a 10 GB root volume, then plan.
Bootstrap an EC2 instance with user data to install Docker. Load the user data tpl with the file function and run Terraform plan and apply.
Learn to configure ssh access to an EC2 instance by editing the ssh config file. Set host, hostname, user, and identity file using templates for Windows and Linux or macOS.
Redeploy EC2 instance with Terraform, triggering replacement to update config with IP, host name, user, and identity file, then verify SSH and set up VS Code server and Docker.
Learn how Terraform defines variables and the precedence rules, from defaults to var files to command-line overrides, with environment variables processed last; use tfvars, -var, and -var-file to control values.
Use conditional expressions to dynamically set the interpreter (PowerShell on Windows, bash on Linux) based on the host OS variable, then run Terraform plan and apply to deploy.
Welcome to the Hands-on Terraform Foundations course!
In this course, you're going to build your own development environment that allows you to automatically connect Visual Studio Code running on your Windows, Mac, or Linux machine to an EC2 instance running Ubuntu in AWS! This will allow you to easily configure a proper dev or devOps environment quickly through infrastructure automation using Terraform.
This course is for those brand new to Terraform who want to start diving in to such a great platform! We start from scratch and all you'll need is a little familiarity with AWS. All Powershell and/or Bash scripts are included!
This course is compatible with Windows, Mac, and Linux!
In this course, you'll learn many valuable Terraform concepts including:
Providers
State
Init
Plan
Apply
Destroy
FMT
Datasources
The File Function
The Templatefile Function
Provisioners
Variables
Conditional Expressions
Outputs
And More!
All while building an AWS environment including:
VPC
Subnets
Internet Gateway
Route Tables
Security Groups
AMIs
EC2 Instances
What does it mean to be a Resume Foundations Project? It means that this course is designed to help you learn the basics of a technology fast with a hands-on project that can serve as a framework for your own projects that you can put on your resume to get the DevOps job of your dreams!
So sign up today and get learning!