Introduction
On Friday, I sat for the Hashicorp certification exam for Terraform Associate (002). I spent most of the week brushing up on the exam topics, and passed on my first attempt. Here is the public link to the verified badge.
This was my first time taking a certification exam remotely. In the past, I would always go to a testing center to sit for an exam. In this article, I’ll share some of the resources I used to prepare for the exam, as well as some insights on sitting for the exam remotely.
Terraform Introductory Course
I started back in February 2022 with the HashiCorp Certified Terraform Associate course on A Cloud Guru.
This course had about 11 hours of content, and took me through an introduction to Terraform, as well as some hands on labs and quizzes. It was a pretty good primer, and went over all the basics.
If you don’t have access to A Cloud Guru, check out an introductory course, such as Zeal Vora – HashiCorp Certified: Terraform Associate 2022 on Udemy. More on this course later.
Diving Deeper
After going through the basics, I picked up Derek Morgan’s More Than Certified in Terraform course. The course is available on Udemy, and on his own site. He occasionally has sales through his own site, so I’d keep an eye out on LinkedIn and the “More Than Certified” Discord.
I cannot recommend this course enough (and I recommend it a lot). It goes through detailed explanations, and hands-on labs which progress in complexity through the course. By the end, you’re deploying multiple containers with applications, resources on AWS, Kubernetes resources and more.
The entire course is self contained on the AWS Free Tier, so as long as you’re careful and run a terraform destroy when you’re done, then shut down your Cloud9 instance, the costs should be minimal.
There are also Terraform Apply Yourself sections where you’re left to challenge yourself by researching and writing the Terraform code yourself, and then check in during the next chapter to see how you did.
I came away from the course with an excellent understanding of Terraform modules, as you write a number of them, and learn how to pass values through variables and outputs between them. I referred back to the course a couple of times when writing some Terraform modules for work – that’s how useful it was.
Labs and Hands On Practice
For practice labs, I would recommend Bryan Krausen’s Terraform Associate – Hands-On Labs course on Udemy. There are over 70 labs using AWS that you can build and practice with. Check out Bryan’s Github, as he typically has some coupons and discounts going on.
Although web courses are a great resource, nothing beats writing your own code and putting it into practice. For work, I wrote a Terraform module from scratch to deploy all of the resources needed for Splunk to monitor AWS resources via CloudTrail. I also modified this module to send CloudWatch logs to Splunk via a Kinesis Firehose. I also set up some WAF rules, an S3/Athena analysis, and some other smaller projects on AWS using Terraform.
For personal projects, one of the larger ones I did was a Serverless Malware URL Checking Application. The project completely deploys with Terraform, creates the HTTP API Gateway, Lambda Functions, DynamoDB, IAM Roles, sets up logging, etc. This one took a lot of work but I’m quite happy with how it turned out.
Practice Exams
The week before taking the exam, I brushed up on some of the coursework, and went through some quizzes and practice exams to make sure I was ready. I mainly used Bryan Krausen’s Terraform Associate Practice Exam 2022 course on Udemy. The practice exams are very challenging, and you can review the questions afterwards and get a better understanding of questions you weren’t sure about, or answered incorrectly. If you’re scoring well on these practice exams, you’re probably more than ready to sit for the real one.
From doing the first few practice exams, I could tell I was lacking in knowledge on the Terraform Cloud and Terraform Enterprise sections, so I reviewed some of the course materials to refresh. I also went through a number of quizzes and practice exams in Zeal Vora’s course.
Other Recommended Materials
In addition to the courses, I spent a lot of time reading and referencing the Terraform documentation on the Hashicorp website. Whenever I was writing HCL and building code, I would constantly review the docs and the examples.
I would also strongly recommend making sure you’re familiar with the certification objectives and what you’re expected to know. The certification page goes through all of the details, and there are some tutorials from Hashicorp that should help go through this.
I also enjoyed tuning in to the Hashicorp Live series on Twitch hosted by J. Cole Morrison and Jenna Pederson. They did a number of live sessions building on AWS using Terraform, and it was really helpful to be able to ask questions, and watch how they put everything together. Here is the first session, and the others are all available online: Learning Live with AWS & HashiCorp – Ep. 1 Laying the Foundations of a Microservices Architecture [Twitch] [YouTube].
Sitting For The Remote Exam
To register for the exam, you’ll need a Github account, so be sure you have one set up with the email address you’ll want all the communications regarding the exam to go to.
The exam is proctored by PSI Online, and there are a number of requirements to set up for the exam. Here are some links that should help:
It is recommended to have a single room with a closed door, no other computers or electronics, papers, or recording devices. You cannot wear headphones or earbuds. I would recommend getting your computer set up the day before the exam at least, so if you have issues, you can reschedule.
Ideally, you should use a computer running a supported Windows OS. Although MacOS and some Linux (mainly Ubuntu variants) are supported, the exam is taken through a PSI secure browser, and it runs through a number of checks before it will allow you proceed with the exam. I would also recommend an external webcam hooked up to the computer, as you’ll need to pan it around the room 360 degrees, as well as floor and ceiling, taking a number of videos and photos for the proctor to review.
Zeal Vora’s Terraform course has an Exam Preparation section that goes through all of the details, and recommendations for setting up your room, computer, etc. If you have access to the course, I would recommend reviewing it.
The exam itself takes about an hour to complete. I’d recommend logging in half an hour prior to your scheduled exam time to get the secure browser downloaded and set up, and go through all of your checks.
Conclusion
While I probably overprepared for the exam, I’m glad I covered all of the resources I did, and I’m happy with the score I received on the exam. Hopefully these resources will help you pass as well.
Thanks for the awesome write up with your notes on all of the resources you used. I’m looking to tackle this in Q1 this year so this will be helpful. Also, very cool writeup on the Serverless Malware URL checker you created! I have yet to read it but it’s just one of the kinds of personal projects I’d like to have under my belt!