会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

モジュール ― 構成を部品にして、取り寄せ先とバージョンを決めて使い回す

目安学習時間 25分

課題

全問正解でレクチャー完了です。

【問題1】

子モジュール network が output vpc_id を出しています。親モジュールからその値を参照する書き方はどれですか。

[選択肢]

【問題2】

version 引数でバージョンの制約を書けるモジュールの source はどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

モジュールとは

.tf のファイルを置いたディレクトリが、1つのモジュールです。terraform コマンドを実行するディレクトリがルートモジュール、module ブロックで呼び出すものが子モジュールです。同じ形のネットワークやサーバを、何度も書かずに済みます。

source で取り寄せ先を決める

  • ローカル … ./modules/network のような相対パス
  • レジストリ … 名前空間/名前/プロバイダ の形(公開のレジストリ、またはプライベートレジストリ)
  • Git … git:: で始まる URL。?ref= でタグやブランチやコミットを指定する
  • ほかに、オブジェクトストレージなども使える

source を足したり変えたりしたら、terraform init でモジュールを取り寄せ直します。

version はレジストリのモジュールだけ

version には、プロバイダと同じ書き方の制約(たとえば ~> 3.0)を書きます。ローカルのパスには付けられず、Git は ref で固定します。

変数のスコープ

  • 子モジュールは、module ブロックで渡された入力変数しか見えない。親の変数を勝手には読めない
  • 親は、子が output で出した値を module.名前.出力名 で受け取る
  • 子の中の resource を、親から直接参照することはできない

このレクチャーで学ぶこと

  • ルートモジュールと子モジュールの関係
  • source の種類(ローカル・レジストリ・Git)と書き方
  • version 引数を使える場面と、バージョンの固定
  • 入力変数と出力で値を受け渡すスコープの考え方

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。