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

meta-argument と独自の条件 ― count・for_each・depends_on・lifecycle と検証を使い分ける

目安学習時間 25分

課題

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

【問題1】

本番のデータベースを、誤って削除する plan が作られたらエラーにしたいとき、lifecycle に書く設定はどれですか。

[選択肢]

【問題2】

条件を満たさなくても apply は止めずに、警告だけを出したいときに使うものはどれですか。

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

学ぶ目的

count と for_each

  • count … 数でくり返す。count.index で0から始まる番号を使う
  • for_each … マップか文字列の set でくり返す。each.key と each.value を使う
  • 同じブロックに count と for_each を両方は書けない

count で作ったリストの途中を消すと、後ろの番号がずれて、関係ないものまで作り直す plan になります。名前で区別したいものは for_each が向いています。

依存関係

ほかのリソースの属性を参照していれば、Terraform が作る順番を自動で決めます。参照では表せない依存だけを depends_on に書きます。depends_on は plan を慎重な(変更の多い)ものにしがちなので、最後の手段です。

lifecycle

  • create_before_destroy … 作り直すとき、先に新しいほうを作る
  • prevent_destroy … そのリソースを削除する plan をエラーにする
  • ignore_changes … 指定した属性の差を無視する
  • replace_triggered_by … 指定したものが変わったら作り直す

独自の条件

  • variable の validation … 入力値を確かめ、だめなら error_message を出して止める
  • precondition・postcondition … lifecycle の中に書き、作る前の前提と作った後の結果を確かめる
  • check ブロック … 失敗しても警告を出すだけで、apply は止めない

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

  • count と for_each の違いと、選び方
  • 参照による暗黙の依存と depends_on
  • lifecycle の4つの設定
  • validation・precondition・postcondition・check の違い

質問

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

質問投稿

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