HCL仕様を丸暗記せずにTerraform Associate (004) の勉強をする方法
HashiCorpのTerraform Associate 004の準備をする際に本当に役立つこと、そして包括的な学習ガイドのどの部分を安全に読み飛ばせるか。
公式のTerraform Associate 004の出題範囲をじっと見たことがあるなら、8つのドメイン、いくつかの割合、そして長いコマンドと言語機能のリストを目にしたことでしょう。その上、徹底的な学習ノートを開くと、「包括的」が「威圧的」に感じられ始めます。試験は60分間で57問の多肢選択式で、合格には約70%の正答率が必要です。すべてを暗記することはできませんし、その必要もありません。
本当に役立つのは以下の点です。
どこに点数があり、どこに時間がかかるか
出題範囲は、Core Workflow (20%)、HCL Configuration (20%)、State Management (15%)、およびModules (15%) に重きを置いています。これら4つのドメインで試験の70%を占めます。残りの30%は、IaCの概念、Terraformの目的、メンテナンスとライフサイクル、HCP Terraformの機能、その他の雑多な項目という5つの小さな領域に分かれています。
ほとんどの受験者の準備に見られる非対称性は、彼らがすべてのドメインにほぼ同じ時間を費やしていることです。IaCの概念と「Terraformの目的」のセクションを合わせても試験の約10%に過ぎません。準備時間の4分の1をそこに費やすのは、時間の誤った配分です。この試験を受けるほとんどの人は、IaCが何であるか、そしてなぜ手作業でCLIコマンドを実行するのをやめたのかをすでに知っています。これらのセクションは軽く読み、いくつかのトリビア的な質問を解いて語彙を認識していることを確認したら、次に進みましょう。
私が実際に投資するであろう分野:
- Core Workflow。 ライフサイクルコマンド、
initが内部で実際に何をしているのか、planの出力の読み方、そして-replace、-refresh-only、通常のapplyの違い。これらは、与えられた目標に対して正しいコマンドを選択するシナリオ問題で出題されます。 - HCL — 変数、式、条件。 最も密度の高いドメインです。読書よりも実践が報われます。
for_eachとcountについて10回読んでも、試験で初めて「マップキーが変更されたらどうなるか?」と問われたときに戸惑うかもしれません。 - State。 バックエンド、ロック、
movedブロックによるリファクタリング、そしてstate mvと新しい宣言型リファクタリングブロックのどちらを使うべきか。試験では、各ツールがどの問題を解決するかを知っているかが問われやすいです。 - Modules。 入力検証、出力公開、ソースアドレス、バージョン制約の構文。
~> 1.2と>= 1.0, < 2.0の区別は出題範囲内です。
これら4つのドメインに準備時間の70%を投入すれば、すでに計算上は勝っています。
004で実際に新しいもの(そして問題での出題方法)
004の改訂では、いくつかの機能が追加または正式化されました。これらは試験で不均衡に多く出題されますが(それがHashiCorpが新しい改訂版を発行した理由でもあります)、問題は曖昧ではなく正確です。知っておくべきいくつかのパターン:
movedブロックとremovedブロックは、state mvとstate rmの代替としてテストされます。試験では、それらが何をするかだけでなく、CI/CDでどのイディオムが正しいかを問われます。importブロックは、古い命令型のterraform importコマンドと比較してテストされます。ワークフローを理解してください:ブロックを記述し、planを実行し、一致するリソース設定を記述し、クリーンになるまで再度planを実行します。- カスタム条件は、変数
validation、ライフサイクルprecondition、ライフサイクルpostconditionの3つの種類で出題されます。指定されたチェックに対して正しいものを選ぶ必要がある問題が予想されます。 - Ephemeral values + write-only argumentsは、試験では概念的なものです。構文を何も見ずに書く必要はありません。それらが解決する問題(ステートに永続化すべきではない機密データ)を認識する必要があります。
- HCP Terraform projects vs. workspaces — projectsは新しいコンテナです。その関係性について1、2問出題されます。
terraform test—.tftest.hclテストフレームワーク。表面的な知識のみでOKです。
よくある間違いは、「新しい」というラベルが付いているからといって新しいものだけに焦点を当てることです。新しいものは問題プール全体のせいぜい10%程度です。残りの90%は、変更されていない003の基本事項です。目新しいものを追いかけて基本を飛ばさないでください。
長い学習ガイドが役立つときと、害になるとき
徹底的な学習ノート(私たちが/cert/terraform-004で管理しているようなもの)は、素晴らしい参考資料ですが、主要な教材としては不向きです。罠は、最初から最後まで読んで生産性を感じながら、実際にはほとんど何も記憶に残らないことです。長いガイドを効果的に使う方法は以下の通りです:
- 1回目の目通し(45〜60分): 見出し、表、「試験のヒント」の呼び出し箇所のみを読みます。内容ではなく、カバーされていることの全体像を把握します。
- 2回目の目通し: 詳しい学習をする前に、何も準備せずに模擬試験を受けます。間違った答えのほとんどは、2つか3つのサブドメインに集中するでしょう。それがあなたの本当の学習リストです。
- 3回目の目通し: その2つか3つのセクションを深く読みます。残りの部分は、その後の練習問題で関連する間違った答えに遭遇したときにのみ読みます。
これは、通常の「すべてを読んでからテストする」ワークフローを、「テストし、知らないことを学び、それだけを勉強し、繰り返す」という形に逆転させます。私が知っているほとんどのシニアエンジニアがベンダー試験の準備をする方法です。
練習問題:その使い方
模擬試験は読書時間よりも価値がありますが、それは間違った答えに取り組んだ場合に限ります。効果的なパターン:
- 時間を計って25問の練習問題を解きます。
- 解説を一切見ずに採点します。
- 間違えた各問題について、解説を読む前に、なぜ間違えたのかを書き出します。専門用語?リソースライフサイクルのエッジケース?
for_eachのセマンティクスを読み間違えた? - 解説を読みます。書いた理由と一致していれば、次に進みます。一致しない場合、本当の知識のギャップを見つけたことになります — 明日再確認するためにフラグを立てておきましょう。
CertLabPro Terraform 004の問題集(こちらで閲覧)は、このループのためにすべての問題に解説が付いています。試験自体は解説を提供しませんが、準備段階でそれらを得ることができます。
現実的な時間配分
中級レベルのTerraform経験を持つ現役エンジニアにとって、現実的な時間配分は次のとおりです:
apply/plan/destroyおよびmodulesにすでに慣れている場合: 1〜2週間にわたって15〜20時間。- 構文には詳しいが、実際に本番環境でTerraformをデプロイした経験がない場合: 3〜4週間にわたって30〜40時間。
- IaCを全く初めて学ぶ場合: 6〜8週間にわたって60〜80時間。CLF-C02またはAZ-900を先に受験して、クラウドプラットフォームの知識を身につけることを検討してください — 試験では、作成したことのないリソースでも理解していることが前提とされます。
最も一般的な過剰投資は、HCL構文の丸暗記です — 学習ノートからすべてのコードブロックを手作業でコピーすること。学習中にHCLを記述するのは良いですが、試験はdynamicブロックを何も見ずに思い出させるようなものではありません。ブロックを示して、それが何をするかを尋ねます。記述の流暢さではなく、読解の流暢さがボトルネックとなります。
まとめ
Terraform Associate 004は公正で、範囲が明確で、実用的な理解に偏っています。包括的な学習ノートは参考資料として扱い、模擬試験は実際のトレーニングデータとして扱い、準備時間は主要な4つのドメインに割り当てる予算として扱いましょう。
マーケティングに関する章は飛ばしましょう。節約した時間を、実際のTerraform設定を実際に触ることに費やしてください。
今日から始めるなら、問題集を手に入れ、何も準備せずに25問のブロックを解き、実際に間違えたところから学習リストを作成しましょう。