Terraform Associate を受験したら受験前が修羅場過ぎた件

# はじめに
- AWS等メジャーな資格に比べ受験ブログが少なく、私自身も受験前や当日に大変...大っ変苦労したため、怖がらないでほしい思いを込めてTerraform Associate試験の受験体験記を記しました
- リモート受験は嫌いになっても、Terraformを嫌いにならないでください！！

:::note alert
リモートで受けるとシステム的な問題が発生しやすいという話を数多く聞いてきましたので、できることならテストセンターで受けたいと思いつつ、本試験はリモート受験にしか対応していなかったので、やむなくリモート受験してきました

ええ、案の定でした(´;ω;｀)
:::

# Terraform Associate試験について
https://developer.hashicorp.com/certifications/infrastructure-automation
## 試験概要
- 評価タイプ：複数選択
- 形式：オンライン監督付き
- 受験時間：1時間
    - ただし、日本人で英語が堪能でない場合は+30分の猶予がもらえ、合計90分かけられます
    - 今回私も+30分猶予をいただきました
    - 受験において、英語が堪能でないことの証明？は特に求められなかったです(身分証やタイムゾーンから判断？)
- 価格：$70.50で大体1万円くらい
- 言語：英語...そう、All Englishです
- 有効期限：2年
- 合格ライン：
    - 公言されていませんが、様々なブログ等を見ると70%あたりのようです
        - が、試験レポートには、点数どころか点数を推測できる要素が何も記載されていませんでした
    - その代わり、以下に記載している試験内容の章ごとに、以下3つのLevelで評価が記されていました
        - Meets Expectations(期待値を満たしている)
        - Review Needed (復習が必要)
        - Intense Study(集中的な学習が必要)
