
Master infrastructure deployment on the cloud with Terraform and automate post deployment tasks using Ansible, including labs, certification prep, and end-to-end lifecycle.
Master infrastructure as code with Terraform and post-deployment automation with Ansible across a complete cloud deployment lifecycle on AWS and GCP, featuring hands-on labs and certification.
Deploy infrastructure as code with Terraform to automate multi-cloud environments, enabling cloud-agnostic deployments and disaster recovery across different providers, while tracking resource state.
Discover the three-phase Terraform workflow: write the configuration, review the plan, and apply changes to deploy cloud infrastructure, with iterative reviews to finalize resources.
Learn how to initialize Terraform with the Terraform init command to prepare your working directory, download modules and plugins, and set up the backend for deployments, a mandatory first step.
Learn Terraform's plan, apply, and destroy workflow—from init to deployment—reviewing anticipated resources, authentication, and the role of state/estate files in tracking deployments.
Set up a free AWS account for Terraform practice by entering details, verifying billing, selecting the free plan, and accessing the management console in US East 2.
Create a cloud ubuntu machine on digital ocean for terraform execution, install terraform, and access it via ssh using putty or other ssh clients on a budget-friendly $5/month droplet.
Install and verify Terraform on a Linux box by updating the package manager, downloading linux 64-bit zip from official site, unzipping, and placing Terraform in /usr/local/bin to verify version 0.13.3.
Learn how to declare and install Terraform providers and initialize with Terraform init. Manage single or multiple cloud providers, understand provider plugins, and pin provider versions to ensure stable deployments.
Set up an AWS account for Terraform by creating an IAM admin user with programmatic access, configuring security groups to whitelist your IP, and noting access keys for deployment.
Learn to create a machine with Terraform by configuring the provider and credentials, selecting the region and image, and initializing, planning, applying, and destroying resources.
Centralize credentials for Terraform by moving access key and secret key from the config into a dedicated provider file, enabling centralized management and secure deployments.
Learn how to supply aws credentials to Terraform via environment variables to avoid embedding credentials in configuration files, and verify with plan, apply, and destroy.
Configure credentials, define the number of instances, and assign dynamic names using count and index, then plan and apply to create three running instances.
Learn how the Terraform state file (estate file) tracks deployed resources, stores metadata, and serves as the backbone for updating or destroying infrastructure.
Learn to define Terraform input variables to parameterize deployments and pass runtime values, making configurations environment agnostic, using variable blocks with defaults, descriptions, and validation.
Use variables in Terraform configuration files to manage secrets securely, make configurations environment independent, and prevent credentials from entering git repos.
Learn how to use variables in a Terraform configuration file, including defining variables, prompting for values, passing via -var, and using a variables file, with init and plan workflows.
Explore how to define and use list and map variables in Terraform, including attaching security groups and mapping AMIs by region, with lookup and plan workflows.
Learn how to provision software on AWS instances using Terraform, choosing between building a custom AMI with tools like Packer and Chef, or installing software at runtime via remote-exec scripts.
Provision software on AWS instances using Terraform, create key pairs and security groups, upload install scripts, and install and start engine X on each instance via remote exec.
Discover how Terraform data sources fetch dynamic external information such as AMIs and availability zones. Use data sources to access IP ranges and CIDR blocks for security rule filtering.
Leverage Terraform data sources to fetch dynamic values such as availability zones and AMIs at runtime, then apply them to select the right zone and image for instances.
Learn to use Terraform data sources to filter IP ranges by reasons and dynamically create security groups with inbound TCP 443 rules across availability zones.
Explore output attributes in Terraform, declare output blocks, and use values like private and public IPs with Ansible or parent modules after apply.
Explore output attributes in Terraform lab, declare outputs for public IP, capture private IP with local-exec to a file, and review outputs after apply.
Learn how Terraform remote state uses remote backends to store and lock state, enabling safe plan and apply, isolation across environments, and encryption in transit and at rest.
Learn how to configure a remote state backend in Terraform using an S3 bucket, enable versioning and encryption, and manage state locking for multi-user workflows.
Learn about Amazon VPC networking, including subnets, route tables, internet gateways, VPC endpoints, security groups, and ACLs, and how to deploy them with Terraform for secure cross-VPC communication.
Explore aws vpc basics: subnets, cidr blocks, ipv4 ranges, and the distinction between public and private subnets, plus security groups as instance firewalls with inbound and outbound rules.
Learn to create a custom AWS VPC with public and private subnets and a security group using the cloud management console, then launch EC2 instances within the VPC.
Create a custom aws vpc with public and private subnets, an internet gateway and nat gateway using terraform, and learn routing and configuration steps.
Launch an EC2 instance in a custom VPC with Terraform, using a security group and key pair, and configure inbound SSH rules on port 22.
Launch and configure an EC2 instance in a custom VPC with Terraform, planning, applying, and destroying resources while creating security groups, subnets, and a key pair.
Explore elastic block storage with AWS EBS, including durable volumes, boot vs secondary disks, and how to attach, resize, and change volume types for persistent data across instances.
Provision elastic block store (EBS) in AWS via the cloud console and attach it to a running EC2 instance; use a 30 GB gp2 volume and preview Terraform integration.
Explore how to create an AWS EBS volume with Terraform, attach it to an EC2 instance, format, mount, and persist data across reboots and terminations.
Pass user data to AWS instances at launch, using shell scripts or cloud init directives to auto-configure the environment and install software on first boot only.
This lab guides you to embed a user data script in Terraform to install Apache on an Ubuntu instance, deploy a custom message, and expose it via a public IP.
Demonstrates using cloud init with Terraform to configure a remote instance: create a cloud init cfg, template it, install Apache, enable and start services, and capture output for verification.
Explore AWS RDS basics, a managed relational database service offering automatic backups, patching, and auto failover with high availability, plus setup steps for subnet, security, parameter groups, and Terraform.
Launch a MariaDB rds instance on aws with terraform by creating a vpc, subnets, security groups, a db subnet group and parameter group, then connect to the database.
Discover how AWS IAM secures public cloud access by managing principals, authentication, authorization, and policies, while organizing users, groups, and roles to control resource access.
Create and manage AWS IAM users and groups with Terraform, defining users, groups, group membership, and administrator access policy through a plan and apply workflow.
Create AWS IAM roles and policies with Terraform to grant S3 bucket access, attach roles to EC2 instances, and verify access by uploading files from the instance.
Master EC2 autoscaling by configuring auto scaling groups, launch configurations, and scaling plans to automatically adjust instances, maintaining health, optimizing costs, and meeting demand.
Configure ec2 autoscaling with terraform by creating a launch configuration and an auto scaling group. Define cpu-based scaling policies and CloudWatch alarms to trigger scale-out and scale-down.
Learn how AWS elastic load balancer distributes traffic across healthy targets, compares classic, network, and application load balancers, and implements path-based and host-based routing with SSL offloading.
Learn to deploy an AWS elastic load balancer with Terraform, including security groups, listeners, health checks, and auto scaling, then verify load distribution via curl across instances.
Uncover how Terraform modules create reusable, configurable infrastructure code across dev, staging, and production, and learn to call modules from registry, GitHub, or local sources.
Explore using a Terraform module from GitHub to deploy an AWS EC2 instance, configuring the provider, variables, subnet, and planning and applying changes.
Learn to create a local path module for a custom VPC, define variables in a module, and apply environment-specific VPCs using the same module in separate development environments.
Create a complete VPC network module in Terraform for AWS, defining VPC, internet gateway, subnets, route table, associations, and security group, with variables and outputs ready for later instance deployment.
Learn to configure a Terraform setup that uses a VPC module to launch an EC2 instance in AWS, including provider, module sourcing, variables, and outputs for public IP.
Execute a Terraform module to provision an AWS VPC stack, plan and apply to create eight resources, including a VPC, subnets, route table, internet gateway, and security group in production.
Learn conditional statements in Terraform using the ternary operator, boolean logic, and comparisons to control resource counts in configurations. Explore interpolation, in-built modules, and environment-based provisioning.
Define conditional statements in Terraform to adjust AWS EC2 instance counts based on environment variables, using a GitHub module and variable-driven configuration, then plan, apply, and destroy to manage resources.
Learn how to use Terraform built-in functions for data transformation, including base64 encode/decode, list operations with junk list, compact, concat, lookup, contains, element, file, length, timestamp, trim, and uid.
Explore Terraform built-in functions through the console, testing base64 encode/decode, junk_list, seq, compact, concat, contains, element, uid, timestamp, length, split, and replace with practical examples.
Explore Terraform looping constructs—use count to create multiple resources, for to transform lists or maps, and for_each to generate blocks within a resource, including IAM users and security group rules.
Adopt a modular Terraform project structure with reusable modules and separate development, staging, and production environments across distinct accounts to isolate resources and prevent production failures.
Explore a practical Terraform project structure that builds a shared VPC module for development and production on AWS, including VPC, subnets, and instances, with module reuse and environment-specific configs.
Welcome to this Amazing course on Terraform with Ansible: Infra Deployment and Automation. Below is the list of modules covered in this course.
With tremendous popularity and adoption of Terraform by the Industry, the HashiCorp Certified: Terraform Associate has become one of the most popular certifications in today's market.
This course is specifically designed for individuals who are new to Terraform and are planning to implement Terraform in their organization and want to get an in-depth view of various topics and best practices, along with gaining the official Terraform certification.
Ansible is a simple IT automation engine, that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Designed for multi-tier deployments since day one, Ansible models your IT infrastructure by describing how all your systems interrelate, rather than managing one system at a time.
This course is a comprehensive, hands-on course with the discovery of orchestration, DevOps, and automation using Ansible.
Explore Ansible with cloud services and its AWS provisioning. Understand infrastructure automation and decide what makes Ansible a good choice for your projects. Get started with Ansible through playbooks and organize the automation of infrastructure tasks by building and using roles from Ansible Galaxy. Explore variables and templates to configure application deployments easily.