count создаёт N копий по индексу count.index — хрупко при удалении из середины списка; for_each ключует по map/set — стабильные адреса при добавлении/удалении элементов.
Разбор
- for_each предпочтителен для наборов именованных сущностей.
- count удобен для простого «вкл/выкл» (
count = var.create ? 1 : 0).
- Смена ключей for_each = replacement соответствующих экземпляров.
- Нельзя легко «переехать» count→for_each без state mv.
Итог
for_each для стабильной идентичности; count — для простых численных/флаговых случаев.