Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Bryan Krausen • 150,000+ Enrollments Worldwide and Gabe Maentz

Start your journey of deploying and managing cloud infrastructure using HashiCorp Terraform right here. When HashiCorp sells training to its customers, they come to Bryan and Gabe to deliver it. If HashiCorp trusts us to train its largest customers, why wouldn't you?

Read more

Start your journey of deploying and managing cloud infrastructure using HashiCorp Terraform right here. When HashiCorp sells training to its customers, they come to Bryan and Gabe to deliver it. If HashiCorp trusts us to train its largest customers, why wouldn't you?

This is one of the most comprehensive and extensive courses on Udemy for learning how to use HashiCorp Terraform. Rather than bore you with slides and lectures, we're taking it up a notch and teaching you how to use Terraform with a 100% hands-on lab-based approach. No more listening to inexperienced instructors talk for hours in between inconsistent demos...we've been doing this for years...and we're really good at it, too. By taking a hands-on approach, you'll quickly absorb the topic at hand and become better with every keystroke in our labs.

You Get The Following Benefits By Using This Course:

  • 100% Hands-On Based Approach to Learning Terraform

  • Over 70 Hands-On Labs Covering Features Available in the Latest Version of Terraform

  • Covers both Terraform Community/CLI and HCP Terraform

  • Final Practice Test, Quizzes, and Complete Study Guide for Certification Preparation

  • Written by HashiCorp Ambassadors who Teach the Official HashiCorp Curriculum

This course includes in-depth, hands-on labs using Amazon Web Services (AWS) that follow all of the HashiCorp Certified: Terraform Associate exam objectives. We've created detailed labs for each concept that builds on the previous topics, so you can be sure to put all of Terraform's features to work for you. All labs used AWS as the main provider, but we use probably 5-10 other providers throughout the course as well. The focus of this course is on learning Terraform, although we're sure you'll pick up some nice AWS tips along the way.

In this course, we cover a wide variety of topics, including:

  • The benefits of using Infrastructure as Code

  • Real-World Use Cases and Examples in AWS

  • Developing Terraform code using HCL2

  • Code Management and Organization

  • Terraform File Management

  • Installing and Using Terraform on your Workstation

  • Terraform Providers

  • Using the Terraform CLI

  • Manage Terraform State

  • Know the Terraform Workflow for provisioning and managing resources

  • Read, Generate, and Modify Terraform Configuration

  • Use Terraform Cloud and Enterprise features

About The Instructors

Created by two experienced instructors, Bryan and Gabe have been delivering official HashiCorp training for many years. These training classes vary between private, in-depth training, personalized advanced training, all the way to the official training courses listed on HashiCorp's website. Both Bryan and Gabe were the first people to earn the HashiCorp Certified: Terraform Associate and have spoken at HashiCorp's conferences and community events.

Enroll now

What's inside

Syllabus

Course Introduction

Gabe and Bryan introduce the course in this lecture.

GitHub Repo for Supporting Files

Important information about how to use this course, including accessing the lab guides and other links to watch out for...

Read more

In this lecture, students can expect to better understand and explain what Infrastructure as Code is and how it can help your organization.

Why would you choose to use Infrastructure as Code to deploy your resources? Well, join me in this lecture and we'll see firsthand how we can use it to easily deploy complex architectures with a simple terraform apply command.

In this lecture, students can expect to learn about using basic Terraform basics commands, including:

  • terraform version

  • terraform init

  • terraform validate

  • terraform plan

  • terraform apply

  • terraform destroy

Terraform is written using HashiCorp Configuration Language (HCL). In this lab, we'll introduce you to HCL and create a simple resource block to create a new resource in our cloud environment.

Terraform is logically split into two main parts - Terraform Core and Terraform Plugins. We'll talk about why this is important in this section.

Now that you know exactly what Terraform Providers are....we'll dive into how they get installed and understand how we can control the specific versions to use.

