会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
モジュールとは
.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 引数を使える場面と、バージョンの固定
- 入力変数と出力で値を受け渡すスコープの考え方
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。
#1
未完了
state をチームで共有する ― リモートバックエンドとロックで、同じ state を安全に使う
#2
未完了
ドリフトと state の操作 ― Terraform の外での変更を見つけ、名前の変更を作り直さずに反映する
#3
未完了
既存のインフラを取り込む ― import で管理下に入れ、TF_LOG で原因を調べる
#4
未完了
モジュール ― 構成を部品にして、取り寄せ先とバージョンを決めて使い回す
#5
未完了
式と関数 ― 複合型と for 式と組み込み関数で、くり返しの少ない設定を書く
#6
未完了
meta-argument と独自の条件 ― count・for_each・depends_on・lifecycle と検証を使い分ける
#7
未完了
HCP Terraform ― ワークスペースとプロジェクト、実行の流れとガバナンスを説明する
#8
未完了