参考: https://qiita.com/minamijoyo/items/92c094b554d090b54a17
公式ドキュメントは?
- 2026-09-14 時点で plan のリファレンス には未掲載
- 一次情報は Terraform の CHANGELOG(v1.17.0、未リリース)
A new
-minimal-refreshplanning option has been added, which will only refresh resources that have proposed changes. (#35290)
何をする?
- 通常の plan: 全リソースを refresh(API で実環境の状態を取得)→ リソースが多いと遅い
-minimal-refresh: 変更するリソース(と依存するリソース)だけ refresh → 速い- 記事の検証: 200+ リソースで 45〜50 秒 → 3〜5 秒
なぜ「ローカルは -minimal-refresh、CI は通常 plan」が無難?
- 変更しないリソースは refresh されない → コンソールでの手動変更などのドリフトに気づけない
- 変更するリソース自体は refresh されるので、今回の apply が壊れるわけではない
- CI の plan は apply 前の最後のレビュー。ここで全体のドリフトを出しておきたい
CI も速くしたいなら
- PR の CI は
-minimal-refreshにする - 代わりに main で定期的(例: 毎日)に通常の plan を回し、ドリフト検知はそっちに任せる