
2025/12/11 4:14
The future of Terraform CDK
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
改善された要約
HashiCorp は 2025 年 12 月 10 日に Terraform CDK(CDKTF)を廃止します。その日付以降、GitHub リポジトリは読み取り専用となり、以後更新やサポートが行われません。ドキュメントでは非推奨とマークされ、新しい Terraform のリリースやプロバイダー統合は追加されない旨が記載されます。
ユーザーは引き続き CDKTF をそのまま使用するか、自身でフォークしてメンテナンスを継続できますが、移行計画を立てるべきです。主に 2 つの移行ルートがあります:
- HCL の生成 –
を実行して標準的なcdktf synth --hcl
ファイルを出力し、その後 Terraform CLI(.tf
、terraform init
、plan
)で管理します。apply - AWS CDK への切り替え – インフラが AWS サービスと密接に結合されている場合は、直接 AWS CDK エコシステムへ移行する方が一貫性があります。
CDKTF は TypeScript、Python、Java、C#、Go をサポートしています。プロジェクトには主に 2 つのパッケージ(
cdktf-cli と cdktf)があり、Mozilla Public License(MPL)の下でライセンスされています。GitHub リポジトリではビルド手順(yarn install の後にビルド)が提供されており、ドキュメントにはアーキテクチャ、セットアップ、Jest を用いた単体テスト、すべてのサポート言語向けの例、および貢献ガイドラインが含まれています。
CDKTF に依存している組織はワークフローを調整する必要があります。HashiCorp の公式メンテナンス終了により、長期的な安定性に影響が出る可能性があります。コミュニティによるフォークは独自にプロジェクトを継続できるかもしれませんが、サンセット後に新しい Terraform やプロバイダーのサポートは追加されません。
本文
Terraform CDKの未来
サンセット通知
Terraform CDK(CDKTF)は 2025年12月10日 にサンセットし、アーカイブされます。以降は、IBM傘下のHashiCorpがプロジェクトを保守・開発しなくなります。理由は、CDKTF が大規模において製品‑市場適合(product‑market fit)を達成できず、HashiCorp が投資先を Terraform コアとその広範囲なエコシステムへ集中させるためです。
- 2025年12月10日以降はコードが GitHub 上でアーカイブされ、ドキュメントも非推奨(deprecated)状態になります。
- アーカイブされたコードは GitHub 上に残りますが、読み取り専用です。更新・修正・改善(互換性のアップデートを含む)は行われません。
- CDKTF を自己責任で継続して使用できます。Mozilla Public License (MPL) の下で配布されており、追加制限はありません。独自に開発を継続したい場合はコミュニティフォークが奨励されています。
HCL への移行
CDKTF プロジェクトから Terraform 対応の
.tf ファイルを直接生成するには次のコマンドを実行します:
cdktf synth --hcl
これにより読みやすい HCL 設定ファイルが作成され、CDKTF からの移行が容易になります。コマンド実行後は標準的な Terraform CLI (
terraform init, terraform plan, terraform apply) を使用してインフラを管理できます。ただし、生成されたファイルを明確さ・構造・ベストプラクティスに合わせてレビュー・調整する必要がある場合があります。
AWS CDK についての注意点
CDKTF で定義したインフラが AWS CDK と緊密に統合されている場合、AWS CDK エコシステムへ直接移行する方が一貫性を保ちやすいです。AWS CDK を使用していない場合は、長期的なサポートとエコシステムの整合性を確保するために標準 Terraform と HCL への移行を強く推奨します。
FAQ
| 質問 | 回答 |
|---|---|
| CDKTF はまだ開発されていますか? | いいえ。2025年12月10日にサンセットします。 |
| なぜ CDKTF がサンセットされるのですか? | スケールで製品‑市場適合を見つけられず、Terraform コアへ集中するためです。 |
| CDKTF は GitHub から削除されますか? | アーカイブされ非推奨としてマークされます。 |
| サンセット後も CDKTF を使えますか? | はい。ただしコードは読み取り専用で更新はありません。 |
| CDKTF は新しい Terraform バージョンやプロバイダーをサポートしますか? | サンセット後は互換性アップデートは行われません。 |
| 自分で CDKTF をフォークして保守できますか? | 可能です。コミュニティフォークが奨励されています。 |
| 移行ツールはありますか? | を使用して HCL ファイルを生成します。 |
| 顧客に提供できる移行ガイダンスは何ですか? | • AWS CDK と統合されている場合は AWS CDK へ移行。 • それ以外は標準 Terraform と HCL への移行を推奨。 |
Terraform 用 Cloud Development Kit(CDK for Terraform)
Cloud Development Kit for Terraform (CDKTF) は、慣れ親しんだプログラミング言語でクラウドインフラを定義し、HashiCorp Terraform を通じてプロビジョニングできるようにします。HCL を学習せずとも、Terraform のエコシステム全体にアクセスでき、既存のテスト・依存管理ツールチェーンを活用できます。
サポート言語
- TypeScript
- Python
- Java
- C#
- Go
パッケージ
– CDKTF アプリの初期化、インポート、シンセサイズ(合成)を行う CLI。cdktf-cli
– プログラミング構文で Terraform リソースを定義するライブラリ。cdktf
はじめに
言語を選択したら、HashiCorp Learn の CDK for Terraform コレクションにあるハンズオンチュートリアルに従ってください。
ドキュメント
詳細なガイダンスは CDKTF ドキュメントをご参照ください:
- アプリケーションアーキテクチャ – コードを Terraform 設定ファイルへ変換するツールとプロセス、コンポーネントの概要。
- プロジェクト設定 – テンプレートから新規プロジェクトを作成したり、既存 HCL プロジェクトを変換したり。
- ユニットテスト – TypeScript で Jest を使用してテストする方法。
- サンプル – 各言語のサンプルプロジェクト、動画、リソース。
コミュニティ
- CONTRIBUTING.md ガイドに従いフィードバックを送る。
- HashiCorp Discuss の
カテゴリーで質問する。terraform-cdk - バグ報告や機能要望はオープンイシューを確認しながら行う。
ビルド手順
必要条件はドキュメントに記載されています。典型的なビルドステップは以下の通りです:
# リポジトリをクローン git clone https://github.com/hashicorp/terraform-cdk.git # 依存関係をインストール cd terraform-cdk/ yarn install # プロジェクトとパッケージをビルド
これで CDKTF の開発環境が整います。