はじめに
2024年4月30日に、Terraform の認定資格である HashiCorp Certified: Terraform Associate (003) を受験し、無事に合格しました。
まだ日本では受験者が多くないようなので、体験談をお届けします。
筆者のスペック
Terraform は 7 年くらい使っています。最近は OCI に組み込まれた Resource Manager を経由して利用することが多いため、Terraform を「ちゃんと」利用するのはご無沙汰です。
試験について
試験の概要
項目 | 内容 |
---|---|
試験バージョン | 003 |
試験形式 | オンライン試験(監督付き) |
所要時間 | 60 分 |
試験形態 | 多択問題 |
言語 | 英語のみ |
価格 | 77.55 ドル(70.50 ドル+消費税) |
資格の有効期間 | 2年 |
ポイントは以下の通りです。
- 言語:日本語には対応していません。TOEIC が 600 点くらいあれば問題なく受験できると思います
- 料金:ベンダー試験としてはわりと良心的な価格です
試験範囲
公式ページ の内容を、ChatGPT の助けを借りて翻訳しました(誤訳はご容赦ください)。長いので折りたたみました。
試験範囲を確認する
1 | Infrastructure as Code(IaC)の概念を理解する |
---|---|
1a | IaCが何であるか説明する |
1b | IaCのパターンの利点を説明する |
2 | Terraformの目的を理解する(他のIaCと比較して) |
---|---|
2a | マルチクラウドとプロバイダ非依存の利点を説明する |
2b | state の利点を説明する |
3 | Terraformの基本を理解する |
---|---|
3a | Terraformプロバイダーのインストールとバージョン管理 |
3b | プラグインベースのアーキテクチャを説明する |
3c | 複数のプロバイダーを使用してTerraform設定ファイルを記述する |
3d | Terraformがプロバイダーを見つけて取得する方法を説明する |
4 | Terraformをコアワークフロー以外で使用する |
---|---|
4a | 既存のインフラストラクチャをTerraform stateにインポートする際にterraform import を使用するタイミングを説明する |
4b |
terraform state を使用してTerraform stateを閲覧する |
4c | 詳細なログを有効にするタイミングとその結果・価値を説明する |
5 | Terraformモジュールとの対話 |
---|---|
5a | パブリックなTerraformモジュールレジストリを含む、異なるモジュールソースオプションの比較と使用 |
5b | モジュールのinputとoutputとのやりとり |
5c | モジュール/子モジュール内の変数のスコープを説明する |
5d | モジュールバージョンを設定する |
6 | Terraformのコアワークフローを使用する |
---|---|
6a | Terraformワークフローを説明する(書く -> 計画する -> 作成する) |
6b | Terraform作業ディレクトリを初期化する(terraform init ) |
6c | Terraform設定ファイルを検証する(terraform validate ) |
6d | Terraformの実行計画を生成し、レビューする(terraform plan ) |
6e | Terraformを使用してインフラストラクチャに変更を実行する(terraform apply ) |
6f | Terraformで管理されるインフラストラクチャを破棄する(terraform destroy ) |
6g | 設定ファイルにフォーマットとスタイルの調整を適用する(terraform fmt ) |
7 | stateの実装と維持 |
---|---|
7a | デフォルトのlocal バックエンドについて説明する |
7b | state lockについて説明する |
7c | バックエンドとクラウド統合認証方法を扱う |
7d | remote state backend のオプションを区別する |
7e | リソースのドリフトとTerraform stateを管理する |
7f | 設定ファイル内のbackend ブロックとクラウド統合について説明する |
7g | stateファイル内の秘密管理について理解する |
8 | 設定ファイルの読み取り、生成、および修正 |
---|---|
8a | 変数とoutputの使用を示す |
8b | 安全なシークレット注入のベストプラクティスについて説明する |
8c | コレクションと型の使用を理解する |
8d |
resource とdata 設定を作成し、区別する |
8e | 作成済みリソースの参照とリソースパラメータを使用してリソースを連携させる |
8f | HCLおよびTerraformの関数を使用して設定ファイルを記述する |
8g | 組み込みの依存関係管理(実行順序に基づく)について説明する |
9 | HCP (HashiCorp Cloud Platform) Terraformの機能を理解する |
---|---|
9a | HCP Terraformがインフラストラクチャの管理にどのように役立つか説明する |
9b | HCP Terraformがコラボレーションとガバナンスをどのように可能にするか説明する |
試験内容
具体的な試験内容は、世に公開するべからずと何度も念押しされたため(詳細は後述)、ここでは割愛します。試験範囲通りの内容であったという点だけ述べておきます。
試験を受けるまで
申し込み
こちらのページから試験の申し込みを行います。あらかじめ、シングルサインオンのための GitHub アカウントが必要です(メールアドレス等でのアカウント作成はできません)
アカウントの氏名に注意してください。アカウントの氏名と、受験時に使用する身分証明書の氏名は、完全一致していなければなりません。つまり、アカウントが Taro Yamada
で身分証明書が 山田 太郎
だと不一致になってしまうということです。運転免許証やマイナンバーカードには日本語名しか書かれていない(場合が多い)ため、パスポートがない場合にはアカウントの方を見直しましょう。
支払いは、クレジットカードまたは PayPal で行います。私はクレジットカードで支払いをしたのですが、あまり海外から買い物をする機会がないせいか、カード会社から問い合わせが来てしまいました。
受験準備
- チェックイン:試験開始30分前に、あらかじめ受信していたメールに埋め込まれたリンクから、チェックインします
-
専用ブラウザのインストール:
PSI Bridge Secure Browser
という専用のアプリをインストールします。以降はこのブラウザでの操作を行います
試験官とのやりとりは文字チャット(英語)で行います。以下のような確認を受けました。
- 身分確認:PCのカメラで自分の写真と身分証明書の写真を撮ってアップロードします
- 部屋の確認:試験官から、パソコンのカメラで、部屋中(1周、天井、床、机上など)を映すように指示されますので、その通りにします
- 所持品の確認:スマホを別の部屋に置くように指示されますので、その通りにします
- 体の確認:腕、耳をそれぞれ映すように指示されます
- 飲み物の指示:透明な容器に入れた水だけなら持ち込んで良いとのことでした。私は不要だと回答しました
仕事部屋は物が散乱していて、とても映せるような部屋ではなかったので、寝室を片付けて場所を作りました。
学習コンテンツ
私はほぼ Udemy で完結させました。
公式コンテンツ
- Study guide:基礎学習にはこちら
- Exam review:試験科目の復讐はこちら
Udemy
- HashiCorp Certified: Terraform Associate - Hands-On Labs:ビデオ講義
- HashiCorp Certified: Terraform Associate Practice Exam 2024:問題集
試験
PSI Bridge Secure Browser
を使用して行います。
操作方法は明快で、戸惑うようなことはありませんでした。
すべて回答したら、簡単なアンケートに答えて、提出します。結果はすぐに表示され、合否や点数などがわかります。チャットにて「点数や詳細な結果を世に公開してはならない」と試験官から念押しされました。
それから数十秒後に、自動的に PSI Bridge Secure Browser が閉じてしまいました。試験官によって閉じられたものと思われますが、結果をしっかり読むことができませんでした。
結果連絡
試験終了から 18 時間ほど経って、改めて結果がメールで通知されました。
感想
Terraform の理解を深める、よい試験だと思いました。
長年使っていながら知らない機能やコマンドも多く、体系的な理解を深める一助になったと思います。ぜひ皆さんも受験してみてください。
参考にした記事
- https://zenn.dev/cappyzawa/articles/95aa407d79dd5d
- https://zenn.dev/valmet083/articles/a335281205d865
- https://future-architect.github.io/articles/20200629/
- https://tech.devopslead.jp/knowledge/passed-terraform-associate-002-in-entrance/
- https://kakakakakku.hatenablog.com/entry/2023/07/10/085803
- https://ccie-go.com/terraform-associate-fastest-pass/