November 2023
Intermediate to advanced
472 pages
7h 12m
Japanese
Terraformは、宣言型言語です。1章で取り上げたように、宣言型言語を使ったIaCは、手続きが他言語を使うよりも実際にデプロイされているものをより正確に表現できるので、意図が分かりやすく、コードベースを小さく保ちやすくなります。しかし、手続き言語を使うよりも難しくなる作業もあります。
例えば、宣言型言語には一般的にはforループがありません。それでは、シンプルなリソースを複数作るといったロジックを、コピーアンドペーストせずに繰り返すにはどうしたらいいでしょうか。また、宣言型言語がif文をサポートしていないなら、あるモジュールのユーザに対してだけ特定のリソースを作り、それ以外には作らないと言った条件分岐を使ってリソースを設定するにはどうしたらいいでしょうか。さらには、宣言型言語を使ってゼロダウンタイムデプロイのような元来は手続き的な考え方を表現するにはどうしたらいいでしょうか。
幸いTerraformは、countメタパラメータ、for_eachとfor文、三項演算子、lifecycleブロックのcreate_before_destroyといったいくつかの要素を提供しています。さらに、ある種のループ、if文、ゼロダウンタイムデプロイを行えるさまざまな関数もあります。この章で取り上げるトピックは次のとおりです。
|
サンプルコード 繰り返しますが、この本のサンプルコードはすべてGitHub(https://github.com/brikis98/terraform-up-and-running-code ... |