kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Terraform の認定試験「HashiCorp Certified: Terraform Authoring and Operations Professional」に合格した

2025年6月22日に HashiCorp 公式の認定試験「HashiCorp Certified: Terraform Authoring and Operations Professional」を受験して合格した❗️やったー \( 'ω')/ 試験問題に関係する内容は NDA を厳守するため書かず,今回は「試験紹介(普及のため!)」「試験対策」をまとめたいと思う.

そして2年前(2023年7月)に合格して,有効期限ギリギリで更新リマインドも来ていた「HashiCorp Certified: Terraform Associate (003)」も自動的に更新されて良かった.Terraform 試験2冠だ〜👑

kakakakakku.hatenablog.com

試験概要 📝

  • 試験名: HashiCorp Certified: Terraform Authoring and Operations Professional
  • 試験形態: オンライン(監視あり)
  • 言語: 英語
  • 問題形式: ラボ試験・複数選択
  • 試験時間: 4時間(休憩15分間)
  • 問題数: 非公開
  • 合格点: 非公開
  • 有効期限: 2年
  • 受験料: $295 USD(リテイクあり)

ラボ試験 🧪

Assessment Type: Lab-based and multiple choice

Authoring and Operations という試験名になっている背景もあって,何と言っても「ラボ試験」という形式が特徴的だと思う.とても楽しかった❗️詳しくは後述するけど,Linux 環境が与えられて,Terraform コードを書いて,plan と apply を実行する.仕事でトラブルシューティングをしているような感覚になる😀

また FAQ に Training without deep experience is not enough. と記載されている通り,ある程度理解はあるけど実務経験がないという場合だと合格するのは大変だと思う.あと AI コーディングでタブ補完に慣れすぎているのも危険だと思う😇

個人的には過去に CKAD (Certified Kubernetes Application Developer) / CKA (Certified Kubernetes Administrator) / CKS (Certified Kubernetes Security Specialist) でラボ試験を経験していたから特に不安はなかった.

4時間 🕐️

Duration: 4 hours; 15-min break included

試験時間「4時間」というのは大変だった.今まで受験した試験の中でも1番長かったと思う🫠

ちなみに僕の場合は集中力というよりもトイレが異常に近いという問題がある.AWS 認定試験・TOEIC・映画2時間などどれもギリギリと言う感じで,朝から水も食事も控えていても最後はもう我慢との戦いになってしまう.

HashiCorp Certified: Terraform Authoring and Operations Professional では「15分間」の休憩を取ることができる(試験時間はちゃんと止まる).今回は2時間ぐらいでキリが良くなってトイレに行かせてもらった.チャットで連絡すれば OK👌

英語 ✏️

Language: English

問題がすべて英語というのは受験するハードルになる場合があると思う.でもある程度試験の普及が進まないとローカライズはされないと思うし,数年前からある HashiCorp Certified: Terraform Associate (003) ですら今も日本語はサポートされてなく,諦めるしかないと思う.念のためアンケートに「日本語サポートよろしく!」と書いておいた.

個人的には過去に CKAD (Certified Kubernetes Application Developer) / CKA (Certified Kubernetes Administrator) / CKS (Certified Kubernetes Security Specialist) / KCNA (Kubernetes and Cloud Native Associate) / HashiCorp Certified: Terraform Associate (003) を英語で受験していて,特に不安はなかった.

とは言え問題文・シナリオ説明・回答指示・注意点など多くて,素早く英語を読んで意味を汲み取る必要はあった.

出題範囲 ✅️

出題範囲と関連するドキュメントやチュートリアルは Learning Path と Exam Content List にまとまっている.必読❗️特に Learning Path に載っている Study tips から「どんなことが求められているのか」を考える必要がある.

  • 1: Manage resource lifecycle
    • 1a: Initialize a configuration using terraform init and its options
    • 1b: Generate an execution plan using terraform plan and its options
    • 1c: Apply configuration changes using terraform apply and its options
    • 1d: Destroy resources using terraform destroy and its options
    • 1e: Manage resource state, including importing resources and reconciling resource drift
  • 2: Develop and troubleshoot dynamic configuration
    • 2a: Use language features to validate configuration
    • 2b: Query providers using data sources
    • 2c: Compute and interpolate data using HCL functions
    • 2d: Use meta-arguments in configuration
    • 2e: Configure input variables and outputs, including complex types
    • 2f: Analyze best practices for managing sensitive data, such as using Vault for secrets management
  • 3: Develop collaborative Terraform workflows
    • 3a: Manage the Terraform binary, providers, and modules using version constraints
    • 3b: Configure remote state
    • 3c: Use the Terraform workflow in automation
    • 3d: Share data across configurations and workspaces
  • 4: Create, maintain, and use Terraform modules
    • 4a: Create a module
    • 4b: Use a module in configuration
    • 4c: Refactor a module and use module versioning
    • 4d: Refactor an existing configuration into modules
  • 5: Configure and use Terraform providers
    • 5a: Understand Terraform's plugin-based architecture
    • 5b: Configure providers, including aliasing, versioning, sourcing, and managing upgrades
    • 5c: Manage provider authentication
    • 5d: Troubleshoot provider errors
  • 6: Collaborate on infrastructure as code using HCP Terraform
    • 6a: Analyze the HCP Terraform run workflow
    • 6b: Understand HCP Terraform workspaces and their configuration options, including access management
    • 6c: Manage provider credentials in HCP Terraform
    • 6d: Analyze policy as code and governance features

https://developer.hashicorp.com/terraform/tutorials/pro-cert/pro-studydeveloper.hashicorp.com

https://developer.hashicorp.com/terraform/tutorials/pro-cert/pro-reviewdeveloper.hashicorp.com