## 試験内容
### 1. Infrastructure as Code (IaC) の概念を理解する
- IaCとは何かを説明する
- IaCパターンの利点を説明する
### 2. Terraform の目的を理解する（他のIaCツールとの比較）
- マルチクラウドとプロバイダー非依存の利点を説明する
- ステートの利点を説明する
### 3. Terraform の基本を理解する
- Terraformプロバイダーのインストールとバージョン管理
- プラグインベースアーキテクチャを説明する
- 複数のプロバイダーを使用したTerraform設定の記述
- Terraformがプロバイダーを検索・取得する方法を説明する
### 4. コアワークフロー以外でのTerraformの使用
- 既存インフラストラクチャをTerraformステートにインポートするためのterraform importを使用するタイミングを説明する
- terraform stateを使用してTerraformステートを表示する
- 詳細ログを有効にするタイミングとその結果・価値を説明する
### 5. Terraformモジュールとの連携
- パブリックTerraformモジュールレジストリを含む、異なるモジュールソースオプションの対比と使用
- モジュールの入力と出力との相互作用
- モジュール/子モジュール内での変数スコープを説明する
- モジュールバージョンの設定
### 6. コアTerraformワークフローの使用
- Terraformワークフロー（記述 → 計画 → 作成）を説明する
- Terraform作業ディレクトリの初期化（terraform init）
- Terraform設定の検証（terraform validate）
- Terraformの実行計画の生成と確認（terraform plan）
- Terraformでインフラストラクチャへの変更を実行（terraform apply）
- Terraform管理インフラストラクチャの破棄（terraform destroy）
- 設定へのフォーマットとスタイル調整の適用（terraform fmt）
### 7. ステートの実装と保守
- デフォルトのローカルバックエンドを説明する
- ステートロッキングを説明する
- バックエンドとクラウド統合の認証方法を処理する
- リモートステートバックエンドオプションを区別する
- リソースドリフトとTerraformステートの管理
- 設定におけるバックエンドブロックとクラウド統合を説明する
- ステートファイルでの秘密情報管理を理解する
### 8. 設定の読み取り、生成、修正
- 変数と出力の使用を実演する
- セキュアな秘密情報注入のベストプラクティスを説明する
- コレクション型と構造型の使用を理解する
- リソース設定とデータ設定の作成と区別
- リソースアドレッシングとリソースパラメータを使用してリソース同士を接続する
- HCLとTerraform関数を使用して設定を記述する
- 組み込み依存関係管理（実行順序ベース）を説明する
### 9. HCP Terraformの機能を理解する
- HCP Terraformがインフラストラクチャ管理にどのように役立つかを説明する
- HCP Terraformがコラボレーションとガバナンスをどのように可能にするかを説明する
## 公式参考サイト
- [リスケ/キャンセルポリシー](https://hashicorp-certifications.zendesk.com/hc/en-us/articles/360049695631-How-do-I-reschedule-or-cancel-my-appointment)
    - AWS同様、24時間前がリミットのようです
- [HashiCorp試験のよくある質問](https://hashicorp-certifications.zendesk.com/hc/en-us)

# 筆者ステータス
## Terraformとの関係性
- 2年ほど前から独学で勉強を開始
- 仕事として使いたい！と利便性と業務効率を説くも取り入れてもらえず、結局マネジメントコンソールしか使わせてもらえていない...

## 英語力
- TOEIC:500点未満(2025年受験)
    - 具体的数値を記載すると本人が悲しくなってしまうので、これくらいで勘弁してください

# 受験準備
## 参考書
以下を読んでいます。特に上二つ
- [［詳解］AWS Infrastructure as Code――使って比べるTerraform＆AWS CDK エンジニア選書](https://amzn.asia/d/0WfJxep)
- [Terraformの教科書 (Compass Booksシリーズ)](https://amzn.asia/d/84Dgbp0)
    - これが試験の対策本という立ち位置らしい？
- [詳解 Terraform 第3版 ―Infrastructure as Codeを実現する](https://amzn.asia/d/gKXWuMl)
- [基礎から学ぶ Terraform](https://amzn.asia/d/cL01XYt)
- [実践Terraform　AWSにおけるシステム設計とベストプラクティス](https://amzn.asia/d/5q6cZ4q)

## Udemy
基本はこちらを繰り返し
- [HashiCorp Certified: Terraform Associate Practice Exam 2025](https://www.udemy.com/course/terraform-associate-practice-exam/?couponCode=LOCLZDOFFPJPTRMT)

## 勉強方法
- 前述の参考書はこの試験勉強用、、というより過去読んだものでした
- そのため、試験を受けるために意識的にした！というのはほぼUdemy + 個人的にTerraformコードを書くことです
- Udemy受講に関して、日本語の試験対策問題は学習開始時点では存在していなかったので、やむなく英語問題集を購入しています
    - 何なら本番がAll Englishかつ翻訳不可なので、いっそ好都合と思うことにしました
- 繰り返し受験するだけでなく、以下も参考に使いながら移動時間中の復習を効率化しています
    - [Cline×Claude 3.7を活用した具体的な勉強法](https://qiita.com/takuma818t/items/2f1a79e6003e4053c9bc#clineclaude-37を活用した具体的な勉強法)
    - 私はClineではなく、Claude Pro(web版)を、レートリミットに何度も引っ掛かりながら使用していました
- また、技術的な内容を理解するだけでなく、少なくとも回答に必要な英語力は最低限身に付ける必要があったため、以下のプロンプトでClaude Opus 4(新モデル様々)にお手伝いいただきました
    ただ、しっかりまとめてくれるものの、1問あたりpdf換算5-10ページになってしまうため、重複箇所やこれはわかる、という部分は手動で行削除しています
    そうしないと分量がえげつないんですよね...
    ```
    Terraform Associateの問題文と選択肢、解説を英文で提供します。
    以下の要件でmarkdown形式にまとめてください：

    【要件】
    1. 英語力向上と技術知識習得の両方を目的とする
    2. 各選択肢に日本語での詳細解説を追加
    3. 英語のポイント(重要表現の意味)を明記
    4. 技術的な概念の対比を分かりやすく説明
    5. 重要語彙の英日対訳表を含める
    6. 文字化けリスクのある記号は使用しない(丸括弧等を使用)

    【構成】
    - 問題文(日本語訳付き)
    - 各選択肢の正誤と詳細解説
    - 総合的な技術解説
    - 重要語彙集
    - 学習ポイント
    ```

# 受験申込
- 以下サイトの、"Register for the exam"から申し込みましょう
    - [Terraform Associate (003)](https://developer.hashicorp.com/certifications/infrastructure-automation)
- 海外試験を受けるにあたって一番不安になる、その申し込み時間ってどこのタイムゾーン？？？についてですが、、
    - カレンダー画面で、"Asia/Tokyo"となっていれば大丈夫そうです
    ![申し込み画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1276335/2b999f3a-1500-4389-8431-1c0297f19e22.png)
    - なお、24時間に近いタイムゾーンで選択できてしまうため、AM/PMにも全力で注意しましょう
    - あえて言うことではないですが...
        - AM:午前
        - PM:午後
        - ですよ？


# 受験日
## 受験会場
- 自宅は荷物であふれかえっているため、整理が無謀、、ということもあり、会社で受験しています
- できる限り荷物は少ない方がよいだろう、、ということで以下のような個室ブースを使用しました
    https://www.kokuyo-furniture.co.jp/products/office/workpodflex/
- 外から見える状態であること、また画像のようにディスプレイがある状態でしたが、特段指摘はありませんでした
    - 机の上には、ディスプレイ、消臭グッズ、電源タップ、スマホ置きが備え付けられていました

## 受験システム
- PC
    - MacBook Air
    - Google Chrome
- ネットワーク
    - iPhone 14によるテザリング
    - 会社の3階、かなりな窓近だったからできたこと、、なのかもしれません
    - 特段遅延の発生は感じませんでした

## 時系列

:::note warn
規約に触れないよう、ただ、できる限り参考になるよう
受験体験について語っています

本人の焦りを含めてご覧ください
:::

### 受験開始まで

1. 私は10時から受験開始でしたので、30分前には準備をしておこうと、40分前の9時20分には個室ブースに入室しました
2. 事前に実施済みではありましたが、念には念を入れて、再度システムテストを実施しています
    - [システムテストサイト](https://certiverse.com/#/compatibility/LiveSEB)
    - カメラ、マイク、画面共有などなど含めてすべてOKでした　←これが何一つ信頼できなかったというのがこの後の話...
3. 過去の受験者ブログで、受験時間の30分前から受験サイトにアクセスできるようになったという記載があったので、9時30分からサイトへアクセス
    以下の経路でアクセス
    1. [Infrastructure Automation Certifications](https://developer.hashicorp.com/certifications/infrastructure-automation)
    2. "Register for the exam"をクリック
    3. HashiCorpサイトにログインしていない人はログイン
    4. 画面左の"SCHEDULE/TAKE EXAM"より"Exam Platform"をクリック
    5. "GO TO CERTIVERSE EXAM PLATFORM"をクリック
    6. GitHubにログインしていない人はログイン
    7. "MY EXAM"をクリック
    8. (ここから記憶だより...)受験する項目にある"Start"をクリック
4. 【問題1】以下エラーが発生
    ```
    An error occurred. The reservation is not within the initial launch window.
    ```
    - 以下を試してみましたが改善なし、、
        - F5更新
        - GitHubリログイン
        - HashiCorpリログイン
        - 不要なアプリを終了(これは終了漏れてました。本来は消さないとこの後指摘されます。もちろん指摘されました)
        - 仮想デスクトップを1つだけに
            - この時仮想デスクトップを5つ立ち上げており、受験ブラウザは右から1つ目の仮想デスクトップで動かしていました(つまりinitialじゃない？？)
            - "initial launch window"とのことだったので...
5. 4の状態で15分ほど経過(この時9時45分ごろ)したところでなぜかエラーが解消し、アクセス成功
6. 【問題2】システムチェックが走り、カメラ、マイク、画面共有などなどが正常か、チェックが走ります
    - が、直前のチェックでは何一つ問題がない評価だったにも関わらず、マイクでエラーが...
    - 画面更新や、ブラウザの権限を確認しブロックとなっているものを全許可していくことでマイクがチェックOKとなりました
    - マイクはもちろん権限が許可になっていました
    - なお、結局何がブロッカーだったのかはわかってないです
    - 時間が解決したのか、権限の問題だったのか...
7. 初期同意画面が表示
    - 初期同意は、"電子機器持ち込まないで"、"しゃべらないで"、"水はもちこんでいいよ"などでした
8. 同意すると、試験官からチャットが飛んできます(ここからセキュアブラウザが表示され、時間は感覚で大体9時50-55分あたり)
9.  【問題3】身分証(今回は免許証)を提示してカメラに映したところ、チャットでコメントが出てこなくなり...
    1. しばらくすると、もっと近づけろ(多分)という指示が来たのでゆっくり動かしてみたりしたのですが音沙汰がなく、困った私は英語力をフル活用して以下をチャット
        ```
        Is it OK?
        ```
    2. その結果、ダメそうではあるものの、何がダメか全くわからない英文が飛んできて大変困りました...
10. 【救世主1】とそこで、(確か)チャット画面の右下に翻訳的なボタンがあるではないですが
    1.  クリックしてみると日本語が選択できたんですねぇ
    2.  これ幸いとクリックしてみたのですが、チャットは日本語化されませんでした(´;ω;｀)
11. 【救世主2】そんな時何とはなしに右クリックすると、chromeらしき"日本語に翻訳"があるではないですか！！！
    1.  これ幸いと翻訳してみたところ、無事翻訳されてくれました
    2.  結果、不鮮明だからなんとかしてくれ、ということ
    3.  カメラをハンカチで拭いたりして試行錯誤していたら...
    4.  おそらく読めたのでしょう、次へ進みました
    5.  ここでいつまでも翻訳は使ってはいけないのか？？ということで英語に戻しています
12. 【救世主1再び】試験官からチャットで、周辺と机の上をカメラで映すよう指示がありました
    1.  そう、日本語で！！です
    2.  チャットの翻訳ボタンは、過去含めて翻訳ではなく、その後のチャットを翻訳してくれる類のものだったようです
    3.  なお、私のチャットを翻訳してくれるかはわからなかったので、拙い英語力を最大限発揮して英語で回答しています。つらい
13. ということで、PCを持ち上げ、反時計周りに部屋を一周、天井、机の上と映していきました
    1.  その後、動きが速すぎたのか部屋をもう一度映すように指示があり、再度ぐるっと
14. 続けて机の下を映すよう指示があり対応
15. ブラウザ以外のアプリを終了するよう指示があり、どや顔で以下をチャット
    ```
    I'd finished application without Browser.
    ```
    が、止まってないよとチャットが届いて、冷や汗をかきつつ確認するとほんとに停止していないものがあったので停止
    再度以下をチャットすることで次へ
    ```
    Is it OK?
    ```
16. 電子機器は部屋の外に出してというチャットが届いたので、テザリングが止まらないか不安になりつつiPhoneを部屋の外へ
17. 何か質問はある？と聞かれたので何もないよと回答すると、受験が始まりました(この時体感としては開始時間の10時は過ぎていたように思います)

### 受験中
と言いつつ、受験中は特段問題も発生せず(これわからん！！という問題は発生しましたが)、時間いっぱい、90分使い切って解き切りました

### 受験後
1. よくあるアンケートを回答
    - Googleフォームが埋め込まれていて、それに回答するスタイルです 
    - ただ、これはGoogle翻訳ができませんでした...
2. アンケートに回答すると..."Pass"の文字が！！！！
3. これって"Passed"じゃないの？？という不安

# 後日談
- 受験から約12時間後、無事合格のメールと、HashiCorpのサイトに合格の表示がされ、正式に合格となりました

![Pass.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1276335/67ad1fc9-6050-49b6-b0bc-76d818d5279d.png)

- 前述した試験レポートでは、3段階のレベルのうち、「期待値を満たしている」と「復習が必要」という評価のみが含まれており、「集中的な学習が必要」という評価は含まれていませんでした
    - 問題数に対する正解率で合否が決まるのか、それとも一つでも「集中的な学習が必要」が含まれているとアウトなのか...
    - 何はともあれ、まんべんなく学習をしておくことが吉ですね！！

# おわりに
- やむを得なかったとはいえ、本当にリモート受験はしたくないと強く思いました
- HashiCorpさーーーーん！！！！テストセンター使いませんかーーーーーー！！！！！
- 皆さんも焦らず、最後まで(受験開始まで)諦めず、あらゆる手を使って受験できるようにしましょう

:::note info
【再掲】リモート受験は嫌いになっても、Terraformを嫌いにならないでください！！
:::

# 参考
参考にさせていただいた受験ブログ
- [寝室で Terraform Associate (003) を受験した](https://qiita.com/luigibanzai/items/57b377ba09f662b64389)
- [Terraform の認定試験「HashiCorp Certified: Terraform Associate (003)」に合格した](https://kakakakakku.hatenablog.com/entry/2023/07/10/085803)
- [HashiCorp Terraform Associate / Vault Associate 試験に合格しました](https://techblog.ap-com.co.jp/entry/2024/02/14/120000)
- [認定資格 HashiCorp Certified: Terraform Associate の対策にも使える「Terraform の教科書」を読んだ](https://kakakakakku.hatenablog.com/entry/2024/05/06/124621)
- [【身分チェック失敗あり】Terraform Associate(003)受験記](https://blog.serverworks.co.jp/terraform-associate-experience)