In this section, we'll discuss how to use input variables to easily make our code reusable and flexible.

How can we write our Terraform code to be completely reusable and create and manage our infrastructure like simple building blocks? Terraform modules...that's how.

One of the superpowers of Terraform is the ability to work with multiple providers in a single configuration file. In this lecture, we'll look at how you can manage all these providers.

In this lab, we'll talk about how to use the TLS provider to generate an SSH key that we can use for our AWS instances.

In this lab, you'll learn why it’s highly recommended that you specify versions for your providers.

In this lecture, we'll learn how to interact with our local or remote infrastructure using Terraform provisioners.

Help. I'm a messy coder and my code looks terrible. How can I make it nice and readable? In this lecture, you'll learn about the terraform fmt command to help.

What happens when a resource doesn't deploy correctly but Terraform thinks that it did? How can we force Terraform to replace that particular resource? Well, we taint the resource which instructs Terraform to replace it.

What happens when you start using Terraform after you already have some resources deployed out in your environment? In this lecture, we'll learn how to use terraform import to bring those under Terraform management.

In this lecture, we'll walk through the use of Terraform workspaces (open-source) to show you how you can manage state when deploying the same Terraform configuration to multiple AWS regions.

In this lecture, we'll look at some commands that can be helpful to debug issues when running your Terraform code.

While we introduce the modules block in one of the first sections, we'll dive much deeper in this section, starting with this lab.

In this lecture, we'll talk about using the terraform apply command to deploy, change, or destroy our managed infrastructure.

Ready to get rid of all those resources? If so, you're in luck because we're gonna talk about the terraform destroy command as the last part of the Terraform workflow.

In this lab, we'll talk about the default local state that Terraform will use to manage resources.

In this lab, we'll show you how Terraform will lock the state file to avoid operational problems when working with Terraform.

In this lecture, we'll talk about how to migrate your state to a new S3 bucket

Not all providers require a public cloud to use Terraform.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Offers hands-on labs that cover features available in the latest version of Terraform, which is essential for practical application in real-world scenarios
Written by HashiCorp Ambassadors who teach the official HashiCorp curriculum, ensuring alignment with industry best practices and standards
Covers both Terraform Community/CLI and HCP Terraform, providing a comprehensive understanding of Terraform's capabilities across different environments
Includes a final practice test, quizzes, and a complete study guide for certification preparation, which helps learners assess their knowledge and readiness
Labs use AWS as the main provider, but also incorporate 5-10 other providers, exposing learners to a variety of cloud environments and configurations
Requires learners to create credentials in their AWS account to use with Terraform, which may pose a barrier to some learners without existing AWS experience

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on terraform associate certification prep