僕自身は毎日のように仕事で Terraform を実装していることもあって,Learning Path と Exam Content List を確認して未経験な部分は特になかった.しいて言えば Vault はプロダクション経験がなかったり,countfor_each という Meta-Argument や大量にあるビルトイン関数はできる限り避けて宣言的な実装を選ぶことが多くて,そこまで慣れていないかな〜という感覚があった.

あと Exam Orientation に試験に登場する可能性のある Terraform リソースが載っている❗️普段から AWS を使っているなら圧倒的にアドバンテージになると思う.

  • aws_instance
  • aws_ami data source
  • aws_launch_template
  • aws_autoscaling_group
  • aws_security_group
  • aws_security_group_rule
  • aws_s3_object
  • random_integer
  • aws_s3_bucket
  • aws_caller_identity data source
  • aws_iam_session_context data source
  • aws_iam_policy_document data source
  • aws_iam_role
  • aws_subnet data source
  • aws_vpc_security_group_ingress_rule
  • aws_iam_policy_document data source
  • aws_iam_role
  • aws_iam_instance_profile
  • aws_instance
  • aws_iam_policy
  • aws_iam_role_policy_attachment
  • aws_s3_bucket
  • The terraform s3 backend
  • terraform_remote_state data source (that uses the s3 backend)

https://developer.hashicorp.com/terraform/tutorials/pro-cert/pro-orientationdeveloper.hashicorp.com

ちなみに以下のウェブサイトは試験中にアクセスできるため構文やパラメータは暗記しなくて大丈夫👌

試験環境 💻️

試験環境として与えられる Linux 環境に関しては Exam Orientation にある動画で詳しく解説されている❗️

https://developer.hashicorp.com/terraform/tutorials/pro-cert/pro-orientationdeveloper.hashicorp.com

動画では Vault 認定試験の例になっていたけど基本同じで,プラットフォームサイトに問題が載っていて,VS Code とターミナルをワンクリックで起動できるリンクもある.あと実際に AWS マネジメントコンソールに入ることもできる👌基本的に不満はなかったけど,デフォルト設定の VS Code なので右側に「ミニマップ」が表示されてて邪魔だな〜と思ったりはした.

Video walkthrough から引用

試験対策 🤔 Terraform チュートリアル

Exam Content List を確認して,ちょっと不安な出題範囲の Terraform チュートリアルを実施した.また AWS アカウントではなく Moto を使うようにして,コストを気にせず何度でも繰り返し実施できて良かった👌

kakakakakku.hatenablog.com

さらに VS Code で GitHub Copilot 拡張機能を無効化して AI コーディング的な支援をすべてなくすという工夫もした.タブ補完なし縛り❗️

marketplace.visualstudio.com

試験対策 🤔 自作問題

HashiCorp Certified: Terraform Authoring and Operations Professional に関連する公式ドキュメントを NotebookLM に突っ込んで出題範囲の確認をできるようにしつつ,さらに ChatGPT を使って自作問題とその環境をセットアップするためのコードを生成してもらったりもした.

意味不明な問題が生成されたこともあったけど,結構考えながら取り組める自作問題を生成できたりもしてやって良かった❗️また自作問題に取り組むときも Moto を使って AWS アカウントなしで進めた👌

kakakakakku.hatenablog.com

試験対策 🤔 Udemy

また Udemy の「Terraform Authoring and Operations Professional 2025」は評価が高く購入してみたけど,講義部分は長くて,ほとんど理解していたためちょっと見て止めてしまった.

www.udemy.com

一番最後にある Exam Preparation Section は見ておくと良いと思う.ラボ試験と選択問題のサンプルが含まれている❗️ちなみにラボ試験のサンプルコード自体は GitHub に公開されていたりする.

github.com

試験対策 🤔 ウェビナー

タイミング良く2025年6月17日に「Studying for the Terraform Professional certification exam」というウェビナーが開催されていて,レコーディング動画を観た.出題範囲ごとに重要なポイントが解説されていたり,サンプルコードを使ったライブコーディングもあった👀試験環境の VS Code に Terraform 拡張機能が入っているっていう話もウェビナーで知った.受験する直前に観たけど本当にこれは観ておいて良かった❗️

https://www.hashicorp.com/ja/events/webinars/studying-for-the-terraform-professional-certification-exam-q2www.hashicorp.com

試験対策 🤔 その他

他にも関連するウェブサイトやブログ記事も読んだ.

https://www.hashicorp.com/en/blog/ace-your-terraform-professional-exam-5-tips-from-certified-proswww.hashicorp.com

dev.classmethod.jp

medium.com

AI コーディング時代に認定資格は必要?👾

自分で実装する機会は減っていくから不要でしょ!って考える人もいると思う.そういう意見も理解しつつ,僕自身は今回認定試験を受験してみて,改めて自分の理解やスキルを見直すことができた.本当に受験して良かったと思っている😀

与えられた Linux 環境・AWS アカウントの状態をすべて理解して,目指すべきゴールを把握して,Terraform コードを読みつつサービス稼働中のプロダクション環境に影響が出ないようにリソース追加やリファクタリングを計画・遂行できることは重要で,実際に仕事でも求められているスキルだと感じる.また AI コーディングの支援がなくてもここまでできるよ❗️っていう証明にもなりそう.

まとめ

HashiCorp 公式の認定試験「HashiCorp Certified: Terraform Authoring and Operations Professional」に合格した❗️

英語・日本語問わず受験レポート的な記事があまりなく,受験を考えているけど情報が少なくて躊躇しているという人の参考になればと😀あとは日本語で試験対策講座(e-Learning など)を作ってみたいな〜と思ったりもした.

試験中は本当に楽しかったし受験して良かった \( 'ω')/ ということでお疲れさまでした👏