30秒で判断
- 対応すべき人: Terraform 1.16.x を運用中で、
create_before_destroyを使うリソースがある /sensitiveなどの marks が付いた値を関数やバリデーションで扱う /importブロックやterraform importを利用しているチーム。 - 対応不要な人: Terraform を利用していない、または 1.15 以前の系列で運用しており当面 1.16 へ移行しない場合。破壊的変更はないため急ぐ必要はありません。
- 確認コマンド:
terraform version
この変更が意味すること
Terraform v1.16.3 は v1.16.2 に続く 1.16 系のバグ修正リリースです。新機能の追加はなく、4件のバグ修正に絞られています。
今回の修正は、create_before_destroy を伴うリソースの破棄判定、marks(sensitive や ephemeral として値に付与されるマーク)が複数付いた値の比較・バリデーション、そして import のプロバイダ解決という、いずれもプラン計算の正確性にかかわる領域です。誤った plan/apply や検証エラーの原因になり得た挙動が是正されているため、該当機能を使っている構成では取り込みの価値があります。破壊的変更はないため、1.16 系利用者は安心して適用できます。
主な変更点
create_before_destroy 周辺の destroy=false 処理を修正(#39169)
create_before_destroy が設定されたインスタンスに対して destroy=false を扱う際のハンドリングを修正しました(#39169)。置き換え(先に作成してから破棄)を伴うリソースのライフサイクル計算がより正確になります。
複数 marks 付き値の関数結果比較を修正(#39170)
値に複数の marks が付いている場合に、関数の実行結果の比較が正しく行われない不具合を修正しました(#39170)。
複数 marks 付き値のバリデーション誤判定を修正(#39171)
marks のフィルタリングロジックに起因して、複数の marks を持つ値がバリデーションで誤って失敗してしまう問題を修正しました(#39171)。sensitive 値などを条件に含む variable/output のバリデーションが正しく評価されます。
import のプロバイダ解決を修正(#39185)
インポート時のプロバイダ解決に関する不具合を修正しました(#39185)。import ブロックや terraform import を用いた既存リソースの取り込みが安定します。
EOL / サポート状況
| サイクル | 最新バージョン | EOL |
|---|---|---|
| 1.16 | 1.16.3 | - |
| 1.15 | 1.15.9 | - |
| 1.14 | 1.14.9 | 2026-08-26 (EOL済) |
| 1.13 | 1.13.5 | 2026-04-29 (EOL済) |
| 1.12 | 1.12.2 | 2025-11-19 (EOL済) |
1.16 / 1.15 はアクティブにサポートされています。旧安定版の 1.14 は 2026-08-26 にEOLを迎えているため、1.14 以前で運用中の場合は 1.15 / 1.16 系への移行を検討してください。
開発者への影響
- create_before_destroy を使う構成: 置き換えを伴うリソースの破棄判定が正確になり、想定外の plan 差分を抑えられます。
- sensitive 値を扱う構成: 複数 marks 付き値の比較・バリデーションが正しく評価されるため、
sensitiveを条件に含むバリデーションの誤検知が解消されます。 - import を活用する構成:
importブロック/terraform importでのプロバイダ解決が安定します。 - 破壊的変更なしで安全: 純粋なバグ修正のため、1.16 系からの更新はリスクが低いです。
アップデート方法
# tfenv を利用している場合
tfenv install 1.16.3
tfenv use 1.16.3
# バージョン確認
terraform version
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