According to learners, this course is a largely positive experience for those preparing for the HashiCorp Certified: Terraform Associate exam, particularly praising its 100% hands-on lab-based approach. Students highlight the practical application of concepts and the clear explanations provided by the experienced instructors who are HashiCorp Ambassadors. Many found the labs to be very useful for solidifying understanding and gaining real-world experience. While the course is well-regarded for its certification focus and practical labs, some reviewers noted that basic AWS knowledge is beneficial and occasional lab setup challenges might arise. Overall, it's seen as a strong resource for hands-on learning.
Beneficial to have prior cloud exposure.
"While the course focuses on Terraform, having some prior experience with AWS is definitely helpful, especially with the labs."
"Beginners to cloud computing might find some parts challenging without a basic understanding of AWS services."
"I had some AWS background, which made the labs easier to follow. Pure beginners might need supplementary material on AWS."
"Some reviews mention needing AWS prerequisites. I agree, a little cloud knowledge goes a long way here."
Instructors are knowledgeable and engaging.
"Bryan and Gabe are clearly experts. Their explanations are clear and easy to follow."
"The instructors' real-world experience shines through, making the content highly relevant and practical."
"Great instructors who know their stuff and explain complex topics simply."
"Bryan and Gabe's teaching style is engaging, and they provide helpful context based on their experience."
Excellent resource for exam readiness.
"I feel much more confident taking the Terraform Associate exam after completing this course. The content aligns perfectly."
"Highly recommend for anyone studying for the HashiCorp Certified: Terraform Associate exam. It covers all objectives."
"The practice test and study guide included were invaluable for my exam preparation."
"This course is laser-focused on the certification, which is exactly what I needed. The labs are tailored to exam topics."
Course focuses heavily on practical application.
"The hands-on labs were the highlight for me; I learned so much by actually doing the exercises."
"Loved the hands-on labs. They really helped solidify the concepts and prepare me for real-world scenarios."
"The entirely hands-on approach is fantastic. It's not just theory; you are constantly building and applying what you learn."
"This course excels in its practical exercises. Working through the labs made the learning process very effective and engaging."
Potential challenges with lab setup.
"Setting up the environment for the labs required some troubleshooting on my end."
"Keep an eye on your AWS costs while doing the labs, as some resources can incur charges."
"A few labs had minor issues or required specific configurations not immediately obvious."
"I encountered a couple of small hiccups setting up the labs initially, but the provided guides were helpful."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in HashiCorp Certified: Terraform Associate - Hands-On Labs with these activities:
Review Cloud Infrastructure Concepts
Reinforce your understanding of cloud infrastructure concepts before diving into Terraform. This will help you better grasp the 'why' behind Terraform's actions.
Browse courses on Cloud Infrastructure
Show steps
  • Review the basics of cloud computing, including IaaS, PaaS, and SaaS.
  • Familiarize yourself with common cloud providers like AWS, Azure, and GCP.
  • Understand the core components of cloud infrastructure, such as virtual machines, networks, and storage.
Read 'Infrastructure as Code: Managing Servers in the Cloud'
Gain a deeper understanding of Infrastructure as Code principles. This book will provide a broader context for Terraform and its role in modern cloud environments.
Show steps
  • Read the book 'Infrastructure as Code: Managing Servers in the Cloud'.
  • Take notes on key concepts and techniques.
  • Relate the concepts to the Terraform course material.
Practice Terraform CLI Commands
Reinforce your understanding of Terraform CLI commands through repetitive practice. This will improve your speed and accuracy when working with Terraform.
Show steps
  • Practice using 'terraform init', 'terraform plan', 'terraform apply', and 'terraform destroy' commands.
  • Experiment with different options and flags for each command.
  • Create and destroy simple infrastructure resources using the CLI.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Document Terraform Modules
Solidify your understanding of Terraform modules by creating documentation for them. This will force you to think critically about the module's purpose, inputs, outputs, and usage.
Show steps
  • Choose a Terraform module you have created or found online.
  • Write a detailed description of the module's purpose and functionality.
  • Document the module's inputs, outputs, and any dependencies.
  • Create examples of how to use the module in different scenarios.
Read 'Terraform Up & Running'
Enhance your practical skills with Terraform by reading this book. It covers core concepts and advanced topics, making it a valuable reference for all skill levels.
Show steps
  • Read the book 'Terraform Up & Running'.
  • Work through the examples and exercises in the book.
  • Apply the concepts learned to your own Terraform projects.
Automate a Multi-Tier Application Deployment
Apply your Terraform knowledge to a real-world project by automating the deployment of a multi-tier application. This will challenge you to integrate different Terraform concepts and solve complex problems.
Show steps
  • Design a multi-tier application architecture (e.g., web server, application server, database).
  • Write Terraform code to provision the necessary infrastructure resources.
  • Configure the application deployment process using Terraform provisioners or other tools.
  • Test the deployment process and make any necessary adjustments.
