HashiCorp Certified: Terraform Associate 問題集

HashiCorp Certified: Terraform Associate (004) 試験対策公式 Exam Objectives(Terraform Associate 004・Terraform 1.12)準拠

HashiCorp Certified: Terraform Associateの日本語問題集。全180問に解説つき。模擬試験は60問・60分です。

試験の概要(問題数・試験時間・出題範囲と配点)を見る

HashiCorp Certified: Terraform Associate 無料問題 7 / 10 ・ 分野5: Terraform modules

エンジニアが module ブロックに source = "/home/alice/modules/vpc" と書き、構成は自分のノート PC で動いた。module ブロックのリファレンスは、この source について何と書いているか。

  1. Terraform は git で clone する。動いている手元のシステムの Git の設定を使う
  2. Terraform はレジストリのアドレスとして読む。前に ./ の接頭辞が無いため
  3. Terraform はモジュールのキャッシュに写すが、ページはこうしたパスを勧めない
  4. Terraform はエラーで止まる。ローカルのパスは ./ か ../ で始める必要があるため
正解と解説を見る

正解: C

正解の理由
module ブロックのリファレンスは、Terraform がモジュールを入れられる source の種類の1つにローカルのパスを挙げている。ディスクにあるファイルからモジュールを入れるには、source = "./consul" のように ./ や ../ の接頭辞の後にローカルのモジュールのソースコードへのパスを書く。同じ節は、/ やドライブ文字で始まるパスを Terraform は絶対パスと見なし、絶対パスで指定したモジュールはパッケージとして手元のモジュールのキャッシュに写すと書いている。そのうえで、ファイルシステムの絶対パスで Terraform のモジュールを指すことは勧めないとしている。構成が特定のコンピューターのファイルシステムの配置に縛られるからである。問題のパスはエンジニアのノート PC にあるので、ほかのエンジニアや CI のシステムでも同じ場所に同じフォルダーが要ることになる。

違う選択肢
「Terraform はレジストリのアドレスとして読む。前に ./ の接頭辞が無いため」… ページは、/ やドライブ文字で始まるパスを Terraform は絶対パスと見なすと書いている。/ で始まるパスは、<NAMESPACE>/<NAME>/<PROVIDER> のレジストリのアドレスではなく、ファイルシステムの絶対パスとして扱われる。
「Terraform は git で clone する。動いている手元のシステムの Git の設定を使う」… 手元の Git の設定で git clone を実行するのは、GitHub・Git・Bitbucket の source をインストールするときのやり方である。/ で始まるパスは絶対パスと見なされ、Terraform はモジュールをパッケージとして手元のモジュールのキャッシュに写す。
「Terraform はエラーで止まる。ローカルのパスは ./ か ../ で始める必要があるため」… ./ や ../ の接頭辞はディスクにあるファイルからモジュールを入れる書き方だが、ページは、/ やドライブ文字で始まるパスを Terraform が絶対パスと見なすとも書いている。そのパスは受け付けられ、ページはそれを勧めていないだけである。

ローカルのパスは相対で
ローカルのモジュールは ./ か ../ を使う。絶対パスも受け付けられ、モジュールのキャッシュに写されるが、構成を1台のマシンに縛る。

HashiCorp Certified: Terraform Associateの演習アプリ(無料10問・全問は購入で)へ

問題集(note)を見る