広告スペース(バナー)
🟪Terraform レッスン
Terraformの基本を知ろう5
リソースの定義と検証5
状態(state)を理解しよう4
変数と出力値4
モジュールとワークスペース5
プランの保存と高度な状態管理5
応用的なTerraformの機能8
レッスン 33 / 37

for_each / countとは?

「似たようなリソースを3つ、5つとまとめて作りたい」という人向けです。for_eachcountは、1つのリソースブロックの記述から、複数のリソースをまとめて作成するための仕組みです。

count = 3と書けば、同じ設定のリソースが3つ作られます。for_eachを使うと、リストやマップの値ごとに、少しずつ異なる設定のリソースをまとめて作ることもできます。

例えば環境ごと(開発・ステージング・本番)に同じ構成のS3バケットを作りたい場合、for_eachで環境名のリストを渡せば、同じブロックを3回コピーする必要がなくなります。

よくあるつまずきは、単純な繰り返しにはcount、名前などキーで区別したい場合はfor_eachという使い分けを意識せず、後からリストの順番が変わった際に意図しないリソースの再作成が起きることです。

実務では複数のサブネットやセキュリティグループなど、同じパターンのリソースを効率よく管理するために頻繁に使われます。

Terraform
試してみよう(疑似ターミナルへの入力例)
terraform plan

🧑‍💻 このコマンドは Terraformの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
同じようなリソースを繰り返し作成する方法が理解できるようになります。
広告スペース(バナー)
広告スペース(記事内)