Contribute to a Terraform Provider
Deepen your understanding of Terraform providers by contributing to an open-source provider. This will expose you to the inner workings of Terraform and allow you to learn from experienced developers.
Show steps
  • Identify an open-source Terraform provider that you are interested in.
  • Review the provider's code and documentation.
  • Find a bug or feature request that you can contribute to.
  • Submit a pull request with your changes.

Career center

Learners who complete HashiCorp Certified: Terraform Associate - Hands-On Labs will develop knowledge and skills that may be useful to these careers:
Cloud Engineer
As a Cloud Engineer, you will design, build, and maintain cloud infrastructure, often using Infrastructure as Code tools. This course provides hands-on experience with Terraform, a leading Infrastructure as Code tool, making it highly relevant for this role. You'll learn how to automate the deployment and management of cloud resources using HashiCorp Configuration Language, a critical skill for a Cloud Engineer. The course covers Terraform basics, providers, and state management, all essential for success in this field. The course also delves into Terraform Cloud and Enterprise features, potentially enhancing your ability to manage cloud environments at scale as a Cloud Engineer.
DevOps Engineer
A DevOps Engineer focuses on automating and streamlining software development and deployment processes, often involving infrastructure management. This course provides practical experience with Terraform, a key tool for Infrastructure as Code, a cornerstone of DevOps practices. You'll learn to automate infrastructure provisioning and configuration, manage Terraform state, and use Terraform Cloud and Enterprise features. The hands-on labs will help you develop the skills needed to effectively manage cloud resources, building a pathway to the role of DevOps Engineer. Moreover, the course covers real-world use cases in AWS.
Infrastructure Automation Engineer
The Infrastructure Automation Engineer automates the provisioning, configuration, and management of infrastructure using tools like Terraform. Focused on Infrastructure as Code, this course aligns directly with the responsibilities of this Engineer. The course emphasizes automating cloud resource deployment, managing Terraform state, and using Terraform Cloud. The hands-on labs included enable you to gain the practical skills required to succeed as an Infrastructure Automation Engineer. The comprehensive coverage of Terraform providers and the Terraform CLI will equip you with the tools to automate infrastructure across various environments.
Systems Engineer
Systems Engineers are responsible for the design, implementation, and management of an organization's IT systems. This course helps build a foundation in Infrastructure as Code, a valuable skill for modern Systems Engineers. The hands-on labs provide experience in automating infrastructure deployment and management using Terraform. The course covers essential Terraform concepts such as providers, state management, and the Terraform workflow. Grasping the course's topics can allow you to streamline infrastructure management and improve system reliability as a Systems Engineer.
Cloud Architect
Cloud Architects design and implement cloud computing strategies for organizations. Given the course's emphasis on Terraform and Infrastructure as Code, it can be useful. You can learn how to automate cloud resource provisioning and management, enabling you to design scalable and resilient cloud architectures. The course covers Terraform Cloud and Enterprise features, which may be helpful when designing and managing large-scale cloud environments. The real-world use cases and examples in AWS provide practical insights for a Cloud Architect.
Solutions Architect
Solutions Architects design and implement IT solutions that meet specific business needs, often involving cloud infrastructure. This course can be relevant because it focuses on automating infrastructure deployment using Terraform. You'll develop practical skills in managing cloud resources using Infrastructure as Code, a valuable asset for a Solutions Architect. The course covers Terraform basics, providers, and state management, all important for designing and implementing cloud-based solutions. The course also delves into Terraform Cloud and Enterprise features, potentially enhancing your ability to manage cloud environments at scale as a Solutions Architect.
Site Reliability Engineer
Site Reliability Engineers ensure the reliability and performance of software systems, often involving infrastructure management. This course provides hands-on experience with Terraform, a valuable tool for automating infrastructure management, which makes it potentially helpful in this role. The course covers Terraform basics, state management, and the Terraform workflow. You might learn how to automate infrastructure provisioning and configuration, improving system reliability and reducing manual intervention as a Site Reliability Engineer. Knowledge of Terraform Cloud and Enterprise features can be useful for managing infrastructure at scale.
Platform Engineer
Platform Engineers design and build internal platforms that enable software development teams to build, deploy, and run applications efficiently. This course provides a solid foundation in Infrastructure as Code principles and practical skills in using Terraform. You'll learn how to automate infrastructure provisioning, configuration, and management, which are essential for building and maintaining robust platforms. Furthermore, it covers Terraform Cloud and Enterprise features, helpful for managing platform infrastructure at scale. The hands-on labs will provide practical experience to help you succeed as a Platform Engineer.
Release Engineer
Release Engineers are responsible for managing and automating the software release process. This course can be somewhat relevant because it covers Infrastructure as Code using Terraform, which can be used to automate infrastructure provisioning and configuration, a key aspect of the release process. You'll learn how to manage Terraform state and use Terraform Cloud features, which may be useful for managing release environments. The hands-on labs included might provide practical experience in automating infrastructure tasks, potentially helping you as a Release Engineer.
Network Engineer
Network Engineers design, implement, and manage network infrastructure. This course may be useful because it introduces Infrastructure as Code principles using Terraform. You will learn how to automate network infrastructure provisioning and configuration, which can streamline network management tasks. The hands-on labs included provide practical experience in using Terraform. Concepts such as providers and state management can be applied to network infrastructure automation, potentially making you a more efficient and effective Network Engineer.
Security Engineer
Security Engineers are responsible for protecting an organization's systems and data from security threats. This course may be useful because it covers Infrastructure as Code principles using Terraform. You will learn how to automate the provisioning and configuration of secure infrastructure, which can help improve an organization's security posture. The hands-on labs included provide practical experience in using Terraform. Understanding concepts such as providers and state management can be applied to security automation, potentially making you a more effective Security Engineer.
IT Manager
IT Managers oversee an organization's information technology infrastructure and resources. This course may be useful because it introduces Infrastructure as Code principles using Terraform. You will learn how to automate infrastructure provisioning and management, which can improve the efficiency and reliability of IT operations. The course covers Terraform basics, providers, and state management, providing an overview of how Terraform can be used to manage cloud resources, potentially helping you in your role as IT Manager.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. This course may be useful because it introduces Infrastructure as Code principles using Terraform. You will learn how to automate database provisioning and configuration, which can streamline database management tasks. The hands-on labs included provide practical experience in using Terraform. Concepts such as providers and state management can be applied to database infrastructure automation, potentially improving your capabilities as a Database Administrator.
Project Manager
Project Managers plan, execute, and close projects, which may involve cloud infrastructure deployments. This course may be useful because it provides an introduction to Terraform and Infrastructure as Code. You'll gain an understanding of how Terraform automates infrastructure provisioning and management, which can help you better manage cloud-related projects. The course covers Terraform basics, providers, and state management, giving you insights into the technical aspects of cloud deployments, potentially assisting you as a Project Manager.
Technical Support Engineer
Technical Support Engineers provide technical assistance to customers or internal users. This course may be somewhat useful because it introduces Infrastructure as Code concepts using Terraform. Understanding how infrastructure is provisioned and managed using Terraform can help you better troubleshoot and resolve technical issues, which can be valuable in your role. The course covers Terraform basics and the Terraform workflow, providing an overview of how cloud resources are managed, potentially helping you as a Technical Support Engineer.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in HashiCorp Certified: Terraform Associate - Hands-On Labs.
Provides a practical guide to using Terraform for infrastructure automation. It covers the core concepts of Terraform, as well as advanced topics such as modules, state management, and testing. It useful reference for both beginners and experienced Terraform users. This book is commonly used as a textbook at academic institutions and by industry professionals.
Provides a comprehensive overview of Infrastructure as Code principles and practices. It covers the concepts, techniques, and tools needed to automate infrastructure management. It valuable resource for understanding the broader context of Terraform and its role in modern cloud environments. This book provides additional depth to the course.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser