はじめに
この記事は、以下のような方に向けて書いています。
- Terraformの基礎を体系的に学びたい人
- これからIaC(Terraform)を学びたいと思っている人
- Terraform Associateの受験を考えており、学習方法や対策を知りたい人
私は普段アプリエンジニアとして働いていますが、約50時間の学習で「HashiCorp Certified: Terraform Associate (004)」に合格することができました。本記事では、アプリエンジニア視点での具体的な学習ステップや、NotebookLMを活用した効率的な学習法について紹介します。
受験時の筆者のスペック
読者の皆さんと比較する基準として、当時の私のスキルセットは以下の通りです。
- インフラ系資格: AWS Certified Solutions Architect - Professional、Datadog Fundamentals
- AWSの知識: 基礎的な理解は十分あり、業務での利用経験もあり
- 実務経験: 専門はアプリでインフラ担当ではないが、AWS移行案件でDockerfileの作成からECS (Fargate) の構築などは業務で経験あり
- IaCの経験: IaCツール(Terraformなど)を本格的に触ったことはない
なぜこの資格を目指したのか
動機は大きく分けて以下の3つです。
-
アプリとインフラの境界線の曖昧化
業務でAWSを触る機会が増え、Fargateを利用する案件ではDockerfileの作成やCI/CD構築など、アプリ開発者に求められるインフラ領域の幅が広がっていました。 -
コミュニケーションコストの削減
インフラ構築において、アプリ側から細かいパラメータの要望を出してインフラチームに依頼することが多く、「これなら自分でIaCを書いて設定したほうが早いのでは?」と感じるようになりました。インフラ経験者からも「アプリのコードが書ける人ならIaCは絶対に簡単」と言われ、興味を持ちました。 -
「フルスタック」への憧れと社内のパイオニア枠
最近のフルスタックの定義は曖昧ですが、アプリとインフラ(IaC)の両方ができれば自信を持ってフルスタックと名乗れると思いました。また、社内の資格奨励金の対象だったものの、英語試験ということもあってか取得者が0名だったので、パイオニアになれば話のネタにできると思いました。
合格までのタイムラインと勉強法
資格取得の目的は「試験に受かること」だけではなく、「手を動かして実際のリソースを作れるようになること」に置きました。
1. 公式教材を利用した基礎固め(約30時間)
Terraformの公式チュートリアル(Certification 004)を利用して一通りの基礎固めを行いました。
- 実際のAWSリソースを作成するハンズオンが含まれているため、実施できる部分はすべて手を動かしました。
- コマンドの細かいオプションまで記載されている部分は適宜読み飛ばしつつ進めました。
-
【おすすめの学習法】 参照した公式ドキュメントはすべてNotebookLMに読み込ませ、セクションごとにまとめを作成してNotionに記録しました。これが知識の整理に非常に役立ちました。
各セクションの実際の学習時間は以下の通りです。
詳細な学習時間(クリックで展開)
- 01_Get Started - AWS: 2.93h
- 02_Learn about Infrastructure as Code (IaC): 0.58h
- 03_Review Terraform fundamentals: 2.92h
- 04_Use the core Terraform workflow: 4.03h
- 05_Read and write configuration(1/7): 2.88h
- 06_Read and write configuration(2/7): 1.70h
- 07_Read and write configuration(3/7): 1.50h
- 08_Read and write configuration(4/7): 1.12h
- 09_Read and write configuration(5/7): 0.80h
- 10_Read and write configuration(6/7): 1.28h
- 11_Read and write configuration(7/7): 0.83h
- 12_Use and create modules: 1.93h
- 13_Learn about Terraform state management: 2.85h
- 14_Maintain infrastructure with Terraform: 1.08h
- 15〜23_Use HCP Terraform: 計7.14h
2. 作りたかったものを作ってみる(アウトプット)
基礎固めの後は、実際に自分が作りたいものをTerraformで構築しました。資格の勉強という枠を超えて、遊ぶ感覚で触れたのが良かったです。
実際に作成し、Qiitaにも記事として公開しました:
- AWS Distro for OpenTelemetry (ADOT) を使って、コード変更ゼロでJavaアプリのAPMとメトリクスを取得してみた
- 月額150円!個人用RedmineをLightsailからFargate+Aurora Serverless v2に移行して究極のゼロスケール構成を作った話
これ以外にも、サーバーレスアプリをTerraform + SAMで構築し理解を深めました。
3. 試験対策(約15時間)
試験対策には、Udemyの模擬問題集を利用しました。
👉 HashiCorp Certified Terraform Associate 004 - Practice Exams
- 進め方: 最初の4回分は学習モード(回答後すぐに解説が出る形式)、残りの2回分は試験モードで実施。
- ハンズオンの成果もあり、初回の時点ですでに80%以上の正答率を出せていました。
-
AIの活用: 解説に納得がいかない問題は、基礎固めで作成したNotebookLMに「私の考えとなぜ違うのか?」をとにかく聞きまくり、疑問を解消しました。独り寂しく勉強していると、このような壁打ち相手が本当にありがたい。
- 本試験との差分: 本試験にかなり近く、8,9割取れていれば、問題なく合格できます。
模擬試験の所要時間(クリックで展開)
- Exam #1: 1.82h(学習モード)
- Exam #2: 2.48h(学習モード)
- Exam #3: 2.12h(学習モード)
- Exam #4: 1.65h(試験モード)
- Exam #5: 1.75h(試験モード)
- Exam #6: 2.97h(試験モード)
- Exam #1(2回目): 1.25h(試験モード)
- Exam #2(2回目): 1.25h(試験モード)
おまけ
参考までにRedmineと自作EVMプラグインで管理している学習時間を載せておきます。

試験当日の様子とアドバイス
オンライン(自宅)で受験しました。
-
ESL(非英語ネイティブ向け)の延長時間
私は非英語ネイティブ話者であるため、ESLの申請をして試験時間がプラス30分付与されました。実際には全57問を解くのに30分、見直しに30分で計1時間程度で終わったため時間は余りましたが、精神的な余裕を持つために付与しておいたほうが絶対に良いです。申込時にESLボタンをクリックするだけです! -
オンライン受験の制約
自宅受験は初めてでしたが、受験する部屋の環境や試験中の振る舞いについて色々と制約があり、少し面倒に感じました。(参考: Exam appointment rules and requirements)- 開始10分前に試験サイトにログインし、試験用Windowを開いて待機
- Passportの顔写真ページをカメラの前に提示する
- 試験用のタブ以外のタブ及びChrome以外のアプリケーションを終了する
- タスクマネージャ、タスクトレイを開き不要なプロセスが無いか提示する
- カメラを持ち上げ部屋全体やデスクまわりを見せる
- (てっきり口頭で英会話が必要なのかと思い発声練習をしていましたが、Chatのみでのやり取りで拍子抜けしました)
-
受験時間の工夫
試験監督(proctor)の時差の関係か、一番受けやすい時間帯が18時(JST)でした。土曜日に受験しましたが、本番に向けてできるだけ午前中に頭を使いすぎないよう意識して臨みました。試験開始2時間前にチョコレートを食べるのが私のルーティーンです。
合格して変わったこと・まとめ
これまで多くの資格を取得してきましたが、Terraform Associateは比較的取得しやすい(簡単な部類に入る)資格だと感じました。IaCと聞くとハードルが高そうに思えますが、本質的にはただの「定義ファイル」です。
繰り返しになりますが、Terraformを業務で利用した経験がないアプリ担当にとって、この資格学習はIaCの世界に入るための非常に良い学習パスでした。今後、「Associate資格で基礎は固まっているのでやらせてください!」と自信を持って言えるようになったのが最大の収穫です。
インフラエンジニアの方だけでなく、インフラ領域にも足を踏み入れたいアプリエンジニアの方にも、ぜひ挑戦してみてほしい資格です!
