30秒で判断
- 対応すべき人: Terraform を利用しており、モジュール内
importやterraform_dataの状態保持、リソースアクションの失敗時制御といった新機能を活用したいチーム。 - 対応不要な人: Terraform を利用していない、または現行の 1.15 系で安定運用しており新機能を必要としないチーム。
- 確認コマンド:
terraform version
この変更が意味すること
Terraform v1.16.0 は、1.15 系に続くマイナーバージョンで、実務に効く新機能がまとまって追加されています。破壊的変更を主眼とするリリースではなく、既存の構成を壊さずに新しい表現力・運用手段を追加する内容が中心です。
特に注目は、モジュール内での import ブロックのサポートと、terraform_data に追加された store ブロックです。前者は大規模構成での既存リソース取り込みを大幅に楽にし、後者は揮発的・機微な値を plan と apply の間で保持できるようにします。Provider ごとの計画済みプライベートデータの保存にも対応し、Provider 実装の状態管理がより柔軟になりました。
マイナーリリースのため、まずはテスト環境や検証用のワークスペースでアップグレードし、terraform plan の差分に想定外の変化がないかを確認したうえで本番へ適用するのが安全です。
主な変更点
新機能(NEW FEATURES)
- 計画済みプライベートデータの保存: Provider ごとの計画済みプライベートデータを保存し、plan と apply をまたいで Provider 固有の状態を保持できるようになりました。
terraform_dataのstoreブロック: 揮発的かつ機微な値を plan/apply 間で保持できる新しいstoreブロックを追加しました。- ネストブロックの computed 対応: Provider がネストブロックを computed(算出値)として扱えるようになりました。
- モジュール内
import: モジュール内でのimportブロックがサポートされました。 - Linux s390x バイナリ: Linux s390x(zLinux)向けのビルド済みバイナリが提供されるようになりました。
- リソースアクションの
on_failure: リソースアクショントリガーでhalt/taint/continueのon_failureモードが利用可能になりました。
このほか、terraform state show の改善などのエンハンスメントが含まれます。詳細は公式リリースノートを確認してください。
EOL / サポート状況
| バージョン | 状態 | EOL日 |
|---|---|---|
| 1.16 | サポート中 | 未定 |
| 1.15 | サポート中 | 未定 |
| 1.14 | サポート中 | 未定 |
| 1.13 | EOL | 2026-04-29 |
| 1.12 | EOL | 2025-11-19 |
1.13 以前は既に EOL を迎えています。古いバージョンで運用している場合は、1.14 以降への移行を検討してください。
開発者への影響
- モジュール内
importに対応したことで、これまでルートモジュールに集約せざるを得なかった既存リソースの取り込みを、モジュール構造に沿って整理できます。 terraform_dataのstoreブロックは、外部リソースに書き出さずに機微な値を plan/apply 間で扱いたいケースで有用です。ただし state に保存される点は従来同様なので、state の暗号化・アクセス制御は引き続き徹底してください。- マイナー更新なので、CI/CD で Terraform のバージョンを固定している場合はバージョン制約(
required_version)とツールチェーンの更新を忘れずに行ってください。
アップデート方法
# 現在のバージョンを確認
terraform version
# tfenv を使っている場合(例)
tfenv install 1.16.0
tfenv use 1.16.0
# 差分確認(本番適用前に)
terraform plan
データソース: GitHub Releases API, endoflife.date, npm Registry, PyPI AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
