こんにちは。SCSKのふくちーぬです。
みなさんは、Terraformを利用してAWSやAzureのリソースを作成したことはありますでしょうか。
本記事では、Terraform Associate認定試験に合格するためのポイントをご紹介します。
Terraformとは
Terraformとは、AWSやAzure,GCP等のマルチクラウドに対応したIaCツールとなります。
またTerraformは、オープンソースであり開発が非常に速いため、Terrafom CLIのバージョンアップも頻繁に行われます。バージョンアップにより使用できるコマンドや機能等も増えています。そして、Terraform Associate(003)が2023/4/5から受験可能になりました。
本記事の内容は、2023/2/16にてTerraform Associate(002)試験を合格した際の記録となります。最新の情報は、ぜひTerraform Associate(003)試験に合格されたkakkuさんや公式サイトの情報をご確認ください。
試験概要
以下が試験概要です。
受験費用 | USD 77.5 |
試験会場 | オンライン試験のみ(※AWSやAzureのようにテストセンターでは、受験できないのでご注意ください。) |
言語 | 英語のみ |
試験形式 | 57問(選択式、一部コマンドの記述) |
試験時間 | 60分 |
合格得点率 | 不明/100%(おそらく70%程度だと思われます。) |
Terraform Associate(002) vs Terraform Associate(003)
試験自体は新しくなったようですが、内容に大きな変化等はありません。具体的には、非推奨のコマンドに関する問題が出題されなくなり、Terraform Cloudに関する問題をさらに理解しておく必要があります。
既にTerraform Associate(002)を保有している方も、わざわざ再受験する必要はなく、胸を張って資格を持っていることをアピールして問題ありません。
- local-exec,remote-execコマンドの出題がなくなった
- terraform taintコマンドが非推奨になったため、terraform apply -replace等のオプションを利用すること
- Terraformロックファイルの内容と更新方法の理解
- sensitive値を含む機密情報の扱い方
- Terraform Cloudの仕組みと記述方法及びチーム間連携の方法
出題分野
-
コードとしてのインフラストラクチャ (IaC) の概念を理解する
-
Terraform の目的を理解する (他の IaCツール(主にCloudformation)と比較して)
-
Terraform の基本を理解する
-
Terraform CLI を使用する
-
Terraform モジュールとやり取りする
-
Terraform ワークフローをナビゲートする
-
stateの実装と維持
-
構成ファイルの読み取り、生成、および変更
-
Terraform Cloud と Enterprise の機能を理解する
学習教材
Udemy講座
1つ目が、以下のUdemyの講座を受講して、Terraformを使用したAWSリソース構築に取り組みました。
Terraform Associate試験用の講座ではないものの、Terraformで使用する基本コマンドやtfstateファイルについて分かりやすく説明しているのでおすすめです。
HashicCorp公式チュートリアル
2つ目が、HashiCorpが提供している公式チュートリアルに取り組みました。
試験範囲をすべて網羅しているので、Terraformの仕様について詳しく学ぶことができます。試験で実際に問われた内容も、チュートリアル内にあったかと思います。
勉強方法と勉強時間
20時間ほど勉強時間を割きました。
-
Udemy講座を通して、Terraformを使用してテンプレートを記述,リソース構築,削除の流れを理解し、コマンドを体に染みこませる。⇒14時間
-
公式チュートリアルを通して、Terraformコマンドの仕様やTerraform Cloudの使い方を理解。⇒4時間
-
上記で不明な点等あれば、公式ドキュメントを読む
少々バージョンが古いですが、Kindle unlimitedに加入している方は無料なので、こちらも参照してみてください。
当日の試験会場・試験内容
試験会場
以下のサイトから、試験を予約できます。申し込みが完了すると、試験サイトへの案内リンクが含んだメールが届きます。
試験には、GitHubのアカウントが必要なため、アカウントを持っていない方は、事前に作成しておきましょう。
試験会場は、自宅の廊下で受験しました。
私の部屋のリビングは散らかっており、片づけるのが面倒であったため、自宅廊下にて受験しました。
受験開始までの流れ
メールアドレス内の案内リンクをクリックすると、PSIの試験サイトに飛ばされます。試験の30分前からアクセス可能なため、なるべく早くアクセスしましょう。
カンニング防止やオンライン監視を実現するために必要な、PSI専用のセキュリティソフトをダウンロードします。
セキュリティソフトを立ち上げると、音声チェックと他アプリの起動確認が自動で実施されます。どちらもチェック済みにならないと、試験が開始されないので注意してください。
基本的には、タスクマネージャーで起動しているプロセスを選択して”タスクの終了”すれば問題ないはずです。
※自分の場合は、タスクマネージャーで対処しても、バックグランドで”vmwep.exe”が起動し続けていたため、一向に試験が始まりませんでした😢
拙い英語ですが、
“I Couldn’t terminate process(vmwep.exe). Would you take care of it?”
とチャット入力しました。。
すぐにはチェック済みにはなりませんでしたが、しばらくするとチェック済みになりました!(チャットでは返事はなかったので、誰がどのように対処したのかは不明ですが、裏で上手く対応してくれたのかなあ?)
やっとここから試験会場の撮影となります。部屋の上下左右、自身の腕、眼鏡、耳、机の上下等を5回ほどに分けて撮影します。最後に、スマホを自身の後ろに置いた様子を撮影します。
全ての撮影においてゆっくりカメラを動かさないと、試験官のチェックが通らず再撮影を求められるのでご注意ください。
ここまでの内容が全て問題なければ、チャットで試験開始のアナウンスがされるので、やっと試験スタートになります。
認定試験のポイントと結果
認定試験のポイント
出題分野に沿って、ポイントをまとめます。
-
コードとしてのインフラストラクチャ (IaC) の概念を理解する
-
IaCの原則
-
-
Terraform の目的を理解する (他の IaCツール(主にCloudformation)と比較して)
-
Terraformを利用することの利点(Terraformを利用することで、AWS及びAzureに、同様の記述方法でデプロイが可能となる)
-
-
Terraform の基本を理解する
-
providerのバージョン指定方法
-
-
Terraform CLI を使用する
-
terraform taintコマンドの意味と使いどころ
-
terraform importコマンドの使い方(既存リソースのterraformファイルへの取り込み方)
-
-
Terraform モジュールとやり取りする
-
親モジュールと子モジュールの呼び出し方
-
-
Terraform ワークフローをナビゲートする
-
右記の一連の流れをそれぞれ理解する(terraform init(初期化) → terraform fmt(フォーマット) → terraform validate(構文チェック) → terraform plan(実行計画) → terraform apply(デプロイ) → terraform destroy(削除))
-
-
stateの実装と維持
-
tfstateファイルと実際のインフラリソースとの差異について
-
tfstateファイルの管理方法(s3+DynamoDB,Terraform Cloud)
-
-
構成ファイルの読み取り、生成、および変更
-
Dynamicブロックを使用した、動的記述方法
-
-
Terraform Cloud と Enterprise の機能を理解する
-
Terraform Cloudを利用したチーム開発,ワークスペースの使用方法
-
sentinelを使用したポリシー制限
-
試験結果
84%/100%で合格でした。
IaCの基本的なところで、点数を落としていたのがショックでした。。
自分では理解しているつもりでしたが、英語のニュアンスを読み取ることが難しかったような気がします。IaCの基本から復習する良い機会になったのかもですね。
最後に
いかがだったでしょうか。上記の学習教材を学習することで、合格に近づくことができます。
試験を受けてみて、Terraformを使用して、AWSへのリソースをデプロイすることができるようになりました。次は、他クラウドやKubernatesへのデプロイも実践してみようと思います。
本記事が皆様のお役にたてば幸いです。
ではサウナラ~🔥